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

libfft_sse.a fails to link on mpich-docker-image #297

Closed
zbeekman opened this issue Dec 26, 2016 · 2 comments · Fixed by #310
Closed

libfft_sse.a fails to link on mpich-docker-image #297

zbeekman opened this issue Dec 26, 2016 · 2 comments · Fixed by #310
Assignees

Comments

@zbeekman
Copy link
Collaborator

Attn: @rouson

When trying to build the naiver-stokes integration test, the linker fails with the following output:

/usr/bin/gfortran   -Wl,-rpath  -Wl,/opt/mpich/3.1.4/gnu/6.2.1/lib  -Wl,--enable-new-dtags  -g CMakeFiles/coarray_navier_stokes.dir/coarray-shear_coll.F90.o  -o coarray_navier_stokes -Wl,-rpath,/opt/mpich/3.1.4/gnu/6.2.1/lib  ../../../../../../src/tests/integration/pde_solvers/navier-stokes/libfft_sse.a ../../../../mpi/libcaf_mpi.a /opt/mpich/3.1.4/gnu/6.2.1/lib/libmpi.so /opt/mpich/3.1.4/gnu/6.2.1/lib/libmpifort.so /opt/mpich/3.1.4/gnu/6.2.1/lib/libmpi.so /opt/mpich/3.1.4/gnu/6.2.1/lib/libmpifort.so
/usr/bin/ld: ../../../../../../src/tests/integration/pde_solvers/navier-stokes/libfft_sse.a(trig.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: ../../../../../../src/tests/integration/pde_solvers/navier-stokes/libfft_sse.a(plan.o): relocation R_X86_64_32 against `.rodata.str1.4' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status

I'm a bit perplexed as to why this happens... the linker is saying that -fPIC should be added, but, I thought that the FFT libraries were hand written in assembly... Perhaps this is just a "won't fix" and we should move on...

@vehre
Copy link
Collaborator

vehre commented Dec 29, 2016

When looking into the archive, one sees that GCC 4.8.2 is referenced. That may indicate those libraries have at least been assembled by gcc. Would it be feasible to use system supplied fft-libraries? Getting updates...

@zbeekman zbeekman self-assigned this Jan 13, 2017
@zbeekman
Copy link
Collaborator Author

According to email with @rouson, just remove the test NS test due to the headaches it causes here and elsewhere... I may keep the target but just exclude it from "all" and don't add a CTest test for it.

@zbeekman zbeekman added the ready label Jan 13, 2017
zbeekman added a commit that referenced this issue Jan 18, 2017
 Make it so that NS test can be built on supported platforms, but it
 must be specifically requested, i.e., it is excluded from the "all"
 target. In addition, remove it from the list of tests run by ctest.

 Fixes #297
@ghost ghost added needs-review and removed ready labels Jan 18, 2017
zbeekman added a commit that referenced this issue Jan 18, 2017
 Make it so that NS test can be built on supported platforms, but it
 must be specifically requested, i.e., it is excluded from the "all"
 target. In addition, remove it from the list of tests run by ctest.

 Fixes #297
zbeekman added a commit that referenced this issue Jan 18, 2017
 Make it so that NS test can be built on supported platforms, but it
 must be specifically requested, i.e., it is excluded from the "all"
 target. In addition, remove it from the list of tests run by ctest.

 Fixes #297
zbeekman added a commit that referenced this issue Jan 19, 2017
 Make it so that NS test can be built on supported platforms, but it
 must be specifically requested, i.e., it is excluded from the "all"
 target. In addition, remove it from the list of tests run by ctest.

 Fixes #297
zbeekman added a commit that referenced this issue Jan 19, 2017
 Make it so that NS test can be built on supported platforms, but it
 must be specifically requested, i.e., it is excluded from the "all"
 target. In addition, remove it from the list of tests run by ctest.

 Fixes #297
zbeekman added a commit that referenced this issue Jan 19, 2017
 Make it so that NS test can be built on supported platforms, but it
 must be specifically requested, i.e., it is excluded from the "all"
 target. In addition, remove it from the list of tests run by ctest.

 Fixes #297
zbeekman added a commit that referenced this issue Jan 20, 2017
 Make it so that NS test can be built on supported platforms, but it
 must be specifically requested, i.e., it is excluded from the "all"
 target. In addition, remove it from the list of tests run by ctest.

 Fixes #297
zbeekman added a commit that referenced this issue Jan 21, 2017
 Make it so that NS test can be built on supported platforms, but it
 must be specifically requested, i.e., it is excluded from the "all"
 target. In addition, remove it from the list of tests run by ctest.

 Fixes #297
@ghost ghost removed the needs-review label Jan 22, 2017
zbeekman added a commit that referenced this issue Jan 22, 2017
Changes for resolving issues and release automation

 - Fixes #79
 - Fixes  #297 
 - Add regression test for #243 
 - Add regression for #172 (currently set to pass when test fails)
 - Migrates to use of a `.VERSION` file to make parsing easier for scripts and allow extra comments
 - Adds auto-upload of release assets upon tagging with git, but requires that the tag is PGP signed (`git tag -s <tag> [tree-ish]`)
 - This should compute the SHA 256 checksum and create a detached signature of the cryptographic SHA 256 checksum with an encrypted GPG subway I uploaded to the repo/travis. 🔮 🎩 🐇
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging a pull request may close this issue.

2 participants