-
Notifications
You must be signed in to change notification settings - Fork 15
libstdc++.so.6: version `GLIBCXX_3.4.20' not found #35
Comments
For reference: reported at #24 (comment) |
I tried running the demo again after trying
|
I get the same error on my system (I also use Arch Linux). I am a bit lost now, since according to that output the stated version of GLIBCXX is indeed available. Investigating... |
I don't understand why it is considering system boost first, and that might actually be the source of the problem: $ strings ~/.miniconda3/envs/fenics_test/lib/libstdc++.so.6 | grep GLIBCXX
LIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH FEniCS is trying to use conda libstdc++, but system boost. I don't know why yet. |
This problem has deeper implications, see also #36 reported by @e-aranda. While it would be important to know why the program is choosing the wrong boost lib, the libstdc++ provided by conda is too old and will probably lead to further problems. I might have to revert the changes - they were made to increase portability, but had the opposite effect. |
Hi @Juanlu001 what is the current status of this issue? |
Hi @CFBaptista, I have some half-backed recipes on the portability branch but I'm still seeing compilation errors at the end of the process (see ContinuumIO/anaconda-issues#483 (comment) and ping @ccordoba12). I cannot push proper packages until I solve that, or find it's not solvable and roll back. |
@CFBaptista I just uploaded new packages to my Anaconda channel, would you please try those and tell me if they work? They don't have VTK support though, which is what complicates portability. I'm closing this issue, feel free to reopen if something goes wrong or open a new one. |
Hi @Juanlu001, it is still not working for me :( I removed the |
Could you try |
The output for running the demo after issuing
but that also doesn't work. The corresponding output can be found in the file named |
I instructed DOLFIN to pick up the right
whereas:
This means that the error is probably in instant, since it's generating extension modules which are linked to the wrong libraries. This is still a bug, I'll have to investigate. |
I suspect it's either a) my fault when building instant, since I don't see how to specify which library directories to use by default or b) FEniCS devs fault if there's no way to do it. I need to ask in the mailing list. I can imagine ugly ways of fixing this but haven't tested them yet, expect a nasty patch tomorrow but probably I will need some time to implement a proper solution. |
Thanks @Juanlu001 for all your efforts! |
Hi @Juanlu001 has there been any progress on this issue? Is a newly installed FEniCS platform via your conda channel usable at the moment? |
Doesn't look like it, I just tried it and get the same error. |
Having the same problem with boost. Since my error message looks more similar to issue #24, I added the comment there. Any progress on this issue? |
Not sure how much it is related to this problem, but I also had a wrong version for boost (and some other perhaps-related perhaps-not problems) on an older system, and after some trial-and-error the following seems to work for me (version 1.4):
It seems it helped to install everything together with one command, specifying the correct versions. |
Just to provide some information of the status of this issue: FEniCS devs gave me some hints on how to fix it, but ultimately I'm expected to send a patch. https://www.mail-archive.com/fenics-support%40fenicsproject.org/msg01797.html Debugging CMake logs and 1-hour-long compilations are probably the most frustrating and painful things I've ever done and I have other deadlines now, so I cannot promise I will deliver a fix in the near future (1-2 months). Regarding FEniCS 1.4, I'm glad it worked but it's cumbersome to have two separate channels (and according to @mthewissen input, it often fails), so I'll try my best to make $ conda install fenics --channel juanlu001 and $ conda install fenics=1.4.0 --channel juanlu001 just work. |
Regarding the instant/DOLFIN mismatch, I'll try to see if modifying |
Hi I just ran into the same error message. Seems to be because my conda gcc is version 4.8.5, whereas my ubuntu gcc is 4.9.2. The unit test is picking up the ubuntu libcppunit.so library and conflicts arise. A solution is simply to disable the unit tests. That is, put -DDOLFIN_ENABLE_UNIT_TESTS:BOOL=FALSE in dolfins build.sh. |
Thanks a lot for your comment @mikaem. It's sad to see that using conda gcc fixed some problems but brought many others. |
Yes. One needs to be extra careful not to pick up the wrong libraries and to make sure the correct (conda) versions are used. I also had an issue with Petsc using mpif90 that picked up f95, which is not defined in conda and as such the ubuntu version was picked up instead and I got an error trying to compile Slepc (error in trying to link to petscksp.mod). In Slepc yaml you had a fix though (ln -s $PREFIX/bin/gfortran $PREFIX/bin/f95), and I recompiled Petsc using that link and it picked up the right version. So now I simply have this soft link permanently installed. |
Originally reported by @CFBaptista, see output here.
Apparently the program is trying to use system boost, which makes no sense. Could you try
instant clean
inside the environment an try again the example, just in case?Also, please try this command, the important one:
$ strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
The text was updated successfully, but these errors were encountered: