I've just upgraded to 1.3, on
I've just upgraded to 1.3, on an X86_64 FC4 system, and had trouble with starting FoamX, due to a missing libelf.so.0 It seems as if there is difference in the way that Fedora and Redhat impliments libelf compared to everybody else. libelf.so.0 can be obtained from http://www.mr511.de/software/ in source form, and it seems to fix the problem.
|
I had the same problem on my F
I had the same problem on my FC5 x86_64 (Xeon EM64T) system and for some reasons "nsd" is looking for libelf.so.0.
============= $ FoamX Starting NameServer with inet:phorkys.uni-rostock.de:1234 ... nsd: error while loading shared libraries: libelf.so.0: cannot open shared object file: No such file or directory ============= I tried to install libelf package but it did not show up a libelf.so.0. Instead I just created a link to /usr/lib64/libelf.so which obviously solved the problem. |
I had the same problem with Fe
I had the same problem with Fedora Core 3 32bit and in Fedora Core 5 64bit.
I've resolved in a different way, on FC3: as root # cd /usr/lib # ln -s libelf.so.1 libelf.so.0 I guess that in FC5 one should change directory to /usr/lib64, but I haven't tried yet. That's all! |
wiht RHAS4 i had met the same
wiht RHAS4 i had met the same problem=============
$ FoamX Starting NameServer with inet:phorkys.uni-rostock.de:1234 ... nsd: error while loading shared libraries: libelf.so.0: cannot open shared object file: No such file or directory ============= and followed upstairs ,building a link between successfully solved the problem. |
I had the same problem with Fe
I had the same problem with Fedora 5. I've tried this:
# cd /usr/lib # ln -s libelf.so.1 libelf.so.0 and the problem changed, to be: [Dario@localhost ~]$ FoamX Starting NameServer with inet:localhost.localdomain:1234 ... Starting FoamX Host Browser with inet:localhost.localdomain:1234 ... FoamXHostBrowser: error while loading shared libraries: /home/Dario/OpenFOAM/OpenFOAM-1.3/lib/linuxGcc4DPOpt/libFoamX.so: cannot restore segment prot after reloc: Permission denied runFoamXHB : cleanup runFoamXHB: Killing name server nsd(pid 29989). Does anybody know what kind of touble is this? DARIO |
Missing libelf:
another so
Missing libelf:
another solution is to reconfigure and recompile mico itself so it doesn't include libelf. From $FOAM_SRC/Allwmake: cd $MICO_PATH gmake distclean ./configure --prefix=$MICO_ARCH_PATH --disable-shared --without-x gmake gmake install gmake distclean |
Hi, Mattijs
I am a newbie t
Hi, Mattijs
I am a newbie to Linux system. I have the same Missing libelf problem on RedHat 9.0 whn I run FoamX. However, when I go to the mico directory /OpenFOAM/OpenFOAM-1.3/src/mico-2.3.11 and gmake distclean, I get this errors: gmake: *** No rule to make target `distclean'. Stop. Could you help me with that stuff? |
That message tells you there i
That message tells you there is nothing to be cleaned. Just issue the other commands.
|
I am having the similar proble
I am having the similar problem when I installed FOAM on AMD64 with RedHat system.
I followed Mattijs' suggestion, but got the following error message: ./configure --prefix=$MICO_ARCH_PATH --disable-shared --without-x loading cache ./config.cache checking for extra include and lib directories... checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking build system type... x86_64-unknown-linux-gnu checking for gcc... gcc checking whether the C compiler (gcc -m64 -fPIC -m64) works... no configure: error: installation or configuration problem: C compiler cannot create executables. Can You help me with this issue? Thanks! |
Hello John,
The message
Hello John,
The message configure: error: installation or configuration problem: C compiler cannot create executables. simply means that either gcc cannot compile a little test case, or that it cannot link the same little test case. A fuller description or cause of the error is usually mentionned in the file config.log, generated by the invocation of configure. My bet is that you've specified the compilation option -m64, but you did not modify the default path for the library, which should be something like /usr/lib64 or something like this... Good luck. Martin |
Hi, Martin,
I am sorry the
Hi, Martin,
I am sorry the late response. Here is the error message in configure.log. Can you help me further? Thanks! John ------------------------------------------------ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. configure:1162: checking host system type configure:1183: checking target system type configure:1201: checking build system type configure:1304: checking for gcc configure:1417: checking whether the C compiler (gcc -m64 -fPIC -m64) works configure:1433: gcc -o conftest -m64 -fPIC -m64 conftest.c 1>&5 /usr/bin/ld: unrecognized option '--as-needed' /usr/bin/ld: use the --help option for usage information collect2: ld returned 1 exit status configure: failed program was: #line 1428 "configure" #include "confdefs.h" main(){return(0);} |
Hello John,
You are using t
Hello John,
You are using the pre-compiled version of gcc from OpenCFD. I had the exact same problem with the pre-compiled gcc compiler released with OpenFOAM 1.2 on my SuSE 9.1 OS last year. From the error message /usr/bin/ld: unrecognized option '--as-needed' we can see that your workstation's local version of ld is not compatible with the pre-compiled compiler supplied by OpenCFD. And they need to be compatible... This is normal; basically, when you compile gcc on a given workstation, the configure script will "explore" the capabilities of the local linker "ld" before building the Makefiles and such. If the configure script discovers that your local version of "ld" supports new options or command line parameters (like the --as-needed option), it will configure gcc to use them. Now, when you try to use that pre-compiled compiler on an older environment or OS, with an older version of "ld" that is not recognizing the brand new "ld" option like --as-needed, you will get the kind of problem you are experiencing. This is why, now, I always recompile OpenFOAM and its companion tools when a new release is made available: OpenFOAM, gcc, paraview, etc. OpenCFD is simply compiling the pre-compiled package for OpenFOAM on a newer OS than the one I am using on my workstation. Of course, another solution would be to always keep my OS up-to-date with the latest version of SuSE or RedHat available. This is not a practical solution for me, although I would love to be able to "tag along" in this area http://www.cfd-online.com/OpenFOAM_D...part/happy.gif. On the other hand, maybe there is a command line option for instructing g++/gcc no to try to use the brand new "ld" options. I will investigate that possibility and report to this forum if I find any pointers on that idea. So, the easiest solution for you and me: you need to recompile gcc locally for your workstation. For the details, check out this HowTo on the OpenFOAM Wiki: http://openfoamwiki.net/index.php/Howto_compile_O penFOAM There is a section explaining how to recompile gcc. Enjoy, Martin |
Martin,
I did try to recomp
Martin,
I did try to recompile gcc and FOAM and was not successful. I will put it in another thread under the installation group. Thank you for the patience. John |
Hi All,
I have had the same
Hi All,
I have had the same problem on two PC running Fedora Core 6 and SUSE 10.1 respectively. I was able to solve the problem by recompiling the libelf 0.8.8 library from www.mr511.de/software as described by Charles Crosby earlier in this thread. As default the libelf script dropped the binaries in /usr/local/lib - so what was left was only to provide a link to the binary from the /lib library which OpenFOAM seems to use as default. Morten Lybech Thøgersen |
Hi Morten,
I also had the s
Hi Morten,
I also had the same problem on my PC and recompiled the libelf library. But, I prefer to configure the library as follows, ./configure --prefix=$FOAM_USER_LIBBIN/../linuxGcc4DPOpt --exec-prefix=$FOAM_USER_LIBBIN/../linuxGcc4DPOpt --libdir=$FOAM_USER_LIBBIN/../linuxGcc4DPOpt --without-x $FOAM_USER_LIBBIN could be replaced with $FOAM_LIB Then "make install" would make the things nice. With this configuration, you don't need to provide another link to OpenFOAM. FoamX can automatically find the PATH to the libelf.so.0. Makoto |
Hi All
I have same problem wh
Hi All
I have same problem whit FoamX running . I chenged linux from Redhat 9.0 to Enterprise. ============= $ FoamX Starting NameServer with inet:localhost.localdomain:1234 ... nsd: error while loading shared libraries: libelf.so.0: cannot open shared object file: No such file or directory ============= With ussing # cd /usr/lib # ln -s libelf.so.1 libelf.so.0 Nothing chenged. what is incorrect? Regards Marhamat |
This is probably because you d
This is probably because you don't have libelf on your system at all.
Check this: home/dragosm> rpm -q -a | grep libelf libelf-0.8.5-35 home/dragosm> rpm -q -l libelf-0.8.5-35 /usr/include/libelf /usr/include/libelf/elf_repl.h /usr/include/libelf/gelf.h /usr/include/libelf/libelf.h /usr/include/libelf/nlist.h /usr/include/libelf/sys_elf.h /usr/lib64/libelf.a /usr/lib64/libelf.so /usr/lib64/libelf.so.0 /usr/lib64/libelf.so.0.8.5 /usr/share/doc/packages/libelf /usr/share/doc/packages/libelf/COPYING.LIB /usr/share/doc/packages/libelf/ChangeLog /usr/share/doc/packages/libelf/README /usr/share/doc/packages/libelf/VERSION /usr/share/locale/de/LC_MESSAGES/libelf.mo I bet, grep won't find anything in the first place! Dragos |
Hi Dragos
Thanks for your h
Hi Dragos
Thanks for your help My promlem solved successfuly Best regards |
In suse, you can go into Yast
In suse, you can go into Yast ans just install libelf.
|
Hi,
I tried a method as som
Hi,
I tried a method as someone told me, but it shows as follows: [guli@localhost guli]$ cd $FOAM_LIBBIN [guli@localhost linuxGcc4DPOpt]$ rpm -q -a | grep libelf elfutils-libelf-0.76-3 [guli@localhost linuxGcc4DPOpt]$ rpm -q -l elfutils-libelf-0.76-3 /usr/lib/libelf-0.76.so /usr/lib/libelf.so.1 [guli@localhost linuxGcc4DPOpt]$ ln -s /usr/lib/libelf.so.1 libelf.so.0 [guli@localhost linuxGcc4DPOpt]$ FoamX Starting NameServer with inet:localhost.localdomain:1234 ... Starting FoamX Host Browser with inet:localhost.localdomain:1234 ... FoamXHostBrowser: /lib/tls/libc.so.6: version `GLIBC_2.3.4' not found (required by FoamXHostBrowser) runFoamXHB : cleanup runFoamXHB: Killing name server nsd(pid 6628). Can anyone help? |
All times are GMT -4. The time now is 17:25. |