CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Pre-Processing (http://www.cfd-online.com/Forums/openfoam-pre-processing/)
-   -   OpenFOAM 13 FoamX libelfso0 and Fedora Core 4 (http://www.cfd-online.com/Forums/openfoam-pre-processing/62061-openfoam-13-foamx-libelfso0-fedora-core-4-a.html)

crosby March 31, 2006 02:45

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.

steja March 31, 2006 12:45

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.

fra76 March 31, 2006 12:55

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!

ddydai March 31, 2006 22:02

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.

bucky83 April 11, 2006 15:27

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

mattijs April 18, 2006 14:01

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

berry_hust April 19, 2006 00:56

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?

mattijs April 20, 2006 05:46

That message tells you there i
 
That message tells you there is nothing to be cleaned. Just issue the other commands.

liuxi April 21, 2006 09:03

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!

mbeaudoin April 21, 2006 09:16

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

liuxi May 3, 2006 10:19

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);}

mbeaudoin May 4, 2006 00:15

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

liuxi May 4, 2006 17:53

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

morten July 26, 2006 07:08

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

ueno October 21, 2006 19:00

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

marhamat November 11, 2006 02:03

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

dmoroian November 13, 2006 04:04

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

marhamat November 14, 2006 06:34

Hi Dragos Thanks for your h
 
Hi Dragos

Thanks for your help
My promlem solved successfuly

Best regards

nico765 December 4, 2006 06:14

In suse, you can go into Yast
 
In suse, you can go into Yast ans just install libelf.

gulitom September 17, 2007 23:30

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 08:06.