TileDB
TileDB copied to clipboard
Update libmagic to version 5.45
Split from #4553.
This PR updates libmagic to version 5.45 and switches to using a vcpkg port closer to the upstream one, which we can easily consume with find_package(unofficial-libmagic) since microsoft/vcpkg#35274.
One complication is that the upstream port builds libmagic with its official autotools-based build system, which is significantly slower on Windows (on Linux it builds pretty fast). I tried to upstream the CMake-based port I had added in #4119, but the PR was rejected.
Apart from binary caching, there is unfortunately nothing we can do about the build performance regression. We could maintain the CMake-based port for our own use, but it will split what we build and what a future user of TileDB from vcpkg will build, and that port is not without its problems (it failed for example when I tried cross-compiling to arm64-windows, because it tried to execute the arm64 file.exe on my x64 machine).
TYPE: BUILD DESC: Update libmagic to version 5.45
This pull request has been linked to Shortcut Story #38521: Update libmagic and use the upstream vcpkg port..
but the PR was rejected.
:disappointed:
Thanks for trying though!
Read the Docs build fails because it does not find autoreconf, even after installing the autoconf package. Any ideas?
Really guessing here but doesn't
-- Generating configure for x64-linux
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:112 (message):
Command failed: /usr/bin/autoreconf -vfi
Working Directory: /home/docs/checkouts/readthedocs.org/user_builds/tiledb-inc-tiledb/checkouts/4673/build/_deps/vcpkg-src/buildtrees/libmagic/src/FILE5_45-8b12c22921.clean/
Error code: 1
See logs for more information:
/home/docs/checkouts/readthedocs.org/user_builds/tiledb-inc-tiledb/checkouts/4673/build/_deps/vcpkg-src/buildtrees/libmagic/autoconf-x64-linux-err.log
state it failed rather than 'command not found'? Could it be an autoconf version issue? It changes slowly but I think there may have been some difference between 2.69 and now 2.71. Can you replicate in a container and getter info on versions used?
CI is green, this is ready to review.