Compiling the code under Windows - 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
Compiling the code under Windows
GB
Gabriel Betancur, modified 9 Years ago.
Compiling the code under Windows
Youngling Posts: 20 Join Date: 8/24/11 Recent Posts 00
Hello,
I'm new working with Delft3d open source. At this point, I need to generate the delftflow.exe in order to be able to run my application. But I'm running in circles without success. I followed the instructions that appears in the http://oss.deltares.nl/web/opendelft3d/source-code#Compile the source code, but I still lost.
If anyone can explain me how to compile the code, with a little bit of detail, I will appreciate it.
Thanks for your time and answer.
Gabriel
I'm new working with Delft3d open source. At this point, I need to generate the delftflow.exe in order to be able to run my application. But I'm running in circles without success. I followed the instructions that appears in the http://oss.deltares.nl/web/opendelft3d/source-code#Compile the source code, but I still lost.
If anyone can explain me how to compile the code, with a little bit of detail, I will appreciate it.
Thanks for your time and answer.
Gabriel
Bert Jagers, modified 9 Years ago.
RE: Compiling the code under Windows
Jedi Knight Posts: 201 Join Date: 12/22/10 Recent Posts 00
Can you be more specific where you get stuck?
On Windows you will need to have Microsoft Visual Studio 2008 with C/C++ and Intel Fortran compiler 11.0, or later.
Do you have these programs?
If yes, then you can continue.
Don't download the trunk version, but start by downloading the source code from the tagged version:
https://svn.oss.deltares.nl/repos/delft3d/tags/4.00.07.0892
Open deltares_hydro_open_source.sln in Visual Studio 2008, or if you're using the 2010 version open the solution file for that version.
In Visual Studio select Build -> Build Solution (Ctrl+Shift+B ) to build all projects in the solution or go in the Solution Explorer to engines_gpl/deltares_hydro and right click and select " build" to build individual projects. You will need to build deltares_hydro.exe and flow2d3d.dll. You ask about delftflow.exe, but that is the old name when the deltares_hydro.exe and flow2d3d.dll were still integrated in one executable. The build process will generate a bin folder next to the src folder in the source code tree. After building all files, you need to copy them to the directory in which the Delft3D environment was installed.
Best regards,
Bert
On Windows you will need to have Microsoft Visual Studio 2008 with C/C++ and Intel Fortran compiler 11.0, or later.
Do you have these programs?
If yes, then you can continue.
Don't download the trunk version, but start by downloading the source code from the tagged version:
https://svn.oss.deltares.nl/repos/delft3d/tags/4.00.07.0892
Open deltares_hydro_open_source.sln in Visual Studio 2008, or if you're using the 2010 version open the solution file for that version.
In Visual Studio select Build -> Build Solution (Ctrl+Shift+B ) to build all projects in the solution or go in the Solution Explorer to engines_gpl/deltares_hydro and right click and select " build" to build individual projects. You will need to build deltares_hydro.exe and flow2d3d.dll. You ask about delftflow.exe, but that is the old name when the deltares_hydro.exe and flow2d3d.dll were still integrated in one executable. The build process will generate a bin folder next to the src folder in the source code tree. After building all files, you need to copy them to the directory in which the Delft3D environment was installed.
Best regards,
Bert
GB
Gabriel Betancur, modified 9 Years ago.
RE: Compiling the code under Windows
Youngling Posts: 20 Join Date: 8/24/11 Recent Posts 00
Hi Bert,
I followed your instructions, compiling the version 4.00.07.0892 with Visual Studio 2010 and Intel Fortran Compiler 11.0, and the program brings me four errors, which I now list:
Error 96: error LNK1181: no se puede abrir el archivo de entrada '..\lint_f\Release\lint_f.lib' D:\delft3d_compiled\src\tools_gpl\lint\packages\lint\LINK lint (tools_gpl\lint\lint).
Error 97: error LNK1181: no se puede abrir el archivo de entrada '..\kubint_f\Release\kubint_f.lib' D:\delft3d_compiled\src\tools_gpl\kubint\packages\kubint\LINK kubint (tools_gpl\kubint\kubint).
Error 98 error LNK1181: no se puede abrir el archivo de entrada '..\datsel_f\Release\datsel_f.lib' D:\delft3d_compiled\src\tools_gpl\datsel\packages\datsel\LINK datsel (tools_gpl\datsel\datsel).
Error 72 error MSB3073: El comando "call ..\..\..\..\scripts_lgpl\win32\update_version.cmd .\include\semaphore_version.h .\ .\include\version_number.ini
CEnd" salió con el código 1. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets 103 6 semaphore (utils_lgpl\semaphore\semaphore).
And the bin folder has a vs.exe, but the other two files that you have mentioned are not there.
I think this errors are due to library compatibilities. Do you think, that I should try to compile the code with Visual Studio 2008? or maybe in Linux?.
Thanks for your time and answer.
Gabriel
I followed your instructions, compiling the version 4.00.07.0892 with Visual Studio 2010 and Intel Fortran Compiler 11.0, and the program brings me four errors, which I now list:
Error 96: error LNK1181: no se puede abrir el archivo de entrada '..\lint_f\Release\lint_f.lib' D:\delft3d_compiled\src\tools_gpl\lint\packages\lint\LINK lint (tools_gpl\lint\lint).
Error 97: error LNK1181: no se puede abrir el archivo de entrada '..\kubint_f\Release\kubint_f.lib' D:\delft3d_compiled\src\tools_gpl\kubint\packages\kubint\LINK kubint (tools_gpl\kubint\kubint).
Error 98 error LNK1181: no se puede abrir el archivo de entrada '..\datsel_f\Release\datsel_f.lib' D:\delft3d_compiled\src\tools_gpl\datsel\packages\datsel\LINK datsel (tools_gpl\datsel\datsel).
Error 72 error MSB3073: El comando "call ..\..\..\..\scripts_lgpl\win32\update_version.cmd .\include\semaphore_version.h .\ .\include\version_number.ini

And the bin folder has a vs.exe, but the other two files that you have mentioned are not there.
I think this errors are due to library compatibilities. Do you think, that I should try to compile the code with Visual Studio 2008? or maybe in Linux?.
Thanks for your time and answer.
Gabriel
Bert Jagers, modified 9 Years ago.
RE: Compiling the code under Windows
Jedi Knight Posts: 201 Join Date: 12/22/10 Recent Posts 00
Hi Gabriel,
The core problem is likely So, there seems to be a problem determining the version number of the code you checked out. This version number is determined using the Subversion executables included in the source code tree: src\third_party_open\subversion\bin\win32\.
What is the version of the Subversion client have you used to check out the source code: is that one of the latest versions 1.7.* ? Then that may be part of the explanation: the Subversion executables in the source code tree of the tagged version, are still 1.6 executables and they don't understand the new repository.** Normally it should then return the string "exported" which gets replaced by "00000" because Microsoft doesn't accept a non-numeric version number. However, since you are using a Spanish version, I wonder whether "exported" may read differently on your computer.
Please go to the directory: src\util_lgpl\semaphore\packages\semaphore\include. Does this directory contain a file semaphore_version.h? If so, what version is indicated for semaphore_build?
If this file does not exist, please go to the directory: src\util_lgpl\semaphore\packages\semaphore and execute in a DOS box the command:
..\..\..\..\scripts_lgpl\win32\update_version.cmd .\include\semaphore_version.h .\ .\include\version_number.ini
What messages does this return?
** The trunk contains 1.7 Subversion executables, but before you switch to use the trunk version (which may solve the problem if it is indeed caused by the Subversion client in the source code tree), I would prefer to know what's going with the tagged version because it should still compile normally although with a default revision number 00000.
Success,
Bert
The core problem is likely
El comando "call ..\..\..\..\scripts_lgpl\win32\update_version.cmd .\include\semaphore_version.h .\ .\include\version_number.ini : VCEnd" salió con el código 1.
What is the version of the Subversion client have you used to check out the source code: is that one of the latest versions 1.7.* ? Then that may be part of the explanation: the Subversion executables in the source code tree of the tagged version, are still 1.6 executables and they don't understand the new repository.** Normally it should then return the string "exported" which gets replaced by "00000" because Microsoft doesn't accept a non-numeric version number. However, since you are using a Spanish version, I wonder whether "exported" may read differently on your computer.
Please go to the directory: src\util_lgpl\semaphore\packages\semaphore\include. Does this directory contain a file semaphore_version.h? If so, what version is indicated for semaphore_build?
If this file does not exist, please go to the directory: src\util_lgpl\semaphore\packages\semaphore and execute in a DOS box the command:
..\..\..\..\scripts_lgpl\win32\update_version.cmd .\include\semaphore_version.h .\ .\include\version_number.ini
What messages does this return?
** The trunk contains 1.7 Subversion executables, but before you switch to use the trunk version (which may solve the problem if it is indeed caused by the Subversion client in the source code tree), I would prefer to know what's going with the tagged version because it should still compile normally although with a default revision number 00000.
Success,
Bert
GB
Gabriel Betancur, modified 9 Years ago.
RE: Compiling the code under Windows
Youngling Posts: 20 Join Date: 8/24/11 Recent Posts 00
Hello Bert,
The subversion number is the 1.7.1.
When I go to the directoy: "src\util_lgpl\semaphore\packages\semaphore\include. Does this directory contain a file semaphore_version.h", there is not such file.
In the directory: "src\util_lgpl\semaphore\packages\semaphore" I found two files: "semaphore_version.h.svn" & "version_number.ini" and when I execute the "version_number.ini" in a DOS box, it opens a txt and gives me this:
[versionnumbers]
major = 1
minor = 00
revision = 00
Thanks for your time and answer.
Gabriel.
The subversion number is the 1.7.1.
When I go to the directoy: "src\util_lgpl\semaphore\packages\semaphore\include. Does this directory contain a file semaphore_version.h", there is not such file.
In the directory: "src\util_lgpl\semaphore\packages\semaphore" I found two files: "semaphore_version.h.svn" & "version_number.ini" and when I execute the "version_number.ini" in a DOS box, it opens a txt and gives me this:
[versionnumbers]
major = 1
minor = 00
revision = 00
Thanks for your time and answer.
Gabriel.
Bert Jagers, modified 9 Years ago.
RE: Compiling the code under Windows
Jedi Knight Posts: 201 Join Date: 12/22/10 Recent Posts 00
Hi Gabriel,
Thanks. Those two files come from the subversion repository; the "semaphore_version.h" file that you don't have should have been generated by the build process. There seems to be a problem building version number files on your machine. Can you try the following as I indicated in my previous post:
What messages does this command return and does the semaphore_version.h file exist after executing this command?
Bert
Thanks. Those two files come from the subversion repository; the "semaphore_version.h" file that you don't have should have been generated by the build process. There seems to be a problem building version number files on your machine. Can you try the following as I indicated in my previous post:
... please go to the directory: src\util_lgpl\semaphore\packages\semaphore and execute in a DOS box the command:
..\..\..\..\scripts_lgpl\win32\update_version.cmd .\include\semaphore_version.h .\ .\include\version_number.ini
What messages does this return?
..\..\..\..\scripts_lgpl\win32\update_version.cmd .\include\semaphore_version.h .\ .\include\version_number.ini
What messages does this return?
What messages does this command return and does the semaphore_version.h file exist after executing this command?
Bert
GB
Gabriel Betancur, modified 9 Years ago.
RE: Compiling the code under Windows
Youngling Posts: 20 Join Date: 8/24/11 Recent Posts 00
Hello Bert,
Thanks for your help. I decided to reinstall all the applications which are: Visual Studio 2008, Intel Visual Fortran Compiler 11.0 and GUI version of Delft3d, and the program compiled succesfully. It looks like the problem was in the Fortran compiler, it wasn't well installed, and the libraries were not working during the compilation, but the reinstalation solved the problem.
Now I'm going to run some examples, following your previous explanation, about the files in the /bin folder.
Thanks a lot for your time and guidance.
Greetings.
--
Gabriel.
Thanks for your help. I decided to reinstall all the applications which are: Visual Studio 2008, Intel Visual Fortran Compiler 11.0 and GUI version of Delft3d, and the program compiled succesfully. It looks like the problem was in the Fortran compiler, it wasn't well installed, and the libraries were not working during the compilation, but the reinstalation solved the problem.
Now I'm going to run some examples, following your previous explanation, about the files in the /bin folder.
Thanks a lot for your time and guidance.
Greetings.
--
Gabriel.