Delft3D under Snow leopard - 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
Delft3D under Snow leopard
CM
Christos Mitsis, modified 9 Years ago.
Delft3D under Snow leopard
Youngling Posts: 4 Join Date: 9/24/11 Recent Posts 00
Hi,
trying to compile Delft3D code on mac OS Snow Leopard I get stuck just after configuring DelftOnline, and executing command make with the following error unable to decipher. Java version 1.6.0_26 is present in the system.
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I. -I../../jlsrc/include -g -O2 -MT JavaLaunch.lo -MD -MP -MF .deps/JavaLaunch.Tpo -c -o JavaLaunch.lo JavaLaunch.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I. -I../../jlsrc/include -g -O2 -MT JavaLaunch.lo -MD -MP -MF .deps/JavaLaunch.Tpo -c JavaLaunch.cpp -fno-common -DPIC -o .libs/JavaLaunch.o
In file included from JavaLaunch.cpp:21:
../../jlsrc/include/JavaLaunch.h:21:17: error: jni.h: No such file or directory
In file included from JavaLaunch.cpp:21:
../../jlsrc/include/JavaLaunch.h:35: error: ISO C++ forbids declaration of 'JavaVM' with no type
../../jlsrc/include/JavaLaunch.h:35: error: expected ';' before '*' token
../../jlsrc/include/JavaLaunch.h:36: error: ISO C++ forbids declaration of 'JNIEnv' with no type
../../jlsrc/include/JavaLaunch.h:36: error: expected ';' before '*' token
../../jlsrc/include/JavaLaunch.h:37: error: ISO C++ forbids declaration of 'JNIEnv' with no type
../../jlsrc/include/JavaLaunch.h:37: error: expected ';' before '*' token
../../jlsrc/include/JavaLaunch.h:38: error: ISO C++ forbids declaration of 'JNIEnv' with no type
../../jlsrc/include/JavaLaunch.h:38: error: expected ';' before '*' token
../../jlsrc/include/JavaLaunch.h:51: error: ISO C++ forbids declaration of 'JavaVM' with no type
../../jlsrc/include/JavaLaunch.h:51: error: expected ';' before '*' token
../../jlsrc/include/JavaLaunch.h:52: error: ISO C++ forbids declaration of 'JNIEnv' with no type
../../jlsrc/include/JavaLaunch.h:52: error: expected ';' before '*' token
JavaLaunch.cpp:33: error: ISO C++ forbids declaration of 'jint' with no type
JavaLaunch.cpp:33: error: typedef 'jint' is initialized (use __typeof__ instead)
JavaLaunch.cpp:33: error: 'JNICALL' was not declared in this scope
JavaLaunch.cpp:33: error: 'CreateJavaVM_t' was not declared in this scope
JavaLaunch.cpp: In constructor 'JavaLaunch::JavaLaunch(const char*, const char*, const char*)':
JavaLaunch.cpp:51: error: 'JavaVMOption' was not declared in this scope
JavaLaunch.cpp:51: error: expected `;' before 'jvm_options'
JavaLaunch.cpp:58: warning: deprecated conversion from string constant to 'char*'
JavaLaunch.cpp:64: error: 'jvm_options' was not declared in this scope
JavaLaunch.cpp:88: error: 'JavaVMInitArgs' was not declared in this scope
JavaLaunch.cpp:88: error: expected `;' before 'jvm_args'
JavaLaunch.cpp:89: error: 'jvm_args' was not declared in this scope
JavaLaunch.cpp:90: error: 'JNI_VERSION_1_4' was not declared in this scope
JavaLaunch.cpp:93: error: 'JNI_FALSE' was not declared in this scope
JavaLaunch.cpp:101: warning: deprecated conversion from string constant to 'char*'
JavaLaunch.cpp:105: warning: deprecated conversion from string constant to 'char*'
JavaLaunch.cpp:126: error: 'CreateJavaVM_t' was not declared in this scope
JavaLaunch.cpp:126: error: expected `;' before 'CreateJavaVM'
JavaLaunch.cpp:127: error: 'CreateJavaVM' was not declared in this scope
JavaLaunch.cpp:143: error: 'class JavaLaunch' has no member named 'jvm'
JavaLaunch.cpp:143: error: 'class JavaLaunch' has no member named 'env'
JavaLaunch.cpp:143: error: 'CreateJavaVM' was not declared in this scope
JavaLaunch.cpp:143: error: 'JNI_OK' was not declared in this scope
JavaLaunch.cpp:150: error: 'class JavaLaunch' has no member named 'env'
JavaLaunch.cpp: In destructor 'virtual JavaLaunch::~JavaLaunch()':
JavaLaunch.cpp:163: error: 'class JavaLaunch' has no member named 'jvm'
JavaLaunch.cpp:163: error: 'JNI_OK' was not declared in this scope
JavaLaunch.cpp: At global scope:
JavaLaunch.cpp:173: error: expected constructor, destructor, or type conversion before '*' token
JavaLaunch.cpp:182: error: expected constructor, destructor, or type conversion before '*' token
JavaLaunch.cpp:191: error: expected constructor, destructor, or type conversion before '*' token
JavaLaunch.cpp:207: error: expected constructor, destructor, or type conversion before '*' token
JavaLaunch.cpp: In member function 'void JavaLaunch:
etachThread()':
JavaLaunch.cpp:232: error: 'class JavaLaunch' has no member named 'jvm'
JavaLaunch.cpp:232: error: 'JNI_OK' was not declared in this scope
make[3]: *** [JavaLaunch.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Any comments are welcomed.
Thanks in advance.
trying to compile Delft3D code on mac OS Snow Leopard I get stuck just after configuring DelftOnline, and executing command make with the following error unable to decipher. Java version 1.6.0_26 is present in the system.
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I. -I../../jlsrc/include -g -O2 -MT JavaLaunch.lo -MD -MP -MF .deps/JavaLaunch.Tpo -c -o JavaLaunch.lo JavaLaunch.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I. -I../../jlsrc/include -g -O2 -MT JavaLaunch.lo -MD -MP -MF .deps/JavaLaunch.Tpo -c JavaLaunch.cpp -fno-common -DPIC -o .libs/JavaLaunch.o
In file included from JavaLaunch.cpp:21:
../../jlsrc/include/JavaLaunch.h:21:17: error: jni.h: No such file or directory
In file included from JavaLaunch.cpp:21:
../../jlsrc/include/JavaLaunch.h:35: error: ISO C++ forbids declaration of 'JavaVM' with no type
../../jlsrc/include/JavaLaunch.h:35: error: expected ';' before '*' token
../../jlsrc/include/JavaLaunch.h:36: error: ISO C++ forbids declaration of 'JNIEnv' with no type
../../jlsrc/include/JavaLaunch.h:36: error: expected ';' before '*' token
../../jlsrc/include/JavaLaunch.h:37: error: ISO C++ forbids declaration of 'JNIEnv' with no type
../../jlsrc/include/JavaLaunch.h:37: error: expected ';' before '*' token
../../jlsrc/include/JavaLaunch.h:38: error: ISO C++ forbids declaration of 'JNIEnv' with no type
../../jlsrc/include/JavaLaunch.h:38: error: expected ';' before '*' token
../../jlsrc/include/JavaLaunch.h:51: error: ISO C++ forbids declaration of 'JavaVM' with no type
../../jlsrc/include/JavaLaunch.h:51: error: expected ';' before '*' token
../../jlsrc/include/JavaLaunch.h:52: error: ISO C++ forbids declaration of 'JNIEnv' with no type
../../jlsrc/include/JavaLaunch.h:52: error: expected ';' before '*' token
JavaLaunch.cpp:33: error: ISO C++ forbids declaration of 'jint' with no type
JavaLaunch.cpp:33: error: typedef 'jint' is initialized (use __typeof__ instead)
JavaLaunch.cpp:33: error: 'JNICALL' was not declared in this scope
JavaLaunch.cpp:33: error: 'CreateJavaVM_t' was not declared in this scope
JavaLaunch.cpp: In constructor 'JavaLaunch::JavaLaunch(const char*, const char*, const char*)':
JavaLaunch.cpp:51: error: 'JavaVMOption' was not declared in this scope
JavaLaunch.cpp:51: error: expected `;' before 'jvm_options'
JavaLaunch.cpp:58: warning: deprecated conversion from string constant to 'char*'
JavaLaunch.cpp:64: error: 'jvm_options' was not declared in this scope
JavaLaunch.cpp:88: error: 'JavaVMInitArgs' was not declared in this scope
JavaLaunch.cpp:88: error: expected `;' before 'jvm_args'
JavaLaunch.cpp:89: error: 'jvm_args' was not declared in this scope
JavaLaunch.cpp:90: error: 'JNI_VERSION_1_4' was not declared in this scope
JavaLaunch.cpp:93: error: 'JNI_FALSE' was not declared in this scope
JavaLaunch.cpp:101: warning: deprecated conversion from string constant to 'char*'
JavaLaunch.cpp:105: warning: deprecated conversion from string constant to 'char*'
JavaLaunch.cpp:126: error: 'CreateJavaVM_t' was not declared in this scope
JavaLaunch.cpp:126: error: expected `;' before 'CreateJavaVM'
JavaLaunch.cpp:127: error: 'CreateJavaVM' was not declared in this scope
JavaLaunch.cpp:143: error: 'class JavaLaunch' has no member named 'jvm'
JavaLaunch.cpp:143: error: 'class JavaLaunch' has no member named 'env'
JavaLaunch.cpp:143: error: 'CreateJavaVM' was not declared in this scope
JavaLaunch.cpp:143: error: 'JNI_OK' was not declared in this scope
JavaLaunch.cpp:150: error: 'class JavaLaunch' has no member named 'env'
JavaLaunch.cpp: In destructor 'virtual JavaLaunch::~JavaLaunch()':
JavaLaunch.cpp:163: error: 'class JavaLaunch' has no member named 'jvm'
JavaLaunch.cpp:163: error: 'JNI_OK' was not declared in this scope
JavaLaunch.cpp: At global scope:
JavaLaunch.cpp:173: error: expected constructor, destructor, or type conversion before '*' token
JavaLaunch.cpp:182: error: expected constructor, destructor, or type conversion before '*' token
JavaLaunch.cpp:191: error: expected constructor, destructor, or type conversion before '*' token
JavaLaunch.cpp:207: error: expected constructor, destructor, or type conversion before '*' token
JavaLaunch.cpp: In member function 'void JavaLaunch:

JavaLaunch.cpp:232: error: 'class JavaLaunch' has no member named 'jvm'
JavaLaunch.cpp:232: error: 'JNI_OK' was not declared in this scope
make[3]: *** [JavaLaunch.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Any comments are welcomed.
Thanks in advance.
Fedor Baart, modified 9 Years ago.
RE: Delft3D under Snow leopard
Padawan Posts: 44 Join Date: 3/2/11 Recent Posts 10
The relevant error is that the jni.h can't be found. This file is part of java but also included in DelftOnline en with the gcc compiler. The relevant line in the Makefile.am which states where this should be found is this one:
AM_CPPFLAGS = -I. -I$(top_srcdir)/jlsrc/include
On my system it finds it in the directory:
/opt/local/lib/gcc45/gcc/x86_64-apple-darwin10/4.5.3/include
You can list all include directories using:
cpp -v
The correct way is probably to use the jni.h that corresponds to the java version that is used, so for example:
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Headers/jni.h
or
/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni.h
I'll have to look up on how to find the jni.h file automatically. But in the mean time you can do something like
CPPFLAGS=-I/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Headers ./configure
AM_CPPFLAGS = -I. -I$(top_srcdir)/jlsrc/include
On my system it finds it in the directory:
/opt/local/lib/gcc45/gcc/x86_64-apple-darwin10/4.5.3/include
You can list all include directories using:
cpp -v
The correct way is probably to use the jni.h that corresponds to the java version that is used, so for example:
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Headers/jni.h
or
/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni.h
I'll have to look up on how to find the jni.h file automatically. But in the mean time you can do something like
CPPFLAGS=-I/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Headers ./configure
Christos Mitsis:
Hi,
trying to compile Delft3D code on mac OS Snow Leopard I get stuck just after configuring DelftOnline, and executing command make with the following error unable to decipher. Java version 1.6.0_26 is present in the system.
In file included from JavaLaunch.cpp:21:
../../jlsrc/include/JavaLaunch.h:21:17: error: jni.h: No such file or directory
Any comments are welcomed.
Thanks in advance.
trying to compile Delft3D code on mac OS Snow Leopard I get stuck just after configuring DelftOnline, and executing command make with the following error unable to decipher. Java version 1.6.0_26 is present in the system.
In file included from JavaLaunch.cpp:21:
../../jlsrc/include/JavaLaunch.h:21:17: error: jni.h: No such file or directory
Any comments are welcomed.
Thanks in advance.
CM
Christos Mitsis, modified 9 Years ago.
RE: Delft3D under Snow leopard- update1
Youngling Posts: 4 Join Date: 9/24/11 Recent Posts 00
My apologies but still have problems.
Following your instructions managed to install DelftOnline, only though with the location option /opt/local/...
Proceeding to building DELFT3D, and after configuring it, executing the command make the following error arises with certain references to locations that are completely absent from my system (see below)
make all-recursive
Making all in third_party_open
Making all in version_number
Making all in packages
Making all in version_number
Making all in src
/bin/sh ../../../../../libtool --tag=FC --mode=link gfortran-mp-4.5 -g -I../../../../../utils_lgpl/precision/packages/precision/src -g -O2 -fopenmp -ffree-line-length-none -cpp -arch_errors_fatal -o version_number.exe version_number.o -lDelftOnline -lJavaLaunch -lexpat -lstdc++
libtool: link: gfortran-mp-4.5 -g -I../../../../../utils_lgpl/precision/packages/precision/src -g -O2 -fopenmp -ffree-line-length-none -cpp -arch_errors_fatal -o version_number.exe version_number.o /usr/local/lib/libDelftOnline.dylib /usr/local/lib/libJavaLaunch.dylib -lcrypto -lexpat /usr/local/lib/libstdc++.dylib -L/Users/gkhanna/gcc-4.4-20090623/i386-apple-darwin9.7.0/libstdc++-v3/src -L/Users/gkhanna/gcc-4.4-20090623/i386-apple-darwin9.7.0/libstdc++-v3/src/.libs -lm
ld: warning: directory '/Users/gkhanna/gcc-4.4-20090623/i386-apple-darwin9.7.0/libstdc++-v3/src' following -L not found
ld: warning: directory '/Users/gkhanna/gcc-4.4-20090623/i386-apple-darwin9.7.0/libstdc++-v3/src/.libs' following -L not found
ld: in /usr/local/lib/libstdc++.dylib, file was built for i386 which is not the architecture being linked (x86_64)
collect2: ld returned 1 exit status
make[6]: *** [version_number.exe] Error 1
make[5]: *** [all-recursive] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Some references do exist with regard to "ld: in /usr/local/lib/libstdc++.dylib, file was built for i386 which is not the architecture being linked (x86_64)" focused previously on a not clean installation of Snow Leopard over the previous version of Leopard. But still I am aware of a resolution to that apart from completely erasing the /usr/local/lib folder and performing the setup again as a clean install.
I am completely unaware as to how that came up
(ld: warning: directory '/Users/gkhanna/gcc-4.4-20090623/i386-apple-darwin9.7.0/libstdc++-v3/src' following -L not found
ld: warning: directory '/Users/gkhanna/gcc-4.4-20090623/i386-apple-darwin9.7.0/libstdc++-v3/src/.libs' following -L not found)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Update: Replacing the libstdc++.dylib file at /usr/local/lib with the one found in the /Developer/usr/lib/gcc/i686_apple_darwin10/4.2.1/
resumes the make command up to a new point suggesting a version mismatch in f90 compilation. I attach the message below:
initdfparall.f90:37.18:
use globaldata
1
Fatal Error: Wrong module version '4' (expected '0') for file 'globaldata.mod' opened at (1)
make[7]: *** [initdfparall.lo] Error 1
make[6]: *** [all-recursive] Error 1
make[5]: *** [all-recursive] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
I found related suggestions in the following link:
http://www.spinics.net/lists/fedora-packaging/msg07523.html
but I am not sure whether the configuration procedure I followed is wrong or focus just to that error should be made
Thanks again.
Following your instructions managed to install DelftOnline, only though with the location option /opt/local/...
Proceeding to building DELFT3D, and after configuring it, executing the command make the following error arises with certain references to locations that are completely absent from my system (see below)
make all-recursive
Making all in third_party_open
Making all in version_number
Making all in packages
Making all in version_number
Making all in src
/bin/sh ../../../../../libtool --tag=FC --mode=link gfortran-mp-4.5 -g -I../../../../../utils_lgpl/precision/packages/precision/src -g -O2 -fopenmp -ffree-line-length-none -cpp -arch_errors_fatal -o version_number.exe version_number.o -lDelftOnline -lJavaLaunch -lexpat -lstdc++
libtool: link: gfortran-mp-4.5 -g -I../../../../../utils_lgpl/precision/packages/precision/src -g -O2 -fopenmp -ffree-line-length-none -cpp -arch_errors_fatal -o version_number.exe version_number.o /usr/local/lib/libDelftOnline.dylib /usr/local/lib/libJavaLaunch.dylib -lcrypto -lexpat /usr/local/lib/libstdc++.dylib -L/Users/gkhanna/gcc-4.4-20090623/i386-apple-darwin9.7.0/libstdc++-v3/src -L/Users/gkhanna/gcc-4.4-20090623/i386-apple-darwin9.7.0/libstdc++-v3/src/.libs -lm
ld: warning: directory '/Users/gkhanna/gcc-4.4-20090623/i386-apple-darwin9.7.0/libstdc++-v3/src' following -L not found
ld: warning: directory '/Users/gkhanna/gcc-4.4-20090623/i386-apple-darwin9.7.0/libstdc++-v3/src/.libs' following -L not found
ld: in /usr/local/lib/libstdc++.dylib, file was built for i386 which is not the architecture being linked (x86_64)
collect2: ld returned 1 exit status
make[6]: *** [version_number.exe] Error 1
make[5]: *** [all-recursive] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Some references do exist with regard to "ld: in /usr/local/lib/libstdc++.dylib, file was built for i386 which is not the architecture being linked (x86_64)" focused previously on a not clean installation of Snow Leopard over the previous version of Leopard. But still I am aware of a resolution to that apart from completely erasing the /usr/local/lib folder and performing the setup again as a clean install.
I am completely unaware as to how that came up
(ld: warning: directory '/Users/gkhanna/gcc-4.4-20090623/i386-apple-darwin9.7.0/libstdc++-v3/src' following -L not found
ld: warning: directory '/Users/gkhanna/gcc-4.4-20090623/i386-apple-darwin9.7.0/libstdc++-v3/src/.libs' following -L not found)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Update: Replacing the libstdc++.dylib file at /usr/local/lib with the one found in the /Developer/usr/lib/gcc/i686_apple_darwin10/4.2.1/
resumes the make command up to a new point suggesting a version mismatch in f90 compilation. I attach the message below:
initdfparall.f90:37.18:
use globaldata
1
Fatal Error: Wrong module version '4' (expected '0') for file 'globaldata.mod' opened at (1)
make[7]: *** [initdfparall.lo] Error 1
make[6]: *** [all-recursive] Error 1
make[5]: *** [all-recursive] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
I found related suggestions in the following link:
http://www.spinics.net/lists/fedora-packaging/msg07523.html
but I am not sure whether the configuration procedure I followed is wrong or focus just to that error should be made
Thanks again.
CM
Christos Mitsis, modified 9 Years ago.
RE: Delft3D under Snow leopard - update1
Youngling Posts: 4 Join Date: 9/24/11 Recent Posts 00
Update from the previous:
Managed to compile Delft3D as instructed by Fedor when applying the correct flags to the gcc versions on my system.
CXX=g++-mp-4.4 CC=gcc-mp-4.4 FC=gfortran-mp-4.4 F77=gfortran-mp-4.4 FCFLAGS=-L/opt/local/lib CFLAGS=-L/opt/local/lib CXXFLAGS=-L/opt/local/lib DYLD_LIBRARY_PATH=/usr/local/lib ./configure && make && make install (sudo is probably necessary for the make commands)
I now though get stuck with the previous error message of:
ERROR: Cannot find function "RUNME" in dynamic library "libflow2d3d.dylib"
Am I supposed to follow the proposed solution with the FC_function and if yes how do I proceed?
Thanks,
Christos
Managed to compile Delft3D as instructed by Fedor when applying the correct flags to the gcc versions on my system.
CXX=g++-mp-4.4 CC=gcc-mp-4.4 FC=gfortran-mp-4.4 F77=gfortran-mp-4.4 FCFLAGS=-L/opt/local/lib CFLAGS=-L/opt/local/lib CXXFLAGS=-L/opt/local/lib DYLD_LIBRARY_PATH=/usr/local/lib ./configure && make && make install (sudo is probably necessary for the make commands)
I now though get stuck with the previous error message of:
ERROR: Cannot find function "RUNME" in dynamic library "libflow2d3d.dylib"
Am I supposed to follow the proposed solution with the FC_function and if yes how do I proceed?
Thanks,
Christos
Fedor Baart, modified 9 Years ago.
RE: Delft3D under Snow leopard - update1
Padawan Posts: 44 Join Date: 3/2/11 Recent Posts 10
Hi Christos,
This looks like a fortran name mangling issue. Does this happen at runtime?
The relevant code is in engines_gpl/deltares_hydro/src:
It should look for runme_ for OSX (gfortran to be precise). Can you try to configure it with FCFLAGS="-L/opt/local/lib -DOSX". I think that should solve it.
If you want to check what the fortran name mangling did with "runme", you can do
nm engines_gpl/flow2d3d/packages/flow2d3d/src/runme.o (after compilation)
for me it shows:
0000000000000000 T _runme_
Cheers,
Fedor
This looks like a fortran name mangling issue. Does this happen at runtime?
The relevant code is in engines_gpl/deltares_hydro/src:
libFunction = 'runme' | |
#if defined (WIN32) | |
call upperCase(libFunction) | |
#endif | |
#if defined (HAVE_CONFIG_H) | |
#if defined (OSX) | |
libFunction = trim(libFunction) // '_' | |
#else | |
call upperCase(libFunction) | |
#endif | |
#endif |
It should look for runme_ for OSX (gfortran to be precise). Can you try to configure it with FCFLAGS="-L/opt/local/lib -DOSX". I think that should solve it.
If you want to check what the fortran name mangling did with "runme", you can do
nm engines_gpl/flow2d3d/packages/flow2d3d/src/runme.o (after compilation)
for me it shows:
0000000000000000 T _runme_
Cheers,
Fedor
Christos Mitsis:
Update from the previous:
Managed to compile Delft3D as instructed by Fedor when applying the correct flags to the gcc versions on my system.
CXX=g++-mp-4.4 CC=gcc-mp-4.4 FC=gfortran-mp-4.4 F77=gfortran-mp-4.4 FCFLAGS=-L/opt/local/lib CFLAGS=-L/opt/local/lib CXXFLAGS=-L/opt/local/lib DYLD_LIBRARY_PATH=/usr/local/lib ./configure && make && make install (sudo is probably necessary for the make commands)
I now though get stuck with the previous error message of:
ERROR: Cannot find function "RUNME" in dynamic library "libflow2d3d.dylib"
Am I supposed to follow the proposed solution with the FC_function and if yes how do I proceed?
Thanks,
Christos
Managed to compile Delft3D as instructed by Fedor when applying the correct flags to the gcc versions on my system.
CXX=g++-mp-4.4 CC=gcc-mp-4.4 FC=gfortran-mp-4.4 F77=gfortran-mp-4.4 FCFLAGS=-L/opt/local/lib CFLAGS=-L/opt/local/lib CXXFLAGS=-L/opt/local/lib DYLD_LIBRARY_PATH=/usr/local/lib ./configure && make && make install (sudo is probably necessary for the make commands)
I now though get stuck with the previous error message of:
ERROR: Cannot find function "RUNME" in dynamic library "libflow2d3d.dylib"
Am I supposed to follow the proposed solution with the FC_function and if yes how do I proceed?
Thanks,
Christos
CM
Christos Mitsis, modified 9 Years ago.
RE: Delft3D under Snow leopard - update1
Youngling Posts: 4 Join Date: 9/24/11 Recent Posts 00
Dear Fedor,
It seems to be working with the updated FCFLAGS, at least for one example so far tested.
Many thanks.
Christos.
It seems to be working with the updated FCFLAGS, at least for one example so far tested.
Many thanks.
Christos.