Code: Select all
ninja: error: 'D:/a/_temp/msys/msys64/mingw64/lib/libopenvr_api.dll.a', needed by 'bin/libSMDS.dll', missing and no known rule to make it
Code: Select all
ninja: error: 'D:/a/_temp/msys/msys64/mingw64/lib/libopenvr_api.dll.a', needed by 'bin/libSMDS.dll', missing and no known rule to make it
How well does it work to build OCCT on your own? When I have built it 10 years ago with MSYS/MinGW inside a command line prompt it was a major PITA because for a lot of dlls there were a few thousand source files included that has exceeded the maximum number of allowed characters of the program parameters.
I am curious why there is dependency on OpenVR? SMESH should not need it, at least for the functionality needed by FreeCAD.
I used the MinGW packaging setup here: https://github.com/msys2/MINGW-packages ... pencascade
Code: Select all
MINGW_ARCH=mingw64 makepkg-mingw -sLf
Currently I am testing the MSYS2/MinGW build and succeeded to set up the environment.chennes wrote: ↑Mon Sep 13, 2021 12:20 am I'm working on updating our MSYS2/MinGW build instructions (https://wiki.freecadweb.org/index.php?t ... e_on_MinGW). I've made good progress through a number of errors, and have the initial cMake run actually working now, but I'm getting a build error that is over my head. The error I get when I try to run cmake --build ./ is:The path it's looking in is garbage, there's nothing there. But E:/msys/msys64/mingw64/lib/libopenvr_api.dll.a does exist. The build.ninja file shows a number of libraries that are being searched for in that incorrect path. Does anyone have any idea where it might be coming from?Code: Select all
ninja: error: 'D:/a/_temp/msys/msys64/mingw64/lib/libopenvr_api.dll.a', needed by 'bin/libSMDS.dll', missing and no known rule to make it
Inside the bin directory of minwg64 you will find a file env.bat and this uses this odd path.
In the function at src/3rdParty/salomesmesh/inc/ObjectPool.hxx around line 133, I replaced all of the int data types with int64_t. I had to make the same change at src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_ProjectionUtils.cpp +109
Code: Select all
In file included from E:/msys64/tmp/FreeCAD-chennes/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_QuadFromMedialAxis_1D2D.cpp:32:
E:/msys64/tmp/FreeCAD-chennes/src/3rdParty/salomesmesh/inc/SMESH_MeshEditor.hxx:85:18: error: function 'SMESH_MeshEditor::ElemFeatures::ElemFeatures(SMDSAbs_ElementType, bool, bool)' definition is marked dllimport
85 | SMESH_EXPORT ElemFeatures( SMDSAbs_ElementType type=SMDSAbs_All, bool isPoly=false, bool isQuad=false )
| ^~~~~~~~~~~~
E:/msys64/tmp/FreeCAD-chennes/src/3rdParty/salomesmesh/inc/SMESH_MeshEditor.hxx:88:32: error: function 'SMESH_MeshEditor::ElemFeatures& SMESH_MeshEditor::ElemFeatures::Init(SMDSAbs_ElementType, bool, bool)' definition is marked ort
88 | SMESH_EXPORT ElemFeatures& Init( SMDSAbs_ElementType type, bool isPoly=false, bool isQuad=false )
| ^~~~
E:/msys64/tmp/FreeCAD-chennes/src/3rdParty/salomesmesh/inc/SMESH_MeshEditor.hxx:93:32: error: function 'SMESH_MeshEditor::ElemFeatures& SMESH_MeshEditor::ElemFeatures::Init(double)' definition is marked dllimport
93 | SMESH_EXPORT ElemFeatures& Init( double diameter )
| ^~~~
E:/msys64/tmp/FreeCAD-chennes/src/3rdParty/salomesmesh/inc/SMESH_MeshEditor.hxx:96:32: error: function 'SMESH_MeshEditor::ElemFeatures& SMESH_MeshEditor::ElemFeatures::Init(std::vector<int>&, bool)' definition is marked dllimpor
96 | SMESH_EXPORT ElemFeatures& Init( std::vector<int>& quanities, bool isQuad=false )
| ^~~~
E:/msys64/tmp/FreeCAD-chennes/src/3rdParty/salomesmesh/inc/SMESH_MeshEditor.hxx:100:32: error: function 'SMESH_MeshEditor::ElemFeatures& SMESH_MeshEditor::ElemFeatures::Init(const std::vector<int>&, bool)' definition is marked drt
100 | SMESH_EXPORT ElemFeatures& Init( const std::vector<int>& quanities, bool isQuad=false )
| ^~~~
E:/msys64/tmp/FreeCAD-chennes/src/3rdParty/salomesmesh/inc/SMESH_MeshEditor.hxx:104:32: error: function 'SMESH_MeshEditor::ElemFeatures& SMESH_MeshEditor::ElemFeatures::SetPoly(bool)' definition is marked dllimport
104 | SMESH_EXPORT ElemFeatures& SetPoly(bool isPoly) { myIsPoly = isPoly; return *this; }
| ^~~~~~~
E:/msys64/tmp/FreeCAD-chennes/src/3rdParty/salomesmesh/inc/SMESH_MeshEditor.hxx:105:32: error: function 'SMESH_MeshEditor::ElemFeatures& SMESH_MeshEditor::ElemFeatures::SetQuad(bool)' definition is marked dllimport
105 | SMESH_EXPORT ElemFeatures& SetQuad(bool isQuad) { myIsQuad = isQuad; return *this; }
| ^~~~~~~
E:/msys64/tmp/FreeCAD-chennes/src/3rdParty/salomesmesh/inc/SMESH_MeshEditor.hxx:106:32: error: function 'SMESH_MeshEditor::ElemFeatures& SMESH_MeshEditor::ElemFeatures::SetID(int)' definition is marked dllimport
106 | SMESH_EXPORT ElemFeatures& SetID (int ID) { myID = ID; return *this; }
| ^~~~~