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

Is there a bot build? #14

Open
Moult opened this issue Mar 7, 2023 · 4 comments
Open

Is there a bot build? #14

Moult opened this issue Mar 7, 2023 · 4 comments

Comments

@Moult
Copy link

Moult commented Mar 7, 2023

I don't have a conda environment, is there a build that I can get that doesn't depend on conda?

@Moult
Copy link
Author

Moult commented Mar 7, 2023

Ran across this when compiling. I managed to fix it by updating this line in cmakelists:

				set(SCHEMA_VERSIONS "2x3" "4" "4x1" "4x2" "4x3_rc1" "4x3_rc2" "4x3_rc3" "4x3_rc4" "4x3" "4x3_add1" "4x3_tc1")

and this line:

		set(IFC_LIBRARY_NAMES IfcGeom IfcGeom_ifc2x3 IfcGeom_ifc4 IfcGeom_ifc4x1
		                      IfcGeom_ifc4x2 IfcGeom_ifc4x3_rc1 IfcGeom_ifc4x3_rc2
		                      IfcGeom_ifc4x3_rc3 IfcGeom_ifc4x3_rc4 IfcGeom_ifc4x3 IfcGeom_ifc4x3_add1 IfcGeom_ifc4x3_tc1
		                      IfcParse)

... basically to include 4x3_add1 and 4x3_tc1. Not sure if that fix is legitimate though :)

[  9%] Building CXX object CMakeFiles/libvoxel.dir/tribox3.cpp.o
[ 18%] Building CXX object CMakeFiles/libvoxel.dir/factory.cpp.o
[ 36%] Building CXX object CMakeFiles/libvoxel.dir/progress_writer.cpp.o
[ 36%] Building CXX object CMakeFiles/libvoxel.dir/polyfill.cpp.o
[ 45%] Building CXX object CMakeFiles/libvoxel.dir/storage.cpp.o
[ 54%] Building CXX object CMakeFiles/libvoxel.dir/json_logger.cpp.o
[ 63%] Linking CXX static library liblibvoxel.a
[ 63%] Built target libvoxel
[ 72%] Building CXX object CMakeFiles/libvoxec.dir/voxec.cpp.o
[ 81%] Linking CXX static library liblibvoxec.a
[ 81%] Built target libvoxec
[ 90%] Building CXX object CMakeFiles/voxec.dir/voxec_main.cpp.o
[100%] Linking CXX executable voxec
/usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/ld: /home/dion/Projects/ifcopenshell/build/libIfcGeom.a(IteratorImplementation.cpp.o): in function `IteratorFactoryImplementation::IteratorFactoryImplementation()':
IteratorImplementation.cpp:(.text+0x6c5): undefined reference to `init_IteratorImplementation_Ifc4x3_tc1(IteratorFactoryImplementation*)'
/usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/ld: IteratorImplementation.cpp:(.text+0x6cd): undefined reference to `init_IteratorImplementation_Ifc4x3_add1(IteratorFactoryImplementation*)'
/usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/ld: /home/dion/Projects/ifcopenshell/build/libIfcGeom.a(Kernel.cpp.o): in function `IfcGeom::impl::KernelFactoryImplementation::KernelFactoryImplementation()':
Kernel.cpp:(.text+0xa15): undefined reference to `init_KernelImplementation_Ifc4x3_tc1(IfcGeom::impl::KernelFactoryImplementation*)'
/usr/lib/gcc/x86_64-pc-linux-gnu/12/../../../../x86_64-pc-linux-gnu/bin/ld: Kernel.cpp:(.text+0xa1d): undefined reference to `init_KernelImplementation_Ifc4x3_add1(IfcGeom::impl::KernelFactoryImplementation*)'
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/voxec.dir/build.make:151: voxec] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:896: CMakeFiles/voxec.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2

@Moult
Copy link
Author

Moult commented Mar 7, 2023

I also had to comment out these two lines in cmakelists:

            #set(OCC_LIBRARY_DIR  ${OCCT_PATH}/lib)
			#set(OCC_INCLUDE_DIR  ${OCCT_PATH}/include/opencascade)

... as on my system my opencascade doesn't follow that pattern (i.e mine is in /usr/lib64/opencascade and /usr/include/opencascade). Then I defined OCC_INCLUDE_DIR and OCC_LIBRARY_DIR myself.

@aothms
Copy link
Member

aothms commented Mar 7, 2023

Hm yes, this really indicates the need in IfcOpenShell to have some sort of recoverable configuration stored somewhere so that applications linking to ifcopenshell know what to include in the link.

Ran across this when compiling. I managed to fix it by updating this line in cmakelists:

				set(SCHEMA_VERSIONS "2x3" "4" "4x1" "4x2" "4x3_rc1" "4x3_rc2" "4x3_rc3" "4x3_rc4" "4x3" "4x3_add1" "4x3_tc1")

and this line:

		set(IFC_LIBRARY_NAMES IfcGeom IfcGeom_ifc2x3 IfcGeom_ifc4 IfcGeom_ifc4x1
		                      IfcGeom_ifc4x2 IfcGeom_ifc4x3_rc1 IfcGeom_ifc4x3_rc2
		                      IfcGeom_ifc4x3_rc3 IfcGeom_ifc4x3_rc4 IfcGeom_ifc4x3 IfcGeom_ifc4x3_add1 IfcGeom_ifc4x3_tc1
		                      IfcParse)

I think these would be reasonable to commit.

I also had to comment out these two lines in cmakelists:

            #set(OCC_LIBRARY_DIR  ${OCCT_PATH}/lib)
			#set(OCC_INCLUDE_DIR  ${OCCT_PATH}/include/opencascade)

I have the tendency to think that you should use -DUSE_BUILD_SCRIPT_OUTPUT=Off, otherwise the ifcopenshell nix/build-all.py output is expected. And then these two lines wouldn't affect you.

@Moult
Copy link
Author

Moult commented Mar 7, 2023

Ah nice I did end up turning off a few things:

    -DENABLE_TESTS=Off \
    -DUSE_STATIC_MSVC_RUNTIME=Off \
    -DUSE_BUILD_SCRIPT_OUTPUT=Off \

:) if tests were enabled I got another error but I don't have the logs now. I also noticed some examples used entities= instead of include= for the create_geometry calls.

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

2 participants