Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

msys2/mingw64 build fails #653

Open
sanderboer opened this issue Jan 16, 2017 · 7 comments
Open

msys2/mingw64 build fails #653

sanderboer opened this issue Jan 16, 2017 · 7 comments

Comments

@sanderboer
Copy link

sanderboer commented Jan 16, 2017

Hi,

On windows10, msys2/mingw64, trying to build the git repo cloned fresh on 16jan 2017, the build fails complaining about "external linkage required" :

[ 42%] Building CXX object adm/cmake/TKTopAlgo/CMakeFiles/TKTopAlgo.dir/__/__/__/src/BRepBuilderAPI/BRepBuilderAPI_FastSewing.cxx.obj In file included from D:/OpenCascade/oce/inc/Handle_TopoDS_TShape.hxx:10:0, from D:/OpenCascade/oce/inc/TopoDS_Shape.hxx:13, from D:/OpenCascade/oce/drv/BRepBuilderAPI/BRepBuilderAPI_Copy.jxx:1, from D:/OpenCascade/oce/drv/BRepBuilderAPI/BRepBuilderAPI_Copy.ixx:6, from D:/OpenCascade/oce/src/BRepBuilderAPI/BRepBuilderAPI_Copy.cxx:17: D:/OpenCascade/oce/src/Standard/Standard_DefineHandle.hxx:94:54: error: external linkage required for symbol 'const Handle_Standard_Type& {anonymous}::BRepBuilderAPI_Copy_Modification::DynamicType() const' because of 'dllexport' attribute Standard_EXPORT virtual const Handle(Standard_Type)& DynamicType() const; ^ D:/OpenCascade/oce/src/BRepBuilderAPI/BRepBuilderAPI_Copy.cxx:139:3: note: in expansion of macro 'DEFINE_STANDARD_RTTI' DEFINE_STANDARD_RTTI(BRepBuilderAPI_Copy_Modification) ^~~~~~~~~~~~~~~~~~~~ D:/OpenCascade/oce/src/Standard/Standard_DefineHandle.hxx:76:37: error: external linkage required for symbol 'static {anonymous}::Handle_BRepBuilderAPI_Copy_Modification {anonymous}::Handle_BRepBuilderAPI_Copy_Modification::DownCast(const Handle_Standard_Transient&)' because of 'dllexport' attribute Standard_EXPORT static Handle(C1) DownCast(const Handle(BC)& AnObject); \ ^ D:/OpenCascade/oce/src/Standard/Standard_DefineHandle.hxx:81:39: note: in expansion of macro 'DEFINE_STANDARD_HANDLECLASS' #define DEFINE_STANDARD_HANDLE(C1,C2) DEFINE_STANDARD_HANDLECLASS(C1,C2,Standard_Transient) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ D:/OpenCascade/oce/src/BRepBuilderAPI/BRepBuilderAPI_Copy.cxx:146:1: note: in expansion of macro 'DEFINE_STANDARD_HANDLE' DEFINE_STANDARD_HANDLE(BRepBuilderAPI_Copy_Modification, BRepTools_Modification) ^~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [adm/cmake/TKTopAlgo/CMakeFiles/TKTopAlgo.dir/build.make:4339: adm/cmake/TKTopAlgo/CMakeFiles/TKTopAlgo.dir/__/__/__/src/BRepBuilderAPI/BRepBuilderAPI_Copy.cxx.obj] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/Makefile2:1420: adm/cmake/TKTopAlgo/CMakeFiles/TKTopAlgo.dir/all] Error 2 make: *** [Makefile:161: all] Error 2

Any suggestions ?

gr.
Sander

@sanderboer
Copy link
Author

I just succesfully compiled 0.17.2 from the packaged source zip with this msys2/mingw64 setup.
Trying to compile 0.18 from the packaged zip results in the same error, however.

@tpaviot
Copy link
Owner

tpaviot commented Jan 17, 2017

@sanderboer thank you for your report

strange, mingw64 uses to work see https://ci.appveyor.com/project/tpaviot/oce

which gcc version is it ? can you please copy/paste the full trace

@tpaviot
Copy link
Owner

tpaviot commented Jan 17, 2017

@sanderboer did u have a look at #631 ?

@mat127
Copy link

mat127 commented May 22, 2017

Hi, I have encoutered nearly the same error while building the 0.18.1 on Win7:

[ 23%] Building CXX object adm/cmake/TKTopAlgo/CMakeFiles/TKTopAlgo.dir////src/BRepBuilderAPI/BRepBuilderAPI_Copy.cxx.obj
In file included from C:/Users/Petr.Matousek/Documents/NetBeansProjects/oce/inc/Handle_TopoDS_TShape.hxx:10:0,
from C:/Users/Petr.Matousek/Documents/NetBeansProjects/oce/inc/TopoDS_Shape.hxx:13,
from C:/Users/Petr.Matousek/Documents/NetBeansProjects/oce/drv/BRepBuilderAPI/BRepBuilderAPI_Copy.jxx:1,
from C:/Users/Petr.Matousek/Documents/NetBeansProjects/oce/drv/BRepBuilderAPI/BRepBuilderAPI_Copy.ixx:6,
from C:/Users/Petr.Matousek/Documents/NetBeansProjects/oce/src/BRepBuilderAPI/BRepBuilderAPI_Copy.cxx:17:
C:/Users/Petr.Matousek/Documents/NetBeansProjects/oce/src/Standard/Standard_DefineHandle.hxx:94:54: error: external linkage required for symbol 'const Handle_Standard_Type& {anonymous}::BRepBuilderAPI_Copy_Modification::DynamicType() const' because of 'dllexport' attribute
Standard_EXPORT virtual const Handle(Standard_Type)& DynamicType() const;
^
C:/Users/Petr.Matousek/Documents/NetBeansProjects/oce/src/BRepBuilderAPI/BRepBuilderAPI_Copy.cxx:139:3: note: in expansion of macro 'DEFINE_STANDARD_RTTI'
DEFINE_STANDARD_RTTI(BRepBuilderAPI_Copy_Modification)
^~~~~~~~~~~~~~~~~~~~
C:/Users/Petr.Matousek/Documents/NetBeansProjects/oce/src/Standard/Standard_DefineHandle.hxx:76:37: error: external linkage required for symbol 'static {anonymous}::Handle_BRepBuilderAPI_Copy_Modification {anonymous}::Handle_BRepBuilderAPI_Copy_Modification::DownCast(const Handle_Standard_Transient&)' because of 'dllexport' attribute
Standard_EXPORT static Handle(C1) DownCast(const Handle(BC)& AnObject);
^
C:/Users/Petr.Matousek/Documents/NetBeansProjects/oce/src/Standard/Standard_DefineHandle.hxx:81:39: note: in expansion of macro 'DEFINE_STANDARD_HANDLECLASS'
#define DEFINE_STANDARD_HANDLE(C1,C2) DEFINE_STANDARD_HANDLECLASS(C1,C2,Standard_Transient)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/Users/Petr.Matousek/Documents/NetBeansProjects/oce/src/BRepBuilderAPI/BRepBuilderAPI_Copy.cxx:146:1: note: in expansion of macro 'DEFINE_STANDARD_HANDLE'
DEFINE_STANDARD_HANDLE(BRepBuilderAPI_Copy_Modification, BRepTools_Modification)
^~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [adm/cmake/TKTopAlgo/CMakeFiles/TKTopAlgo.dir/build.make:4339: adm/cmake/TKTopAlgo/CMakeFiles/TKTopAlgo.dir/
///src/BRepBuilderAPI/BRepBuilderAPI_Copy.cxx.obj] Chyba 1
make[1]: *** [CMakeFiles/Makefile2:1420: adm/cmake/TKTopAlgo/CMakeFiles/TKTopAlgo.dir/all] Chyba 2
make: *** [Makefile:163: all] Chyba 2

I have a fresh MSYS2 installation, the version of gcc is:

$ gcc --version
gcc.exe (Rev3, Built by MSYS2 project) 6.3.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I followed the steps described in https://github.com/tpaviot/oce/blob/master/BUILD.MSYS2.md

@mat127
Copy link

mat127 commented May 23, 2017

According to my exploration this could be related to the version of the gcc as I was not able to compile under mingw-w64 with gcc 6.x too. With gcc 5.x the compilation was successful.

Unfortunately I was not able to downgrade the gcc under the MSys2 as nearly everything (including the core components like e.g. pacman) are dependent on the gcc-libs that has to be downgraded too.

On the other hand the compilation with the gcc 6.3.1 was successful on my Linux machine.

So this is where I got so far, just wanted to share the info.

@ArvinShaffer
Copy link

@sanderboer thank you for your report

strange, mingw64 uses to work see https://ci.appveyor.com/project/tpaviot/oce

which gcc version is it ? can you please copy/paste the full trace

I tried the above method to successfully compile Oce, but these libraries are missing -lTKPCAF -lTKXCAFSchema -lTKShapeSchema -lTKPLCAF -lTKNIS -lTKStdLSchema -lTKVoxel -lTKPShape -lTKStdSchema

PS D:\software\oce-OCE-0.18\build> gcc --version
gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

@ArvinShaffer
Copy link

I successfully used gcc5.3 to compile oce0.18,solve the error Standard_DefineHandle.hxx:94:54: error: external linkage required for symbol 'const Handle_Standard_Type& {anonymous}::BRepBuilderAPI_Copy_Modification::DynamicType() const' because of 'dllexport' attribute

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants