intro story D-Flow FM

 

D-Flow Flexible Mesh

D-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:

  • Easier 1D-2D-3D model coupling, intuitive setup of boundary conditions and meteorological forcings (amongst others).
  • More flexible 2D gridding in delta regions, river junctions, harbours, intertidal flats and more.
  • High performance by smart use of multicore architectures, and grid computing clusters.
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! 

 

=======================================================
We have launched a new website (still under construction so expect continuous improvements) and a new forum dedicated to Delft3D Flexible Mesh.

Please follow this link to the new forum: 
/web/delft3dfm/forum

Post your questions, issues, suggestions, difficulties related to our Delft3D Flexible Mesh Suite on the new forum.

=======================================================

** PLEASE TAG YOUR POST! **

 

 

Sub groups
D-Flow Flexible Mesh
DELWAQ
Cohesive sediments & muddy systems

 


Message Boards

Ubuntu compile - open_missing_mode error

SP
Seb Pitman, modified 2 Years ago.

Ubuntu compile - open_missing_mode error

Youngling Posts: 2 Join Date: 5/23/18 Recent Posts

Hi All,

 

I've been trying to compile on Ubuntu for a few days as a new user to linux. I've worked out most of the errors so far (these forums have been a great help!), but am stumped by the latest one.

I've run autogen, configure, but on make I'm receiving the following error message:


In file included from /usr/include/fcntl.h:290:0,
                            from oc.c:45:
In function ‘open’,
    inlined from ‘open_nefis_file’ at oc.c:1296:19:
/usr/include/x86_64-linux-gnu/bits/fcntl2.h:50:4: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments
    __open_missing_mode ();
    ^~~~~~~~~~~~~~~~~~~~~~
Makefile:573: recipe for target 'oc.lo' failed
make[7]: *** [oc.lo] Error 1
make[7]: Leaving directory '/home/seb/delft3dtrunk/src/utils_lgpl/nefis/packages/nefis/src'

 

I'd be really grateful for any steer on  how to debug! Thanks in advance for your help.

 

Cheers

Seb

Adri Mourits, modified 2 Years ago.

RE: Ubuntu compile - open_missing_mode error

Yoda Posts: 1224 Join Date: 1/3/11 Recent Posts

Hi Seb,

The gnu4.6.2.log files you attached are created by me as an example of how the output should look like. Can you redirect your output to a new file and attach them to a post in this thread?

What Gnu version are you using?

Regards,

Adri

MG
Marcelo Gagliardi, modified 2 Years ago.

RE: Ubuntu compile - open_missing_mode error

Youngling Posts: 15 Join Date: 1/11/15 Recent Posts

Hi Seb and Adri,

 

I have been trying to compile delft on Ubuntu server for a couple of days and I'm getting a similar error:

In function ‘open’,
    inlined from ‘open_nefis_file’ at oc.c:1296:19:
/usr/include/x86_64-linux-gnu/bits/fcntl2.h:50:4: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments
    __open_missing_mode ();
    ^~~~~~~~~~~~~~~~~~~~~~
Makefile:567: recipe for target 'oc.lo' failed
make[6]: *** [oc.lo] Error 1
make[6]: Leaving directory '/home/beowolf/delft3dtag/src/utils_lgpl/nefis/packages/nefis/src'
Makefile:688: recipe for target 'install' failed
make[5]: *** [install] Error 2
make[5]: Leaving directory '/home/beowolf/delft3dtag/src/utils_lgpl/nefis/packages/nefis/src'
Makefile:490: recipe for target 'install-recursive' failed
make[4]: *** [install-recursive] Error 1
make[4]: Leaving directory '/home/beowolf/delft3dtag/src/utils_lgpl/nefis/packages/nefis'
Makefile:489: recipe for target 'install-recursive' failed
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory '/home/beowolf/delft3dtag/src/utils_lgpl/nefis/packages'
Makefile:491: recipe for target 'install-recursive' failed
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory '/home/beowolf/delft3dtag/src/utils_lgpl/nefis'
Makefile:499: recipe for target 'install-recursive' failed
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory '/home/beowolf/delft3dtag/src/utils_lgpl'
Makefile:549: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1

 

I wonder if anybody had solved this one.

 

Thanks in advance.

Cheers,

Marcelo

 

Attachments:

Adri Mourits, modified 2 Years ago.

RE: Ubuntu compile - open_missing_mode error

Yoda Posts: 1224 Join Date: 1/3/11 Recent Posts

Hi Marcelo,

File "fcntl2.h" should not be used when compiling "oc.c". Your post above only contains the error message. The lines in stdout just before these messages contain the compile command, with all its arguments. Does that give a clue about what goes wrong?

Directory https://svn.oss.deltares.nl/repos/delft3d/trunk/src contains two files about compiling on Ubuntu:
build_ubuntu.16.04LT.readme
build_ubuntu1604.sh
Does the information in there help?

Directory https://svn.oss.deltares.nl/repos/delft3d/trunk/src/logs contains the full output of autogen/configure/make. It's a little bit outdated, but might be useful for you to compare with.

If you still have compilation problems, please attach the full output of autogen/configure/make to a post on this forum.

Regards,

Adri

MG
Marcelo Gagliardi, modified 2 Years ago.

RE: Ubuntu compile - open_missing_mode error

Youngling Posts: 15 Join Date: 1/11/15 Recent Posts

Hi Adri,

 

Thanks for the answer. Sorry for the incomplete post.

I'm trying to compile the tag version 7545, and I followed the instructions on the build_ubuntu.16.04LT.readme file that you mentioned. I fact, I succeed in compiling this version on a vm with ubuntu 16.04 following these instructions, but it's not working on ubuntu server 17. I will compare the logs and see if can found the error, in the meantime, I am sending the logs that you mentioned.

 

Thanks for attention.

Regards,

Marcelo

ML
Mario Mascagni, modified 2 Years ago.

RE: Ubuntu compile - open_missing_mode error

Youngling Posts: 8 Join Date: 11/24/11 Recent Posts

Hi Dri,

I am also having the same problem trying to compile the vesion 7545 and trunk versions on Linux Gentoo.

I dont know how to solve this problem yet, but the there are some significant changes in glibc-2.27 in relation to glibc-2.25 - when I last compiled version 7545 succesfully. So now glibc is calling fcntl2.h to compile oc.o, and the error is that should have 3 arguments to open_nefis_file’ at oc.c:1296:19, but there is only 2.

The only way I manage to compile Delft3D again was downgrading gcc to gcc-6.4.0 in order to downgrade glibc to glibc-2.25, but I messed my system a litle doind that.

 

ML
Mario Luiz Mascagni, modified 1 Year ago.

RE: Ubuntu compile - open_missing_mode error

Youngling Posts: 8 Join Date: 11/24/11 Recent Posts

Hi,

 

I am sorry, but I've been playing with the d3d code without understand whats is really going on. I knew the problem was in the line 1296 of the oc.c script, so I changed that line to the 1297 line as in the following piece of the code: 

#########################################################

1286  /* open file with appropriate access type
1287 */
1288   if ( fds == -1 )
1289   {
1290       if ( acType == FILE_CREATE )
1291       {
1292          fds   = FILE_OPEN( file_name, acType, FILE_MODE );
1293       }
1294   else
1295   {
1296   /*       fds   = FILE_OPEN( file_name, acType );                         */
1297            fds   = FILE_OPEN( file_name, acType, FILE_MODE );
1298       }
1299   }

##########################################################

 

This change worked for me to compile the trunk version, once fcntl2.h require a third argument for FILE_OPEN.

I am sorry again for change the code in that way, I hope somebody who knows what are doing may fix this part of the code in a near future.

best regards