|
[Sponsors] |
December 2, 2005, 10:21 |
Hi,
i have compiled OpenFOA
|
#1 |
Member
Matthias Walter
Join Date: Mar 2009
Location: Rostock, Germany
Posts: 63
Rep Power: 17 |
Hi,
i have compiled OpenFOAM with the GNU gcc 4.0.2 compiler but i had to use the system ld and as. After compilation of all without errors, LAM doesn't work. During the run, i get this error: wsp05:/tmp_mnt/usr/user4/foam/foam/OpenFOAM/OpenFOAM-1.2/src/lam-7.1.1>lamboot 336827:/usr/user4/foam/OpenFOAM/OpenFOAM-1.2/src/lam-7.1.1/platforms/tru64GccOpt /bin/lamboot: /sbin/loader: Error: liblam.so.0: symbol "sem_wait" unresolved 336827:/usr/user4/foam/OpenFOAM/OpenFOAM-1.2/src/lam-7.1.1/platforms/tru64GccOpt /bin/lamboot: /sbin/loader: Fatal Error: Load of "/usr/user4/foam/OpenFOAM/OpenFOAM-1.2/src/lam-7.1.1/platforms/tru64GccOpt/bin/l amboot" failed: Unresolved symbol name Then i tried to compile LAM again and i didn't disable the static library. In this case i can start lamboot, but all the solvers don't start and show the same errors like above. After that i added the following options to the lam configure --enable-shared --disable-static --without-fc Now recompiling LAM and it is the same like at the beginning. Again: wsp05:/tmp_mnt/usr/user4/foam/foam/OpenFOAM/OpenFOAM-1.2/src/lam-7.1.1>lamboot 336827:/usr/user4/foam/OpenFOAM/OpenFOAM-1.2/src/lam-7.1.1/platforms/tru64GccOpt /bin/lamboot: /sbin/loader: Error: liblam.so.0: symbol "sem_wait" unresolved 336827:/usr/user4/foam/OpenFOAM/OpenFOAM-1.2/src/lam-7.1.1/platforms/tru64GccOpt /bin/lamboot: /sbin/loader: Fatal Error: Load of "/usr/user4/foam/OpenFOAM/OpenFOAM-1.2/src/lam-7.1.1/platforms/tru64GccOpt/bin/l amboot" failed: Unresolved symbol name What went wrong? Or don't can i use LAM with tru64 on decAlpha's? mfg, Matthias |
|
December 2, 2005, 10:33 |
Hi,
I don't know anythging
|
#2 |
Guest
Posts: n/a
|
Hi,
I don't know anythging about this platform, but I had a similar problem building lam-7.1.1 on the Solaris/UltraSparc platform. My problem was libtool was incorrectly building the shared libraries. I fixed this by editing the top level libtool (located in LAMHOME) shared library build commands. In the Solaris case libtool was not correctly passing the build commands to the linker, which was giving me undefined symbols. Maybe you are having a similar problem? Jason |
|
December 2, 2005, 13:39 |
Hi Jason,
thanks for the hi
|
#3 |
Member
Matthias Walter
Join Date: Mar 2009
Location: Rostock, Germany
Posts: 63
Rep Power: 17 |
Hi Jason,
thanks for the hint. Can you explain to me, what changes you have done? I looked into the libtool file and there are a lot of options, which you can set. I know its not the same platform, but maybe i can get an idea by your settings! And i don't know the commands for shared librarys on tru64. When i lookup the compiler messages then i see, that he is using an option called "-shared" (stands for building shared libraries). So i don't know, if there are another options to change or if you can only use this one. mfg, Matthias |
|
December 3, 2005, 07:28 |
Matthias,
Under Solaris lib
|
#4 |
Guest
Posts: n/a
|
Matthias,
Under Solaris libtool was setting the flag whole_archive_flag_spec incorrectly. libtool originally set this to be whole_archive_flag_spec="-z allextract\$convenience -z defaultextract" I changed this to read whole_archive_flag_spec="-Wl,-z -Wl,allextract\$convenience -Wl,-z -Wl,defaultextract" The -Wl flag instructs gcc to pass the following flags to the linker. Making this change fixed my shared library build problem. Hope this helps. Jason |
|
December 4, 2005, 12:10 |
It seems, that you cannot comp
|
#5 |
Member
Matthias Walter
Join Date: Mar 2009
Location: Rostock, Germany
Posts: 63
Rep Power: 17 |
It seems, that you cannot compile LAM with shared libraries under tru64. So, i build static ones and it's working. But when i try to start a solver like simpleFoam then i get the following error:
296459:/usr/user4/foam/OpenFOAM/OpenFOAM-1.2/applications/bin/tru64GccOpt/simple Foam: /sbin/loader: Error: libPstream.so: symbol "_ZN4PMPI9Intracomm10current_opE" unresolved 296459:/usr/user4/foam/OpenFOAM/OpenFOAM-1.2/applications/bin/tru64GccOpt/simple Foam: /sbin/loader: Fatal Error: Load of "/usr/user4/foam/OpenFOAM/OpenFOAM-1.2/applications/bin/tru64GccOpt/simpleFoam" failed: Unresolved symbol name Then i rebuild the libPstream. (compiling+linking), but it's the same. How can i reach that OpenFOAM works together with static LAM libraries? Or have i done another error? |
|
December 5, 2005, 06:17 |
Do a c++filt on that symbol an
|
#6 |
Senior Member
Mattijs Janssens
Join Date: Mar 2009
Posts: 1,419
Rep Power: 26 |
Do a c++filt on that symbol and check where it comes from. Sounds like you haven't linked in some of the lam/mpi libraries.
Just a silly idea: do you have a native mpi on that Dec? Maybe you can use that? The only thing you have to do is recompile the Pstream/mpi files with the correct include paths and mpi libraries. The rest of OpenFOAM just uses libPstream.so and never includes or links any mpi file. |
|
December 5, 2005, 09:36 |
Now I have included all lam/mp
|
#7 |
Member
Matthias Walter
Join Date: Mar 2009
Location: Rostock, Germany
Posts: 63
Rep Power: 17 |
Now I have included all lam/mpi libraries, exiting in the directory, in the path. The error is gone but a new one was shown.
194333:/usr/user4/foam/OpenFOAM/OpenFOAM-1.2/applications/bin/tru64GccOpt/simple Foam: /sbin/loader: Error: libPstream.so: symbol "MPI_Dims_create" unresolved 194333:/usr/user4/foam/OpenFOAM/OpenFOAM-1.2/applications/bin/tru64GccOpt/simple Foam: /sbin/loader: Fatal Error: Load of "/usr/user4/foam/OpenFOAM/OpenFOAM-1.2/applications/bin/tru64GccOpt/simpleFoam" failed: Unresolved symbol name I included the libraries in the mplibLAM file of the rules-directory, it looks so: PLIBS = -L$(LAM_ARCH_PATH)/lib -lmpi -llam -llammpi++ -llamf77mpi -llammpio -lpthread -lutil When i look for this symbol it is in the llam or lammpi++ library, so i think it should work now. Do i have to include another libraries, which are not in the LAM path? @Mattijs, The tru64 on our decAlpha's has no native MPI. Compaq/HP has some native MPI stuff for shared memory only. |
|
December 6, 2005, 14:18 |
You'll have to hunt for the li
|
#8 |
Senior Member
Mattijs Janssens
Join Date: Mar 2009
Posts: 1,419
Rep Power: 26 |
You'll have to hunt for the library that symbol ("MPI_Dims_create") is in. Use 'nm' and 'grep'. The library will probably be one under the lam tree or in /usr/lib
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
UDS trouble | Jenny | FLUENT | 0 | July 7, 2008 04:27 |
OpenFOAM on OSF1 V51 tru64 | andras | OpenFOAM Installation | 0 | April 26, 2006 07:45 |
Build OpenFOAM on Tru64 | francois | OpenFOAM Installation | 18 | April 4, 2006 06:45 |
Problem wih Compiling under Tru64 foamFlex | matthias | OpenFOAM Installation | 2 | December 1, 2005 06:36 |
udf trouble | Eric | FLUENT | 1 | July 6, 2004 15:49 |