Hello all,
I am currently trying to run EinsteinToolkit on a cluster at IUCAA, Pune.
Cactus compiled successfully but when I try to run a simulation (eg. HelloWorld here) I am getting the following error:
/mnt/home/project/cswarnim/ETK/simulations/helloworld/SIMFACTORY/exe/cactus_sim: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /mnt/home/project/c swarnim/ETK/simulations/helloworld/SIMFACTORY/exe/cactus_sim) /mnt/home/project/cswarnim/ETK/simulations/helloworld/SIMFACTORY/exe/cactus_sim: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /mnt/home/project /cswarnim/ETK/simulations/helloworld/SIMFACTORY/exe/cactus_sim) /mnt/home/project/cswarnim/ETK/simulations/helloworld/SIMFACTORY/exe/cactus_sim: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /mnt/home/project /cswarnim/ETK/simulations/helloworld/SIMFACTORY/exe/cactus_sim)
The symlink in /lib64/libstdc++.so.6 is for libstdc++.so.6.0.19
After some googling, I found that I should use libstdc++.so.6.0.20. So I downloaded it and put LDFLAGS=-Wl,-rpath=/mnt/home/project/cswarnim/installations/libstdc++.so.6 in my optionlist (the path being the symlink to libstdc++.so.6.0.20). But it did not work, so I tried: setenv LD_PRELOAD /mnt/home/project/cswarnim/installations/libstdc++.so.6
And I am still getting the same (error) result.
Please let me know what I could do to make it work.
Thanks and Regards, Swarnim Shashank
Hello Swarnim Shashank,
you should not have to download any C++ library.
The fact that your executable cactus_sim is linked against it means that linker found the library.
Since it is not found at runtime anymore that means that the dynamic linker search path did not match the search path of the (compile time) linker. If you used environment modules (module load XXX) which is typical on a compute cluster, please try loading those same modules before running.
If you are trying to test run the executable on the login node instead of from within a job and you used simfactory to build it, you may be successful using "simfactory/bin/sim execute 'cactus_sim --help'" which uses simfactory and makes it execute the "envsetup" lines (which typically contain module load) before running your executable.
If you have not used modules then you likely should add options similar to this one -Wl,--rpath,<PATH-TO-LIB> for every -L option you used in your linker flags.
If this does not help, please provide the following:
* your option list as well as the file configs/sim/config-info * the output of "ldd cactus_sim" (as a text file not a screenshot) * if you used simfactory your machine's ini file (the command simfactory/bin/sim print-mdb-entry $(simfactory/bin/sim whoami | awk '{print $3}') prints its content to screen)
Your LDFLAGS were not quite correct since you must give the path to the directory, not the file ie it would be:
LDFLAGS=-Wl,-rpath=/mnt/home/project/cswarnim/installations
though as stated at the beginning you should not download any libstdc++.so and instead point to the (correct, there likely are multiple) location of libstdc++.so in your system.
Yours, Roland
Hello all,
I am currently trying to run EinsteinToolkit on a cluster at IUCAA, Pune.
Cactus compiled successfully but when I try to run a simulation (eg. HelloWorld here) I am getting the following error:
/mnt/home/project/cswarnim/ETK/simulations/helloworld/SIMFACTORY/exe/cactus_sim: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /mnt/home/project/c swarnim/ETK/simulations/helloworld/SIMFACTORY/exe/cactus_sim) /mnt/home/project/cswarnim/ETK/simulations/helloworld/SIMFACTORY/exe/cactus_sim: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /mnt/home/project /cswarnim/ETK/simulations/helloworld/SIMFACTORY/exe/cactus_sim) /mnt/home/project/cswarnim/ETK/simulations/helloworld/SIMFACTORY/exe/cactus_sim: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /mnt/home/project /cswarnim/ETK/simulations/helloworld/SIMFACTORY/exe/cactus_sim)
The symlink in /lib64/libstdc++.so.6 is for libstdc++.so.6.0.19
After some googling, I found that I should use libstdc++.so.6.0.20. So I downloaded it and put LDFLAGS=-Wl,-rpath=/mnt/home/project/cswarnim/installations/libstdc++.so.6 in my optionlist (the path being the symlink to libstdc++.so.6.0.20). But it did not work, so I tried: setenv LD_PRELOAD /mnt/home/project/cswarnim/installations/libstdc++.so.6
And I am still getting the same (error) result.
Please let me know what I could do to make it work.
Thanks and Regards, Swarnim Shashank
users@lists.einsteintoolkit.org