TileDB icon indicating copy to clipboard operation
TileDB copied to clipboard

Update libmagic to version 5.45

Open teo-tsirpanis opened this issue 1 year ago • 4 comments
trafficstars

SC-38521

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

teo-tsirpanis avatar Jan 26 '24 14:01 teo-tsirpanis

but the PR was rejected.

:disappointed:

Thanks for trying though!

eddelbuettel avatar Jan 26 '24 14:01 eddelbuettel

Read the Docs build fails because it does not find autoreconf, even after installing the autoconf package. Any ideas?

teo-tsirpanis avatar Feb 01 '24 21:02 teo-tsirpanis

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?

eddelbuettel avatar Feb 01 '24 21:02 eddelbuettel

CI is green, this is ready to review.

teo-tsirpanis avatar Mar 11 '24 10:03 teo-tsirpanis