Page MenuHome

glTF addon: libextern_draco.so is missing
Closed, ResolvedPublic

Description

Blender Version
Broken: rBedbf15d3c044 rB232049dd9408
Worked: 2.80 release

blender-2.81-daba3e871ff5-linux-glibc217-x86_64$ blender -v
Blender 2.81 (sub 3)
	build date: 2019-08-21
	build time: 01:08:15
	build commit date: 2019-08-20
	build commit time: 22:35
	build hash: daba3e871ff5
	build platform: Linux
	build type: Release
	build c flags:  -Wall -Wcast-align -Werror=implicit-function-declaration -Werror=return-type -Werror=vla -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wunused-parameter -Wwrite-strings -Wlogical-op -Wundef -Winit-self -Wnonnull -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Wformat-signedness -Wuninitialized -Wredundant-decls -Wshadow -Wno-error=unused-but-set-variable  -fuse-ld=gold -std=gnu11   -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing -msse2
	build c++ flags:  -Wredundant-decls -Wall -Wno-invalid-offsetof -Wno-sign-compare -Wlogical-op -Winit-self -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Werror=return-type -Werror=implicit-function-declaration -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wunused-parameter -Wwrite-strings -Wundef -Wformat-signedness -Wuninitialized -Wundef -Wmissing-declarations  -fuse-ld=gold -std=c++11   -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing -msse2
	build link flags:  -Wl,--version-script='/home/sources/buildbot-x86_64-slave/linux_glibc217_x86_64_cmake/blender.git/source/creator/blender.map'
	build system: CMake

Exact steps for others to reproduce the error
Download

This is printed by using the glTF addon:

blender-2.81-daba3e871ff5-linux-glibc217-x86_64/2.80/python/lib/python3.7/site-packages/libextern_draco.so'
does not exist, draco mesh compression not available

Most likely, the library build was broken after the Python 3.7.4 upgrade rB454daf9b6b

Event Timeline

Brecht Van Lommel (brecht) lowered the priority of this task from Needs Triage by Developer to Confirmed, High.Aug 23 2019, 4:40 PM

Seems glTF is hardcoding the Blender and Python version, this should be avoided.

On a closer look, the Python version is there, but indeed path is hardcoded
2.81/python/lib/python3.7/site-packages/libextern_draco.so

io/exp/gltf2_io_draco_compression_extension.py:29

    lib_name = 'extern_draco'
    blender_root = Path(bpy.app.binary_path).parent
    python_lib = Path('2.80/python/lib')
    paths = {
        'win32': blender_root/python_lib/'site-packages'/'{}.dll'.format(lib_name),
        'linux': blender_root/python_lib/'python3.7'/'site-packages'/'lib{}.so'.format(lib_name),
        'darwin': blender_root.parent/'Resources'/python_lib/'python3.7'/'site-packages'/'lib{}.dylib'.format(lib_name)
    }