Problem running testcase on Ubuntu - 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
Problem running testcase on Ubuntu
DN
Dan Nowacki, modified 8 Years ago.
Problem running testcase on Ubuntu
Youngling Posts: 6 Join Date: 2/29/12 Recent Posts 00
Hi,
I have successfully compiled 64-bit Delft3D (5.00.00.1234) on Ubuntu. There were some potentially distressing messages in make.log (see attached) but it appeared to be successful. My issue is in getting the 01_standard testcase to run. Searching hasn't resulted in any promising leads, so hopefully someone can help.
When running run_flow2d3d.sh, I get no output and immediately am returned to the shell. Could this be caused by library issues, or would I get an error instead of no output? ldd libflow2d3d.so yields:
linux-vdso.so.1 => (0x00007fff47720000)
libfmpich.so.3 => /usr/lib/libfmpich.so.3 (0x00007f0de0b09000)
libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007f0de07f2000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f0de05c7000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f0de02c7000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0ddffcd000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0ddfc0f000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0ddf9f9000)
libmpich.so.3 => /usr/lib/libmpich.so.3 (0x00007f0ddf61c000)
libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f0ddf3e5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0de3aaf000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f0ddf1dd000)
libcr.so.0 => /usr/lib/libcr.so.0 (0x00007f0ddefd3000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0ddedb5000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0ddebb1000)
I tried adding these directories to the LD_LIBRARY_PATH line in run_flow2d3d.sh, and I also tried copying the .so files to bin/lnx/flow2d3d/lib. Still no output, and no files generated.
Am I missing something major? Thanks in advance for any help.
Dan
I have successfully compiled 64-bit Delft3D (5.00.00.1234) on Ubuntu. There were some potentially distressing messages in make.log (see attached) but it appeared to be successful. My issue is in getting the 01_standard testcase to run. Searching hasn't resulted in any promising leads, so hopefully someone can help.
When running run_flow2d3d.sh, I get no output and immediately am returned to the shell. Could this be caused by library issues, or would I get an error instead of no output? ldd libflow2d3d.so yields:
linux-vdso.so.1 => (0x00007fff47720000)
libfmpich.so.3 => /usr/lib/libfmpich.so.3 (0x00007f0de0b09000)
libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007f0de07f2000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f0de05c7000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f0de02c7000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0ddffcd000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0ddfc0f000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0ddf9f9000)
libmpich.so.3 => /usr/lib/libmpich.so.3 (0x00007f0ddf61c000)
libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f0ddf3e5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0de3aaf000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f0ddf1dd000)
libcr.so.0 => /usr/lib/libcr.so.0 (0x00007f0ddefd3000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0ddedb5000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0ddebb1000)
I tried adding these directories to the LD_LIBRARY_PATH line in run_flow2d3d.sh, and I also tried copying the .so files to bin/lnx/flow2d3d/lib. Still no output, and no files generated.
Am I missing something major? Thanks in advance for any help.
Dan
Attachments:
Fedor Baart, modified 8 Years ago.
RE: Problem running testcase on Ubuntu
Padawan Posts: 44 Join Date: 3/2/11 Recent Posts 00
Hi,
The fact that all of the required libraries point to a library on your system implies that all libraries are found. So that looks fine.
The example script excepts Delft3D in the following directory:
../../bin/lnx (relative to the example directory).
Inside that directory there should be:
flow2d3d/bin
flow2d3d/lib
Do these files exist on your system?
Some general options for these type of problems are:
Run in a debugger. You have to specify FCFLAGS=-g -O0, CXXFLAGS=-g -O0 and CCFLAGS=-g O0, to enable debugging in the same line as ./configure or by using the export command.
Run a trace. If you the delft3d simulation with strace run_flow2d3d.sh you should get to see what's going on.
Cheers,
Fedor
The fact that all of the required libraries point to a library on your system implies that all libraries are found. So that looks fine.
The example script excepts Delft3D in the following directory:
../../bin/lnx (relative to the example directory).
Inside that directory there should be:
flow2d3d/bin
flow2d3d/lib
Do these files exist on your system?
Some general options for these type of problems are:
Run in a debugger. You have to specify FCFLAGS=-g -O0, CXXFLAGS=-g -O0 and CCFLAGS=-g O0, to enable debugging in the same line as ./configure or by using the export command.
Run a trace. If you the delft3d simulation with strace run_flow2d3d.sh you should get to see what's going on.
Cheers,
Fedor
DN
Dan Nowacki, modified 8 Years ago.
RE: Problem running testcase on Ubuntu
Youngling Posts: 6 Join Date: 2/29/12 Recent Posts 00
Thanks for the quick reply, Fedor.
Yes, flow2d3d/bin and flow2d3d/lib both exist. Contents of bin are:
datsel
deltares_hydro.exe
d_hydro.exe
esm_create
esm_delete
esm_info
kubint
libflow2d3d_openda.so
libflow2d3d.so
lint
mormerge.exe
plugin_culvert.so
plugin_delftflow_traform.so
lib is empty.
I haven't recompiled with the debug options yet (I will try later), but I did run an strace. I confess I'm not really adept enough at interpreting the output. The last error appears to be related to no child processes. I've attached the strace output if anyone wants to take a look.
Thanks,
Dan
EDIT: It is my understanding that deltares_hydro.exe (which run_flow2d3d.sh calls) is a wrapper for d_hydro.exe. Running d_hydro.exe seems to work, sort of. But specifying the .ini file directly to d_hydro results in "d_hydro ABORT: XML parse error in configuration file". Which may make sense, since config_flow2d3d.ini is not an XML file, but it might indicate that some of the binaries are in fact functional.
Yes, flow2d3d/bin and flow2d3d/lib both exist. Contents of bin are:
datsel
deltares_hydro.exe
d_hydro.exe
esm_create
esm_delete
esm_info
kubint
libflow2d3d_openda.so
libflow2d3d.so
lint
mormerge.exe
plugin_culvert.so
plugin_delftflow_traform.so
lib is empty.
I haven't recompiled with the debug options yet (I will try later), but I did run an strace. I confess I'm not really adept enough at interpreting the output. The last error appears to be related to no child processes. I've attached the strace output if anyone wants to take a look.
Thanks,
Dan
EDIT: It is my understanding that deltares_hydro.exe (which run_flow2d3d.sh calls) is a wrapper for d_hydro.exe. Running d_hydro.exe seems to work, sort of. But specifying the .ini file directly to d_hydro results in "d_hydro ABORT: XML parse error in configuration file". Which may make sense, since config_flow2d3d.ini is not an XML file, but it might indicate that some of the binaries are in fact functional.
Attachments:
Fedor Baart, modified 8 Years ago.
RE: Problem running testcase on Ubuntu
Padawan Posts: 44 Join Date: 3/2/11 Recent Posts 00
Dan Nowacki:
Thanks for the quick reply, Fedor.
Yes, flow2d3d/bin and flow2d3d/lib both exist. Contents of bin are:
...
deltares_hydro.exe
d_hydro.exe
...
libflow2d3d.so
But specifying the .ini file directly to d_hydro results in "d_hydro ABORT: XML parse error in configuration file". Which may make sense, since config_flow2d3d.ini is not an XML file, but it might indicate that some of the binaries are in fact functional.
Yes, flow2d3d/bin and flow2d3d/lib both exist. Contents of bin are:
...
deltares_hydro.exe
d_hydro.exe
...
libflow2d3d.so
But specifying the .ini file directly to d_hydro results in "d_hydro ABORT: XML parse error in configuration file". Which may make sense, since config_flow2d3d.ini is not an XML file, but it might indicate that some of the binaries are in fact functional.
The run_flow2d3d script calls the deltares_hydro.exe file.
deltares_hydro.exe reads the ini file
d_hydro.exe reads the xml file
$exedir/deltares_hydro.exe $argfile |
You can try and call deltares_hydro.exe directly.
You should set your LD_LIBRARY_PATH and your PATH, like is done in the run_flow2d3d script.
From your strace I could see that the script run_flow2d3d script was fully read (711 chars), but indeed failed at spawning some subprocess (this is likely deltares_hydro.exe).
I also found these possibily related threads:
http://oss.deltares.nl/web/opendelft3d/general/-/message_boards/view_message/138454
http://oss.deltares.nl/web/opendelft3d/source-code#Run%20a%20calculation
Cheers,
Fedor
DN
Dan Nowacki, modified 8 Years ago.
RE: Problem running testcase on Ubuntu
Youngling Posts: 6 Join Date: 2/29/12 Recent Posts 00
Hi Fedor
Thanks again for your reply. I should have run strace deltares_hydro.exe before posting, because it is more enlightening. The relevant line from the strace output is:
open("/lib/ld-linux.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
So, it's looking for /lib/ld-linux.so.2. But this file does not exist; the actual linker is /lib64/ld-linux-x86-64.so.2. Somewhere, I think /lib/ld-linux.so.2 is hardcoded and it's looking for that file, which doesn't exist. Trying to do a symbolic link to point to the 64-bit linker file causes deltares_hydro.exe to segfault.
I searched Delft3d source files to see if /lib/ld-linux.so.2 is hardcoded anywhere, and I couldn't find it anywhere. In fact, lots of the binaries (including d_hydro.exe but not deltares_hydro.exe) contain the string ld-linux-x86-64, suggesting that the 64-bit linker is getting properly incorporated somehow, but not in deltares_hydro. Any thoughts on why the deltares binary is trying to access the linker in /lib and not /lib64?
Thanks.
Thanks again for your reply. I should have run strace deltares_hydro.exe before posting, because it is more enlightening. The relevant line from the strace output is:
open("/lib/ld-linux.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
So, it's looking for /lib/ld-linux.so.2. But this file does not exist; the actual linker is /lib64/ld-linux-x86-64.so.2. Somewhere, I think /lib/ld-linux.so.2 is hardcoded and it's looking for that file, which doesn't exist. Trying to do a symbolic link to point to the 64-bit linker file causes deltares_hydro.exe to segfault.
I searched Delft3d source files to see if /lib/ld-linux.so.2 is hardcoded anywhere, and I couldn't find it anywhere. In fact, lots of the binaries (including d_hydro.exe but not deltares_hydro.exe) contain the string ld-linux-x86-64, suggesting that the 64-bit linker is getting properly incorporated somehow, but not in deltares_hydro. Any thoughts on why the deltares binary is trying to access the linker in /lib and not /lib64?
Thanks.
Adri Mourits, modified 8 Years ago.
RE: Problem running testcase on Ubuntu (Answer)
Yoda Posts: 1221 Join Date: 1/3/11 Recent Posts 00
Hi Dan,
The problem is probably caused by the precompiled "deltares_hydro.exe" (to be removed as soon as possible). The easiest way to get around this is to call "d_hydro.exe" directly. To do this:
Replace in the runscript the line:
$exedir/deltares_hydro.exe $argfile
by:
$exedir/d_hydro.exe config.xml
You must create file config.xml in the input directory yourself. There is an example in directory "https://svn.oss.deltares.nl/repos/delft3d/trunk/src/engines_gpl/d_hydro/scripts". Compare with the "config_flow2d3d.ini" file; check that the name of the mdf-file is correct.
Regards,
Adri
The problem is probably caused by the precompiled "deltares_hydro.exe" (to be removed as soon as possible). The easiest way to get around this is to call "d_hydro.exe" directly. To do this:
Replace in the runscript the line:
$exedir/deltares_hydro.exe $argfile
by:
$exedir/d_hydro.exe config.xml
You must create file config.xml in the input directory yourself. There is an example in directory "https://svn.oss.deltares.nl/repos/delft3d/trunk/src/engines_gpl/d_hydro/scripts". Compare with the "config_flow2d3d.ini" file; check that the name of the mdf-file is correct.
Regards,
Adri
DN
Dan Nowacki, modified 8 Years ago.
RE: Problem running testcase on Ubuntu
Youngling Posts: 6 Join Date: 2/29/12 Recent Posts 00
Adri,
Great! This worked perfectly. I appreciate your answer and apologize for my delayed response; I was at sea.
Thanks again,
Dan
Great! This worked perfectly. I appreciate your answer and apologize for my delayed response; I was at sea.
Thanks again,
Dan