Closed looooo closed 1 year ago
Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe
) and found it was in an excellent condition.
@donovaly can you help with the compiler issues. Has anything changed regarding smesh (FEM-MESH) compared to 0.20.1? Also I am not sure about the windows issue.
~what version of occt is this using?~(7.6.3) perhaps this is the culprit? d8bc205b756 I don't think this type of include changes should be made on a stable branch
@adrianinsaval thanks for your help. not sure if this is culprit. To me it seems like the line that makes troubles look the same for master and 0.20.2. Here is the error message:
$SRC_DIR/src/Mod/Fem/App/FemMeshShapeObject.cpp:85:23: error: invalid use of incomplete type 'class SMESH_Mesh'
85 | newMesh.getSMesh()->ShapeToMesh(shape);
Can you try if reverting this works? It's not about that line specifically but about the includes necessary for that line to work. We've had trouble before with this kind of changes, in master it's no big deal because it's constantly being built on multiple platforms, issues are detected and solved quickly, on the stable branch the problem could have gone undetected for months until there is a point release
Here are the error messages:
linux
$SRC_DIR/src/Mod/Fem/App/FemMeshShapeObject.cpp:85:23: error: invalid use of incomplete type 'class SMESH_Mesh'
85 | newMesh.getSMesh()->ShapeToMesh(shape);
osx:
$SRC_DIR/src/Mod/Fem/App/FemMesh.cpp:1174:21: error: unknown type name 'string'; did you mean 'std::string'?
std::vector<string> token_results;
win:
%SRC_DIR%\src\Mod\Fem\App\FemMesh.cpp(1298): error C2065: 'string': undeclared identifier
seems like the windows error and the osx error are nearly the same and should be fixed with https://github.com/FreeCAD/FreeCAD/commit/a96a3a505f63a589cc6dad02478c4df135cf7fdd
Can you try if reverting this works? It's not about that line specifically but about the includes necessary for that line to work. We've had trouble before with this kind of changes, in master it's no big deal because it's constantly being built on multiple platforms, issues are detected and solved quickly, on the stable branch the problem could have gone undetected for months until there is a point release
Maybe we can find the fix in the master branch and add it as a patch.
now I see a different smesh error for linux:
$SRC_DIR/src/Mod/Fem/App/HypothesisPy.cpp:60:12: fatal error: StdMeshers_TrianglePreference.hxx: No such file or directory
60 | # include <StdMeshers_TrianglePreference.hxx>
but this should not be a problem as smesh is version 9.8
# if SMESH_VERSION_MAJOR < 7
# include <StdMeshers_TrianglePreference.hxx>
# endif
argh: why master works and not 0.20.2???
Try also applying https://github.com/FreeCAD/FreeCAD/commit/63cc0422991d1a797e40bf7d9b9a11661dfcb068 In the issue mentioned in the commit you linked this was brought up too
@donovaly what do you think about adding these two commits to the 0.20.2 branch? These are needed to build freecad via conda.
does that means it worked for you locally? @donovaly please refrain from back porting changes like https://github.com/FreeCAD/FreeCAD/commit/d8bc205b756ec625b510ce7276e3ee7d40ccfa15 in the future, I understand these can be beneficial so it's perfectly fine to do on master branch but IMO it's not worth the trouble in the stable branch where there is very little multi-platform testing and we are supposed to only backport bugfixes there
does that means it worked for you locally?
I didn't test locally. But as all 3 platforms reported the same issue in the last build, I hope this should be resolved.
@donovaly please refrain from back porting changes like FreeCAD/FreeCAD@d8bc205 in the future, I understand these can be beneficial so it's perfectly fine to do on master branch but IMO it's not worth the trouble in the stable branch where there is very little multi-platform testing and we are supposed to only backport bugfixes there
In addition it would be nice to have more alpha builds (which are basically snapshots of master) and less after-releases (which are divorced branches). But I guess we have a little bit more time until we see a 0.21 release.
ok windows is failing with a linking issue:
FemMeshShapeObject.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl StdMeshers_NumberOfSegments::SetNumberOfSegments(__int64)" (__imp_?SetNumberOfSegments@StdMeshers_NumberOfSegments@@QEAAX_J@Z) referenced in function "public: virtual class App::DocumentObjectExecReturn * __cdecl Fem::FemMeshShapeObject::execute(void)" (?execute@FemMeshShapeObject@Fem@@UEAAPEAVDocumentObjectExecReturn@App@@XZ)
https://github.com/FreeCAD/FreeCAD/pull/7496 ok this was back ported, so we should use smesh 9.9 👍
@donovaly can you help with the compiler issues. Has anything changed regarding smesh (FEM-MESH) compared to 0.20.1? Also I am not sure about the windows issue.
Nothing changed with SMESH. I cannot remember any change inn thrid-party libraries since FC 0.20.1. Personally, I use exactly the same build environment for 0.20.1 and 0.20.2. (I only addeed 2 SSH DLLs but it turned out this is not necessary.) So using your 0.20.x setup and it should work. You can ignore Windows issues. We already have a Windows build available that was tested by the community. So once you are able to get a MacOS and Linux build, be can make the release announcement. Afterwards we can fix further issues.
( What I have is two separate build environments, one for master and Toponaming one for 0.20.x. This way I assure I can always build 0.20.x and if not, there is a bug in our Git repository, and definitely not in my third-party setup.)
Currently I am away and cannot help much.
~what version of occt is this using?~(7.6.3) perhaps this is the culprit? d8bc205b756 I don't think this type of include changes should be made on a stable branch
Indeed, this should not have gone into the 0-20 branch. I will revert this (not sure I I can this this from my laptop, though)
no rush, the tag won't change anyways so it's fine to do it once you are back
I will revert this (not sure I I can this this from my laptop, though)
I had a look and there are many of such commits. I cannot revert them all. However, the CI succeeds with the 0.20 branch and those commits just removed unused includes. I don't see why one needs to change SMESH. As I wrote, I use the same SMESH for all 0.20 builds purposely.
Try also applying FreeCAD/FreeCAD@63cc042 In the issue mentioned in the commit you linked this was brought up too
Ah, yes, I backported the commit to see the SMESH version in the About dialog. And I missed to backport this commit. My fault, sorry. I backported this change now too.
Lesson learned: backport really only bugfixes, no other things, no matter how helpful they might be for maintenance.
@donovaly what do you think about adding these two commits to the 0.20.2 branch? These are needed to build freecad via conda.
* [FreeCAD/FreeCAD@63cc042](https://github.com/FreeCAD/FreeCAD/commit/63cc0422991d1a797e40bf7d9b9a11661dfcb068) * [FreeCAD/FreeCAD@a96a3a5](https://github.com/FreeCAD/FreeCAD/commit/a96a3a505f63a589cc6dad02478c4df135cf7fdd)
I backported them now.
Ah, yes, I backported the commit to see the SMESH version in the About dialog.
Sorry, no, I did not backport this. So the mentioned commit does not have to be backported. However, it does not hurt to be backported, so I will leave it now in the 0-20 branch.
For the records, my WIndows build is built with SMESH 7.7.10
should we skip the tests?
======================================================================
2022-12-27T00:00:53.1931524Z ERROR: test_thermomech_flow1D (femtest.app.test_ccxtools.TestCcxTools)
2022-12-27T00:00:53.1932394Z ----------------------------------------------------------------------
2022-12-27T00:00:53.1933643Z Traceback (most recent call last):
2022-12-27T00:00:53.1934250Z File "$PREFIX/Mod/Fem/femtest/app/test_ccxtools.py", line 150, in test_thermomech_flow1D
2022-12-27T00:00:53.1935354Z fea = self.input_file_writing_test(
2022-12-27T00:00:53.1935889Z File "$PREFIX/Mod/Fem/femtest/app/test_ccxtools.py", line 234, in input_file_writing_test
2022-12-27T00:00:53.1936581Z error = fea.write_inp_file()
2022-12-27T00:00:53.1937128Z File "$PREFIX/Mod/Fem/femtools/ccxtools.py", line 388, in write_inp_file
2022-12-27T00:00:53.1937660Z meshdatagetter.get_mesh_sets()
2022-12-27T00:00:53.1938335Z File "$PREFIX/Mod/Fem/femmesh/meshsetsgetter.py", line 134, in get_mesh_sets
2022-12-27T00:00:53.1938900Z self.get_element_sets_material_and_femelement_geometry()
2022-12-27T00:00:53.1939617Z File "$PREFIX/Mod/Fem/femmesh/meshsetsgetter.py", line 674, in get_element_sets_material_and_femelement_geometry
2022-12-27T00:00:53.1940272Z self.get_element_fluid1D_elements()
2022-12-27T00:00:53.1940942Z File "$PREFIX/Mod/Fem/femmesh/meshsetsgetter.py", line 615, in get_element_fluid1D_elements
2022-12-27T00:00:53.1941486Z meshtools.get_femelement_sets(
2022-12-27T00:00:53.1941969Z File "$PREFIX/Mod/Fem/femmesh/meshtools.py", line 488, in get_femelement_sets
2022-12-27T00:00:53.1942563Z referenced_femelements = np.zeros((max(femelement_table.keys())+1,),dtype=np.int)
2022-12-27T00:00:53.1943333Z File "$PREFIX/lib/python3.10/site-packages/numpy/__init__.py", line 284, in __getattr__
2022-12-27T00:00:53.1943882Z raise AttributeError("module {!r} has no attribute "
2022-12-27T00:00:53.1944443Z AttributeError: module 'numpy' has no attribute 'int'
2022-12-27T00:00:53.1944674Z
2022-12-27T00:00:53.1945030Z ======================================================================
2022-12-27T00:00:53.1946027Z ERROR: test_material_multiple_bendingbeam_fiveboxes (femtest.app.test_solver_calculix.TestSolverCalculix)
2022-12-27T00:00:53.1946807Z ----------------------------------------------------------------------
2022-12-27T00:00:53.1947329Z Traceback (most recent call last):
2022-12-27T00:00:53.1947855Z File "$PREFIX/Mod/Fem/femtest/app/test_solver_calculix.py", line 294, in test_material_multiple_bendingbeam_fiveboxes
2022-12-27T00:00:53.1948434Z self.input_file_writing_test(get_namefromdef("test_"))
2022-12-27T00:00:53.1948956Z File "$PREFIX/Mod/Fem/femtest/app/test_solver_calculix.py", line 393, in input_file_writing_test
2022-12-27T00:00:53.1949562Z ret = testtools.compare_inp_files(
2022-12-27T00:00:53.1950193Z File "$PREFIX/Mod/Fem/femtest/app/support_utils.py", line 203, in compare_inp_files
2022-12-27T00:00:53.1950711Z file2 = open(file_name2, "r")
2022-12-27T00:00:53.1952288Z FileNotFoundError: [Errno 2] No such file or directory: '/tmp/FEM_unittests/solver_calculix_material_multiple_bendingbeam_fiveboxes_5b85441ddc4e/Mesh.inp'
2022-12-27T00:00:53.1952936Z
2022-12-27T00:00:53.1953452Z ======================================================================
2022-12-27T00:00:53.1954133Z ERROR: test_material_multiple_bendingbeam_fivefaces (femtest.app.test_solver_calculix.TestSolverCalculix)
2022-12-27T00:00:53.1955001Z ----------------------------------------------------------------------
2022-12-27T00:00:53.1955440Z Traceback (most recent call last):
2022-12-27T00:00:53.1956043Z File "$PREFIX/Mod/Fem/femtest/app/test_solver_calculix.py", line 302, in test_material_multiple_bendingbeam_fivefaces
2022-12-27T00:00:53.1957060Z self.input_file_writing_test(get_namefromdef("test_"))
2022-12-27T00:00:53.1957627Z File "$PREFIX/Mod/Fem/femtest/app/test_solver_calculix.py", line 393, in input_file_writing_test
2022-12-27T00:00:53.1958105Z ret = testtools.compare_inp_files(
2022-12-27T00:00:53.1958585Z File "$PREFIX/Mod/Fem/femtest/app/support_utils.py", line 203, in compare_inp_files
2022-12-27T00:00:53.1959087Z file2 = open(file_name2, "r")
2022-12-27T00:00:53.1960033Z FileNotFoundError: [Errno 2] No such file or directory: '/tmp/FEM_unittests/solver_calculix_material_multiple_bendingbeam_fivefaces_fd5beb77550b/Mesh.inp'
2022-12-27T00:00:53.1960535Z
2022-12-27T00:00:53.1960928Z ======================================================================
2022-12-27T00:00:53.1961485Z ERROR: test_material_multiple_tensionrod_twoboxes (femtest.app.test_solver_calculix.TestSolverCalculix)
2022-12-27T00:00:53.1962255Z ----------------------------------------------------------------------
2022-12-27T00:00:53.1962869Z Traceback (most recent call last):
2022-12-27T00:00:53.1963382Z File "$PREFIX/Mod/Fem/femtest/app/test_solver_calculix.py", line 310, in test_material_multiple_tensionrod_twoboxes
2022-12-27T00:00:53.1963978Z self.input_file_writing_test(get_namefromdef("test_"))
2022-12-27T00:00:53.1964689Z File "$PREFIX/Mod/Fem/femtest/app/test_solver_calculix.py", line 393, in input_file_writing_test
2022-12-27T00:00:53.1965257Z ret = testtools.compare_inp_files(
2022-12-27T00:00:53.1965776Z File "$PREFIX/Mod/Fem/femtest/app/support_utils.py", line 203, in compare_inp_files
2022-12-27T00:00:53.1966246Z file2 = open(file_name2, "r")
2022-12-27T00:00:53.1966985Z FileNotFoundError: [Errno 2] No such file or directory: '/tmp/FEM_unittests/solver_calculix_material_multiple_tensionrod_twoboxes_9744579cb536/Mesh.inp'
2022-12-27T00:00:53.1967510Z
2022-12-27T00:00:53.1967944Z ======================================================================
2022-12-27T00:00:53.1968642Z ERROR: test_thermomech_bimetall (femtest.app.test_solver_calculix.TestSolverCalculix)
2022-12-27T00:00:53.1969262Z ----------------------------------------------------------------------
2022-12-27T00:00:53.1969728Z Traceback (most recent call last):
2022-12-27T00:00:53.1970255Z File "$PREFIX/Mod/Fem/femtest/app/test_solver_calculix.py", line 342, in test_thermomech_bimetall
2022-12-27T00:00:53.1971142Z self.input_file_writing_test(get_namefromdef("test_"))
2022-12-27T00:00:53.1971764Z File "$PREFIX/Mod/Fem/femtest/app/test_solver_calculix.py", line 393, in input_file_writing_test
2022-12-27T00:00:53.1972272Z ret = testtools.compare_inp_files(
2022-12-27T00:00:53.1972728Z File "$PREFIX/Mod/Fem/femtest/app/support_utils.py", line 203, in compare_inp_files
2022-12-27T00:00:53.1973327Z file2 = open(file_name2, "r")
2022-12-27T00:00:53.1974286Z FileNotFoundError: [Errno 2] No such file or directory: '/tmp/FEM_unittests/solver_calculix_thermomech_bimetall_f71e7f638edc/Mesh.inp'
2022-12-27T00:00:53.1975091Z
2022-12-27T00:00:53.1975553Z ======================================================================
2022-12-27T00:00:53.1976183Z ERROR: test_thermomech_flow1D (femtest.app.test_solver_calculix.TestSolverCalculix)
2022-12-27T00:00:53.1976897Z ----------------------------------------------------------------------
2022-12-27T00:00:53.1977446Z Traceback (most recent call last):
2022-12-27T00:00:53.1978136Z File "$PREFIX/Mod/Fem/femtest/app/test_solver_calculix.py", line 350, in test_thermomech_flow1D
2022-12-27T00:00:53.1978713Z self.input_file_writing_test(get_namefromdef("test_"))
2022-12-27T00:00:53.1979295Z File "$PREFIX/Mod/Fem/femtest/app/test_solver_calculix.py", line 393, in input_file_writing_test
2022-12-27T00:00:53.1979831Z ret = testtools.compare_inp_files(
2022-12-27T00:00:53.1980356Z File "$PREFIX/Mod/Fem/femtest/app/support_utils.py", line 203, in compare_inp_files
2022-12-27T00:00:53.1980869Z file2 = open(file_name2, "r")
2022-12-27T00:00:53.1981605Z FileNotFoundError: [Errno 2] No such file or directory: '/tmp/FEM_unittests/solver_calculix_thermomech_flow1D_ba93da3a4418/Mesh.inp'
2022-12-27T00:00:53.1982252Z
2022-12-27T00:00:53.1982812Z ----------------------------------------------------------------------
should we skip the tests?
Let's ignore them for now. The tests pass for me and for our both CIs.
Checklist
0
(if the version changed)conda-smithy
(Use the phrase code>@<space/conda-forge-admin, please rerender in a comment in this PR for automated rerendering)