[MOAB-dev] MOAB in Windows (Cygwin/Msys) does not compile

Vijay S. Mahadevan vijay.m at gmail.com
Mon Jan 9 10:44:32 CST 2017


Manuel,

Great to hear that MOAB has been useful for your work. We currently do
not test on Cygwin and so I don't have a machine where I can test a
working build. However, the error due to MB_DLL_EXPORT looks strange.
This is defined in src/moab/Compiler.hpp. Also, I can't see
MB_DLL_EXPORT defined in ExoIIInterface. Do you have local changes
that differ from the latest version or Bitbucket master ?

If you would like to contribute back changes to get the Cygwin builds
working cleanly, we would much appreciate it if you can submit a pull
request in Bitbucket. The Windows support in MOAB is continuously
evolving and user contributions are critical to get this capability
working for different OS/compiler combinations.

Vijay

On Fri, Jan 6, 2017 at 3:15 AM, Manuel Torrilhon
<mt at mathcces.rwth-aachen.de> wrote:
> Dear MOAB team,
>
> I enjoy using MOAB for my pde simulation code. I have good experiences with
> MOAB under Ubuntu, Centos and MacOS, but I have difficulties to compile it
> in a Windows environment using either Cygwin or Msys unix emulation. Both
> give the compilation error listed below, which I don't understand.
>
> Any help is greatly appreciated.
>
> Best regards,
> Manuel
>
>
> ------
> [...]
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I../../src/moab
> -I../../src/parallel -I../../src
> -DTEMPLATE_SPECIALIZATION -DTEMPLATE_FUNC_SPECIALIZATION -DHAVE_VSNPRINTF
> -D_FILE_OFFSET_BITS=64
> -DIS_BUILDING_MB -I.. -I./.. -I./../parallel -DUNORDERED_MAP_NS=std::tr1
> -DHAVE_UNORDERED_MAP=tr1/unordered_map
> -DHAVE_UNORDERED_SET=tr1/unordered_set -Wall -pipe -pedantic -Wno-long-long
> -Wextra -Wcast
> -align -Wpointer-arith -Wformat -Wformat-security -Wshadow
> -Wunused-parameter -O2 -DNDEBUG
> -MT ExoIIUtil.lo -MD -MP -MF .deps/ExoIIUtil.Tpo -c ExoIIUtil.cpp -o
> ExoIIUtil.o
>
> In file included from ExoIIUtil.cpp:17:0:
> ../../src/Internals.hpp:21:0: warning: ignoring #pragma warning
> [-Wunknown-pragmas]
>  #pragma warning(disable : 4786)
>  ^
> In file included from ExoIIUtil.hpp:28:0,
>                  from ExoIIUtil.cpp:16:
> moab/ExoIIInterface.hpp:45:21: error: expected initializer before
> 'ExoIIInterface'
>  class MB_DLL_EXPORT ExoIIInterface
>                      ^
> In file included from
> c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\ext\atomicity.h:35:0,
>                  from
> c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\ios_base.h:39,
>                  from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\ios:42,
>                  from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\ostream:38,
>                  from
> c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\iterator:64,
>                  from ../../src/moab/Range.hpp:167,
>                  from ../../src/moab/Interface.hpp:44,
>                  from ExoIIUtil.cpp:18:
> c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\mingw32\bits\gthr.h:30:37: error:
> expected '}' before end of line
> c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\mingw32\bits\gthr.h:30:37: error:
> expected declaration before end of line
> make[5]: *** [ExoIIUtil.lo] Error 1
> [...]
> --------


More information about the moab-dev mailing list