Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ScaLAPACK does not build under windows #102

Open
chrispbradley opened this issue Dec 4, 2017 · 12 comments
Open

ScaLAPACK does not build under windows #102

chrispbradley opened this issue Dec 4, 2017 · 12 comments

Comments

@chrispbradley
Copy link
Member

The scalapack library does not currently build under windows. Build out and err files are below. It seems that the Fortran and C parts build but the "....\Debug\scalapack-2.8d.lib" file is not created?

OC_SCALAPACK-build-out.log
OC_SCALAPACK-build-err.log

@hsorby
Copy link
Contributor

hsorby commented Dec 5, 2017

Does the file scalapack-2.8d.lib actually exist on the disk? What happens if you directly build the scalapack library?

@chrispbradley
Copy link
Member Author

No, the dependencies/scalapack/Debug directory is empty. Same problem if you try to build it directly from dependencies/scalapack directory.

4>------ Rebuild All started: Project: scalapack, Configuration: Debug x64 ------
4>Deleting intermediate files and output files for project 'scalapack', configuration 'Debug|x64'.
4>Building Custom Rule D:/OpenCMISS/src/dependencies/scalapack/CMakeLists.txt
4>CMake does not need to re-run because D:/OpenCMISS/build/AMD64_windows/msvc-C19.0-intel-F18.0/msmpi_system/dependencies/scalapack/CMakeFiles/generate.stamp is up-to-date.
4>
4>Build log written to "file://D:\OpenCMISS\build\AMD64_windows\msvc-C19.0-intel-F18.0\msmpi_system\dependencies\scalapack\scalapack.dir\Debug\BuildLog.htm"
4>scalapack - 0 error(s), 0 warning(s)
========== Rebuild All: 4 succeeded, 0 failed, 0 skipped ==========

The referenced build log file just says

Deleting intermediate files and output files for project 'scalapack', configuration 'Debug|x64'.
Building Custom Rule D:/OpenCMISS/src/dependencies/scalapack/CMakeLists.txt
setlocal
"C:\Program Files\CMake\bin\cmake.exe" -HD:/OpenCMISS/src/dependencies/scalapack -BD:/OpenCMISS/build/AMD64_windows/msvc-C19.0-intel-F18.0/msmpi_system/dependencies/scalapack --check-stamp-file D:/OpenCMISS/build/AMD64_windows/msvc-C19.0-intel-F18.0/msmpi_system/dependencies/scalapack/CMakeFiles/generate.stamp
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd
CMake does not need to re-run because D:/OpenCMISS/build/AMD64_windows/msvc-C19.0-intel-F18.0/msmpi_system/dependencies/scalapack/CMakeFiles/generate.stamp is up-to-date.

scalapack - 0 error(s), 0 warning(s)

@hsorby
Copy link
Contributor

hsorby commented Jan 8, 2018

I have not been able to recreate this problem but I have nevertheless made a potential fix that I think is the cause of this issue. If you could update the scalapack src with the latest from the develop branch and re-build, I am hopeful that this issue will be resolved.

@chrispbradley
Copy link
Member Author

I've updated to the latest develop but still no joy the main scalapack lib is not created. The problem can be worked around by going to Visual Studio after the files are genreated. If you manually go to the Project menu for the scalapack project and chose Add Existing Item. You can then add the scalapack-F library (or the scalapack-F and scalapack-C libraries from the previous version where both with OBJECT libraries in CMake). This then produces the scalapack lib on link. This is obviously not the desired solution as it requires manual intervention.

@hsorby
Copy link
Contributor

hsorby commented Jan 11, 2018

Could I have some more information around this issue. I cannot re-create it with the information currently to hand. What is the environment and what method are you using to build this library?

@hsorby
Copy link
Contributor

hsorby commented Jan 11, 2018

Also when you re-built this library did you delete the entire contents of scalapack build directory before you started?

@chrispbradley
Copy link
Member Author

Yes, the entire scalapack was deleted (actually it was a fresh windows build so nothing was there).

The setup is pretty straightforward, Windows 10, VS 2015, Intel compilers installed.

The method was

  1. cd to setup, run cmake-gui, configure, generate, launch VS, build the ALL_BUILD project.
  2. cd to build/manage/Windows, run cmake-gui, ensure that OPENCMISS_MPI is msmpi, configure, generate
  3. Launch VS on the manage solution, build the create_config target, build the build_config target.

Once the manage is done you also get the problem going to the scalapack directory i.e.,

  1. cd build/AMD64_windows/msvc-C19.0-intel-F18.0/msmpi_system/dependencies/scalapack
  2. Lauch VS on the SCALAPACK solution
  3. Build/Rebuild the ALL_BUILD or the scalapack project.

Result is build goes through with no errors until it hits the tests which fail because there is no scalapack/Debug/scalapack-2.8d.lib file.

I don't know if this is caused by the linker optimising out all the symbols because there is no reference to the library symbols in the library?

@hsorby
Copy link
Contributor

hsorby commented Jan 11, 2018

When you execute the first step 1. above do you choose to not automatically start the build also?

@chrispbradley
Copy link
Member Author

Nope, I always build multi-configs builds and thus setup has

-DOPENCMISS_PERFORM_INITIAL_BUILD=False

@hsorby
Copy link
Contributor

hsorby commented Jan 12, 2018

What options do you set in the first step 2 then?

@chrispbradley
Copy link
Member Author

I didn't really set any. I just launched cmake-gui and then set the OPENCMISS_MPI to msmpi as I have Intel MPI installed and so I wanted it to use MSMPI. All the other options were the default. I'll attach the CMakeCache.txt file.

CMakeCache.txt

@chrispbradley
Copy link
Member Author

Just remembered that I also set iron only to on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants