systemed / tilemaker

Make OpenStreetMap vector tiles without the stack
https://tilemaker.org/
Other
1.44k stars 229 forks source link

Docker build broken #563

Closed systemed closed 10 months ago

systemed commented 10 months ago

Since #555 (which fixed the MacOS build šŸŽ‰) the Docker build appears to have been broken.

This is a bit exasperating because the CI does build successfully with cmake on Ubuntu 22.04 normally, but not in Docker.

Currently it's erroring with

[100%] Linking CXX executable tilemaker
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libm-2.35.a(e_pow.o): warning: relocation against `_dl_x86_cpu_features' in read-only section `.text'
/usr/bin/ld: warning: GNU indirect functions with DT_TEXTREL may result in a segfault at runtime; recompile with -fPIE
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libm-2.35.a(s_atan.o): in function `__atan_ifunc':
(.text+0x526): undefined reference to `_dl_x86_cpu_features'
/usr/bin/ld: (.text+0x531): undefined reference to `_dl_x86_cpu_features'
/usr/bin/ld: (.text+0x53a): undefined reference to `_dl_x86_cpu_features'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libm-2.35.a(s_floor.o): in function `__floor_ifunc':
(.text+0x6): undefined reference to `_dl_x86_cpu_features'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libm-2.35.a(s_sin.o): in function `__sin_ifunc':
(.text+0x12c6): undefined reference to `_dl_x86_cpu_features'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libm-2.35.a(s_sin.o):(.text+0x12d1): more undefined references to `_dl_x86_cpu_features' follow
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/tilemaker.dir/build.make:425: tilemaker] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/tilemaker.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2

I've tried a handful of fixes (#559, #560, #561, #562) which have moved things on some way, but Docker, CMake and linking in general are beyond my comfort zone and I'm out of ideas what to try next.

If anyone with Docker skills (@leonardehrenfried @guillaumerose ?) has any ideas here that would be brilliant.

systemed commented 10 months ago

Fixed thanks to a suggestion from @tomhughes \o/