KTX-Software icon indicating copy to clipboard operation
KTX-Software copied to clipboard

Fix static build on Linux

Open 06393993 opened this issue 2 years ago • 1 comments

On Linux, it is very likely that a GNU libtool is used, and different parameters are needed for libtool to combine libraries.

06393993 avatar Sep 12 '22 06:09 06393993

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Sep 12 '22 06:09 CLAassistant

Thank you for this.

For some reason this PR did not trigger the Travis-CI build it should have. Per Murphy's law the Travis-CI build is the only one affected by this change. I have been attempting and thus far failing to get help from Travis hence my delay responding. Please make a dummy push (make an innocuous change) to see if it will trigger Travis-CI.

I want to include this fix in the upcoming 4.1.0 release. I had a issue blocking making the release which cleared today so I want to get this merged.

MarkCallow avatar Sep 27 '22 08:09 MarkCallow

Please make a dummy push (make an innocuous change) to see if it will trigger Travis-CI.

Thanks! Updated with an empty commit. Let's see if the Travis-CI will be triggered.

06393993 avatar Sep 27 '22 10:09 06393993

The CI failure doesn't seem to be related to this PR.

2 emscripten targets fail because of sys/timex.h not found in /src/lib/basisu/encoder/basisu_enc.cpp.

/src/lib/basisu/encoder/basisu_enc.cpp:245:10: fatal error: 'sys/timex.h' file not found
#include <sys/timex.h>
         ^~~~~~~~~~~~~
1 error generated.
em++: error: '/emsdk/upstream/bin/clang++ -target wasm32-unknown-emscripten -fignore-exceptions -fvisibility=default -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -DEMSCRIPTEN -I/emsdk/upstream/emscripten/cache/sysroot/include/SDL --sysroot=/emsdk/upstream/emscripten/cache/sysroot -Xclang -iwithsysroot/include/compat -DBASISD_SUPPORT_ASTC_HIGHER_OPAQUE_QUALITY=0 -DBASISD_SUPPORT_ATC=0 -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISD_SUPPORT_PVRTC2=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/src/include -I/src/lib/basisu/transcoder -I/src/lib/basisu/zstd -I/src/other_include -I/src/utils -I/src/lib/basisu -I/src/lib/astc-encoder/Source -O3 -DNDEBUG -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -std=gnu++11 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -c /src/lib/basisu/encoder/basisu_enc.cpp -o CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_enc.cpp.o' failed (returned 1)

I am wondering if I need to rebase my commits to some other branch to pass the CI? Thanks.

06393993 avatar Sep 27 '22 15:09 06393993

I am wondering if I need to rebase my commits to some other branch to pass the CI?

No. It looks like sys/timex.h has been removed from the latest Emscripten. Another PR had the same issue. I need to investigate.

MarkCallow avatar Sep 28 '22 00:09 MarkCallow

Please rebase with the latest master which has a fix for the timex.h issue.

MarkCallow avatar Sep 28 '22 12:09 MarkCallow

Sorry for accidentally close this PR. It's my first time to use github PR, and I seem to be using a wrong way to rebase my remote branch. Opened https://github.com/KhronosGroup/KTX-Software/pull/635 after rebasing.

06393993 avatar Sep 29 '22 03:09 06393993