Closed Dr-Emann closed 1 year ago
MacOS again... đ¤Ź
â libsqsh git:(origin/fix/macos-build) meson test -C /tmp/build -t 5 ninja: Entering directory `/private/tmp/build' [169/169] Linking target test/read-chunk 1/38 archive/compression_options.c OK 0.17s 2/38 easy/directory.c OK 0.33s 3/38 easy/file.c OK 0.49s 4/38 cpp-test.cpp OK 0.64s 5/38 directory/directory_iterator.c OK 0.81s 6/38 extract/extract.c OK 0.98s 7/38 extract/extract_manager.c OK 1.10s 8/38 file/file_iterator.c OK 1.26s 9/38 file/file_reader.c OK 1.38s 10/38 fuzzer_repro.c OK 1.57s 11/38 include_tests/sqsh_archive.c OK 1.55s 12/38 include_tests/sqsh_easy.c OK 1.53s 13/38 include_tests/sqsh_common.c OK 1.52s 14/38 include_tests/sqsh_directory.c OK 1.57s 15/38 include_tests/sqsh_error.c OK 1.56s 16/38 include_tests/sqsh_file.c OK 1.56s 17/38 include_tests/sqsh_mapper.c OK 1.58s 18/38 include_tests/sqsh_table.c OK 1.59s 19/38 include_tests/sqsh_tree.c OK 1.61s 20/38 include_tests/sqsh_xattr.c OK 1.57s 21/38 file/file.c OK 1.60s 22/38 integration.c OK 1.67s 23/38 mapper/map_iterator.c OK 1.59s 24/38 mapper/map_reader.c OK 1.55s 25/38 metablock/metablock_iterator.c OK 1.54s 26/38 metablock/metablock_reader.c OK 1.54s 27/38 nasty.c OK 1.51s 28/38 reader/reader.c OK 1.49s 29/38 tree/walker.c OK 1.53s 30/38 xattr/xattr_iterator.c OK 1.47s 31/38 tools/unpack/pathtraversal/pathtraversal.sh OK 2.07s 32/38 tools/unpack/repack.sh OK 2.39s 33/38 tools/read-chunk/tail.sh OK 2.69s 34/38 selftest.sh OK 4.90s 35/38 tools/cat/large-file-compressed.sh OK 6.56s 36/38 tools/cat/large-file-uncompressed.sh OK 6.68s 37/38 tools/fs/large-file.sh (sqshfs2) FAIL 52.20s exit status 1 >>> SOURCE_ROOT=/private/tmp/libsqsh SQSH_CAT=/private/tmp/build/tools/sqsh-cat SQSH_UNPACK=/private/tmp/build/tools/sqsh-unpack MALLOC_PERTURB_=120 BUILD_DIR=/private/tmp/build/test SQSH_LS=/private/tmp/build/tools/sqsh-ls SQSHFS=/private/tmp/build/tools/sqshfs2 MKSQUASHFS=/opt/homebrew/bin/mksquashfs READ_CHUNK=/private/tmp/build/test/read-chunk /private/tmp/libsqsh/test/tools/fs/large-file.sh 38/38 tools/fs/repack.sh (sqshfs2) FAIL 110.91s exit status 1 >>> SOURCE_ROOT=/private/tmp/libsqsh SQSH_CAT=/private/tmp/build/tools/sqsh-cat SQSH_UNPACK=/private/tmp/build/tools/sqsh-unpack MALLOC_PERTURB_=249 BUILD_DIR=/private/tmp/build/test SQSH_LS=/private/tmp/build/tools/sqsh-ls SQSHFS=/private/tmp/build/tools/sqshfs2 MKSQUASHFS=/opt/homebrew/bin/mksquashfs READ_CHUNK=/private/tmp/build/test/read-chunk /private/tmp/libsqsh/test/tools/fs/repack.sh Ok: 36 Expected Fail: 0 Fail: 2 Unexpected Pass: 0 Skipped: 0 Timeout: 0 Full log written to /private/tmp/build/meson-logs/testlog.txt
â libsqsh git:(origin/fix/macos-build) sw_vers
ProductName: macOS
ProductVersion: 13.5
BuildVersion: 22G74
â libsqsh git:(origin/fix/macos-build) uname -a
Darwin blub.local 22.6.0 Darwin Kernel Version 22.6.0: Wed Jul 5 22:22:05 PDT 2023; root:xnu-8796.141.3~6/RELEASE_ARM64_T6000 arm
Automated testing of fuse filesystems on macos seems to be hard nowadays:
Tests passed for 09d551911e89a66a5b44b4a806f0b047ebec722c
â libsqsh git:(origin/fix/macos-build) meson test -C /tmp/build -t 5 ninja: Entering directory `/private/tmp/build' [165/165] Linking target tools/sqsh-cat 1/36 archive/compression_options.c OK 0.16s 2/36 easy/directory.c OK 0.32s 3/36 easy/file.c OK 0.46s 4/36 cpp-test.cpp OK 0.60s 5/36 directory/directory_iterator.c OK 0.75s 6/36 extract/extract.c OK 0.90s 7/36 extract/extract_manager.c OK 1.04s 8/36 file/file_iterator.c OK 1.19s 9/36 file/file_reader.c OK 1.33s 10/36 fuzzer_repro.c OK 1.50s 11/36 include_tests/sqsh_archive.c OK 1.49s 12/36 include_tests/sqsh_easy.c OK 1.47s 13/36 include_tests/sqsh_common.c OK 1.48s 14/36 include_tests/sqsh_directory.c OK 1.47s 15/36 include_tests/sqsh_error.c OK 1.47s 16/36 include_tests/sqsh_file.c OK 1.47s 17/36 include_tests/sqsh_mapper.c OK 1.48s 18/36 include_tests/sqsh_table.c OK 1.47s 19/36 include_tests/sqsh_tree.c OK 1.48s 20/36 include_tests/sqsh_xattr.c OK 1.47s 21/36 file/file.c OK 1.49s 22/36 integration.c OK 1.53s 23/36 mapper/map_iterator.c OK 1.48s 24/36 mapper/map_reader.c OK 1.48s 25/36 metablock/metablock_iterator.c OK 1.49s 26/36 metablock/metablock_reader.c OK 1.52s 27/36 nasty.c OK 1.74s 28/36 reader/reader.c OK 1.75s 29/36 tree/walker.c OK 1.77s 30/36 xattr/xattr_iterator.c OK 1.75s 31/36 tools/unpack/pathtraversal/pathtraversal.sh OK 2.04s 32/36 tools/unpack/repack.sh OK 2.38s 33/36 tools/read-chunk/tail.sh OK 2.76s 34/36 selftest.sh OK 4.67s 35/36 tools/cat/large-file-compressed.sh OK 6.84s 36/36 tools/cat/large-file-uncompressed.sh OK 6.83s Ok: 36 Expected Fail: 0 Fail: 0 Unexpected Pass: 0 Skipped: 0 Timeout: 0 Full log written to /private/tmp/build/meson-logs/testlog.txt
fixed in #78
Thank you!
Describe the bug
Build fails on macos because
#include <endian.h>
To Reproduce
Full output
``` The Meson build system Version: 1.2.1 Source dir: /Users/zach/Development/tmp/libsqsh Build dir: /Users/zach/Development/tmp/libsqsh/build Build type: native build Project name: libsqsh Project version: 1.0.0 C compiler for the host machine: sccache cc (clang 14.0.3 "Apple clang version 14.0.3 (clang-1403.0.22.14.1)") C linker for the host machine: cc ld64 857.1 Host machine cpu family: aarch64 Host machine cpu: aarch64 Run-time dependency threads found: YES Found pkg-config: /opt/homebrew/bin/pkg-config (0.29.2) Run-time dependency libcurl found: YES 7.79.1 Found CMake: /opt/homebrew/bin/cmake (3.27.4) Run-time dependency fuse3 found: NO (tried pkgconfig, framework and cmake) Dependency fuse skipped: feature fuse-old disabled Run-time dependency liblz4 found: YES 1.9.4 Run-time dependency liblzma found: YES 5.4.4 Run-time dependency zlib found: YES 1.2.11 Run-time dependency libzstd found: YES 1.5.5 Executing subproject cextras cextras| Project name: cextras cextras| Project version: 0.1 cextras| C compiler for the host machine: sccache cc (clang 14.0.3 "Apple clang version 14.0.3 (clang-1403.0.22.14.1)") cextras| C linker for the host machine: cc ld64 857.1 cextras| Dependency threads found: YES unknown (cached) cextras| Build targets in project: 2 cextras| Subproject cextras finished. Configuring sqsh-cat.1 using configuration Configuring sqsh-ls.1 using configuration Configuring sqsh-stat.1 using configuration Configuring sqsh-unpack.1 using configuration Configuring sqsh-xattr.1 using configuration Program doxygen found: YES (/opt/homebrew/bin/doxygen) Program git found: YES (/opt/homebrew/bin/git) Configuring Doxyfile using configuration Build targets in project: 15 libsqsh 1.0.0 Subprojects cextras : YES User defined options default_library: static werror : true b_coverage : true b_lundef : false b_sanitize : address,undefined curl : enabled doc : true examples : true fuzzer_timeout : 10 lz4 : enabled lzma : enabled test : false zlib : enabled zstd : enabled Found ninja-1.11.1 at /opt/homebrew/bin/ninja WARNING: Need gcovr or lcov/genhtml to generate any coverage reports ninja: Entering directory `build' [1/84] Compiling C object subprojects/cextras-887bee6835d5fa8213a8f9ffbdf3a26f119983a3/lib/libcextras.a.p/collection_buffer.c.o [2/84] Compiling C object subprojects/cextras-887bee6835d5fa8213a8f9ffbdf3a26f119983a3/lib/libcextras.a.p/collection_rc_hash_map.c.o [3/84] Compiling C object subprojects/cextras-887bee6835d5fa8213a8f9ffbdf3a26f119983a3/lib/libcextras.a.p/concurrency_future.c.o [4/84] Compiling C object subprojects/cextras-887bee6835d5fa8213a8f9ffbdf3a26f119983a3/lib/libcextras.a.p/collection_lru.c.o [5/84] Compiling C object subprojects/cextras-887bee6835d5fa8213a8f9ffbdf3a26f119983a3/lib/libcextras.a.p/collection_rc_map.c.o [6/84] Compiling C object lib/libsqsh.1.dylib.p/reader_reader.c.o [7/84] Compiling C object lib/libsqsh.1.dylib.p/archive_trailing_context.c.o [8/84] Compiling C object subprojects/cextras-887bee6835d5fa8213a8f9ffbdf3a26f119983a3/lib/libcextras.a.p/concurrency_threadpool.c.o [9/84] Compiling C object lib/libsqsh.1.dylib.p/archive_archive.c.o [10/84] Compiling C object lib/libsqsh.1.dylib.p/archive_compression_options.c.o [11/84] Linking static target subprojects/cextras-887bee6835d5fa8213a8f9ffbdf3a26f119983a3/lib/libcextras.a [12/84] Compiling C object lib/libsqsh.1.dylib.p/archive_superblock.c.o [13/84] Compiling C object lib/libsqsh.1.dylib.p/archive_inode_map.c.o [14/84] Compiling C object lib/libsqsh.1.dylib.p/data_directory_data.c.o FAILED: lib/libsqsh.1.dylib.p/data_directory_data.c.o sccache cc -Ilib/libsqsh.1.dylib.p -Ilib -I../lib -Isubprojects/cextras-887bee6835d5fa8213a8f9ffbdf3a26f119983a3/include -I../subprojects/cextras-887bee6835d5fa8213a8f9ffbdf3a26f119983a3/include -I/opt/homebrew/Cellar/lz4/1.9.4/include -I/opt/homebrew/Cellar/xz/5.4.4/include -I/opt/homebrew/Cellar/zstd/1.5.5/include -fcolor-diagnostics -fsanitize=address,undefined -fno-omit-frame-pointer --coverage -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c11 -O0 -g -DCONFIG_CURL -DCONFIG_ZLIB -DCONFIG_LZ4 -DCONFIG_LZMA -DCONFIG_ZSTD -MD -MQ lib/libsqsh.1.dylib.p/data_directory_data.c.o -MF lib/libsqsh.1.dylib.p/data_directory_data.c.o.d -o lib/libsqsh.1.dylib.p/data_directory_data.c.o -c ../lib/data/directory_data.c ../lib/data/directory_data.c:41:11: fatal error: 'endian.h' file not found # includeExpected behavior
Build successful
Platform (please complete the following information):
uname -a
output:Additional context I was able to hackily limp along by removing the includes, and defining no-ops for
le32toh
(and the like), and it seemed to succeed, so it seems like it's close to supporting macos.