Trying to build on RHEL5 64-bit - D-Flow Flexible Mesh - Delft3D
intro story D-Flow FM
D-Flow Flexible MeshD-Flow Flexible Mesh (D-Flow FM) is the new software engine for hydrodynamical simulations on unstructured grids in 1D-2D-3D. Together with the familiar curvilinear meshes from Delft3D 4, the unstructured grid can consist of triangles, pentagons (etc.) and 1D channel networks, all in one single mesh. It combines proven technology from the hydrodynamic engines of Delft3D 4 and SOBEK 2 and adds flexible administration, resulting in:
An overview of the current developments can be found here. The D-Flow FM - team would be delighted if you would participate in discussions on the generation of meshes, the specification of boundary conditions, the running of computations, and all kinds of other relevant topics. Feel free to share your smart questions and/or brilliant solutions!
======================================================= | Sub groups
|
Message Boards
Trying to build on RHEL5 64-bit
MS
Mark Suhovecky, modified 8 Years ago.
Trying to build on RHEL5 64-bit
Youngling Posts: 6 Join Date: 3/19/12 Recent Posts 00
I'm trying to built deltft3D on our cluster. Our machines are 64 bit only.
We run Red Hat Enterprise 5.7.
My gcc version is 4.1.2. My intel version is 12.0. I'm building delft3d version 4.00.02.0423
I had to build libtools 2.4 from source, and it is installed in a non-standard location. My mpich2 installation is also in a non-standard local. Because of this, I'm running the configure and make manually instead of via the build.sh
My configure line looks like this:
./configure --prefix=/opt/crc/delft3d/4.00.02.0423/inst --with-x MPIFC=mpif90 LDFLAGS=-L/opt/crc/delft3d/libtool-2.4/lib
I had to edit this file
/engines_gpl/flow2d3d/packages/data/src/parallel_mpi/Makefile
and change FINCLUDE to point to the right location of the mpich2 include files
after this the build runs for quite a while, until I get the following error
ld: ../../../../../utils_lgpl/meteo/packages/meteo/src/libmeteo.a(meteo_data.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC^M
../../../../../utils_lgpl/meteo/packages/meteo/src/libmeteo.a: could not read symbols: Bad value^M
make[7]: *** [libflow2d3d.la] Error 1^M
make[7]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d/packages/flow2d3d/src'^M
make[6]: *** [all] Error 2^M
make[6]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d/packages/flow2d3d/src'^M
make[5]: *** [all-recursive] Error 1^M
make[5]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d/packages/flow2d3d'^M
make[4]: *** [all-recursive] Error 1^M
make[4]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d/packages'^M
make[3]: *** [all-recursive] Error 1^M
make[3]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d'^M
make[2]: *** [all-recursive] Error 1^M
make[2]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl'^M
make[1]: *** [all-recursive] Error 1^M
make[1]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src'^M
From other posts, I'm guessing this is a 32/64 bit issue. It looks like all of my C and Fortran code was built with -FPIC. I'm not sure how to proceed- any advice is appreciated.
If it's of any use, mu config and build output is available here:
http://www.crc.nd.edu/~msuhovec/files/config.log
http://www.crc.nd.edu/~msuhovec/files/build.out
As I said, thanks for any help.
Mark Suhovecky
suhovecky@nd.edu
Center for Research Computing
University of Notre Dame
We run Red Hat Enterprise 5.7.
My gcc version is 4.1.2. My intel version is 12.0. I'm building delft3d version 4.00.02.0423
I had to build libtools 2.4 from source, and it is installed in a non-standard location. My mpich2 installation is also in a non-standard local. Because of this, I'm running the configure and make manually instead of via the build.sh
My configure line looks like this:
./configure --prefix=/opt/crc/delft3d/4.00.02.0423/inst --with-x MPIFC=mpif90 LDFLAGS=-L/opt/crc/delft3d/libtool-2.4/lib
I had to edit this file
/engines_gpl/flow2d3d/packages/data/src/parallel_mpi/Makefile
and change FINCLUDE to point to the right location of the mpich2 include files
after this the build runs for quite a while, until I get the following error
ld: ../../../../../utils_lgpl/meteo/packages/meteo/src/libmeteo.a(meteo_data.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC^M
../../../../../utils_lgpl/meteo/packages/meteo/src/libmeteo.a: could not read symbols: Bad value^M
make[7]: *** [libflow2d3d.la] Error 1^M
make[7]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d/packages/flow2d3d/src'^M
make[6]: *** [all] Error 2^M
make[6]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d/packages/flow2d3d/src'^M
make[5]: *** [all-recursive] Error 1^M
make[5]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d/packages/flow2d3d'^M
make[4]: *** [all-recursive] Error 1^M
make[4]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d/packages'^M
make[3]: *** [all-recursive] Error 1^M
make[3]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d'^M
make[2]: *** [all-recursive] Error 1^M
make[2]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl'^M
make[1]: *** [all-recursive] Error 1^M
make[1]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src'^M
From other posts, I'm guessing this is a 32/64 bit issue. It looks like all of my C and Fortran code was built with -FPIC. I'm not sure how to proceed- any advice is appreciated.
If it's of any use, mu config and build output is available here:
http://www.crc.nd.edu/~msuhovec/files/config.log
http://www.crc.nd.edu/~msuhovec/files/build.out
As I said, thanks for any help.
Mark Suhovecky
suhovecky@nd.edu
Center for Research Computing
University of Notre Dame
MS
Mark Suhovecky, modified 8 Years ago.
RE: Trying to build on RHEL5 64-bit
Youngling Posts: 6 Join Date: 3/19/12 Recent Posts 00
I found that to get everything to build with -fPIC, I had to to add it to the configure line:
./configure --prefix=/opt/crc/delft3d/4.00.02.0423/inst --with-x MPIFC=mpif90 LDFLAGS=-L/opt/crc/delft3d/libtool-2.4/lib CFLAGS=-fPIC FCFLAGS=-fPIC
and this got me past that. But I found that some of the included 3rd-Party binaries are 32-bit libraries; for instance in src/third_party_open/DelftOnline/lib
file libDelftOnlineJNI.so l ibDelftOnlineJNI.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped
file libJavaLaunch.so libJavaLaunch.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped
file libDelftOnline.so libDelftOnline.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped
So I guess this code will not build as 64-bit code.
./configure --prefix=/opt/crc/delft3d/4.00.02.0423/inst --with-x MPIFC=mpif90 LDFLAGS=-L/opt/crc/delft3d/libtool-2.4/lib CFLAGS=-fPIC FCFLAGS=-fPIC
and this got me past that. But I found that some of the included 3rd-Party binaries are 32-bit libraries; for instance in src/third_party_open/DelftOnline/lib
file libDelftOnlineJNI.so l ibDelftOnlineJNI.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped
file libJavaLaunch.so libJavaLaunch.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped
file libDelftOnline.so libDelftOnline.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped
So I guess this code will not build as 64-bit code.
MS
Mark Suhovecky, modified 8 Years ago.
RE: Trying to build on RHEL5 64-bit
Youngling Posts: 6 Join Date: 3/19/12 Recent Posts 00
I wanted to follow up and say that I was able to build this as a 32-bit app on my 64-bit system. I had to build 32-bit versions of libtools, flex and mpich2.
I also had to use sed scriptings to fix all the hardcoded mpich2 paths. I can run the examples now.
I also had to use sed scriptings to fix all the hardcoded mpich2 paths. I can run the examples now.
Bert Jagers, modified 8 Years ago.
RE: Trying to build on RHEL5 64-bit
Jedi Knight Posts: 201 Join Date: 12/22/10 Recent Posts 00
Hi Mark,
Thanks for informing people about your progress and solution.
You refer to tagged version 4.00.02.0423.
All tagged version starting with 4 compile only as 32bit versions on Windows and Linux.
There is currently one tagged version starting with 5; this tagged version and the trunk compile on Windows still only as 32bit version but on Linux now only as 64bit version.
Bert
Thanks for informing people about your progress and solution.
You refer to tagged version 4.00.02.0423.
All tagged version starting with 4 compile only as 32bit versions on Windows and Linux.
There is currently one tagged version starting with 5; this tagged version and the trunk compile on Windows still only as 32bit version but on Linux now only as 64bit version.
Bert