jacmoe / conan-assimp

Conan.io package for Assimp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linking error with static library version

bluebear94 opened this issue · comments

When using Assimp as a dependency with the shared option set to false, trying to link to the library results in the linker complaining about missing symbols:

/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/package/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/lib/libassimp.a(D3MFOpcPackage.cpp.o): in function `D3MFZipArchive':
/home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/D3MFOpcPackage.cpp:254: undefined reference to `unzOpen2'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/package/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/lib/libassimp.a(D3MFOpcPackage.cpp.o): in function `Assimp::D3MF::D3MFZipArchive::mapArchive()':
/home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/D3MFOpcPackage.cpp:352: undefined reference to `unzGoToFirstFile'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/D3MFOpcPackage.cpp:358: undefined reference to `unzGetCurrentFileInfo'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/D3MFOpcPackage.cpp:362: undefined reference to `unzOpenCurrentFile'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/D3MFOpcPackage.cpp:365: undefined reference to `unzReadCurrentFile'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/D3MFOpcPackage.cpp:366: undefined reference to `unzCloseCurrentFile'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/D3MFOpcPackage.cpp:372: undefined reference to `unzGoToNextFile'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/package/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/lib/libassimp.a(D3MFOpcPackage.cpp.o): in function `~D3MFZipArchive':
/home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/D3MFOpcPackage.cpp:270: undefined reference to `unzClose'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/package/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/lib/libassimp.a(IFCLoader.cpp.o): in function `Assimp::IFCImporter::InternReadFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, aiScene*, Assimp::IOSystem*)':
/home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/IFCLoader.cpp:182: undefined reference to `unzOpen'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/IFCLoader.cpp:199: undefined reference to `unzGoToFirstFile'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/IFCLoader.cpp:204: undefined reference to `unzGetCurrentFileInfo'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/IFCLoader.cpp:210: undefined reference to `unzOpenCurrentFile'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/IFCLoader.cpp:211: undefined reference to `unzReadCurrentFile'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/IFCLoader.cpp:218: undefined reference to `unzCloseCurrentFile'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/IFCLoader.cpp:232: undefined reference to `unzClose'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/package/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/lib/libassimp.a(Q3BSPZipArchive.cpp.o): in function `Q3BSPZipArchive':
/home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/Q3BSPZipArchive.cpp:183: undefined reference to `unzOpen2'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/package/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/lib/libassimp.a(Q3BSPZipArchive.cpp.o): in function `Assimp::Q3BSP::Q3BSPZipArchive::mapArchive()':
/home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/Q3BSPZipArchive.cpp:282: undefined reference to `unzGoToFirstFile'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/Q3BSPZipArchive.cpp:288: undefined reference to `unzGetCurrentFileInfo'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/Q3BSPZipArchive.cpp:292: undefined reference to `unzOpenCurrentFile'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/Q3BSPZipArchive.cpp:295: undefined reference to `unzReadCurrentFile'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/Q3BSPZipArchive.cpp:296: undefined reference to `unzCloseCurrentFile'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/Q3BSPZipArchive.cpp:302: undefined reference to `unzGoToNextFile'
/usr/bin/ld: /home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/package/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/lib/libassimp.a(Q3BSPZipArchive.cpp.o): in function `~Q3BSPZipArchive':
/home/kozet/.conan/data/Assimp/4.1.0/jacmoe/stable/build/8563773f3ecfb4c8ffd0ba86a1c2f478424ec3b5/sources/code/Q3BSPZipArchive.cpp:200: undefined reference to `unzClose'

These missing symbols appear to be from the minizip library.

I'm using the following profile:

[settings]
os=Linux
os_build=Linux
arch=x86_64
arch_build=x86_64
compiler=clang
compiler.version=8
compiler.libcxx=libstdc++11
build_type=Release
[options]
[build_requires]
[env]
CC=/usr/bin/clang
CXX=/usr/bin/clang++