Gottox / sqsh-tools

🗜️ fast r/o squashfs implementation written in C.
https://gottox.de/sqsh-tools/
BSD 2-Clause "Simplified" License
37 stars 4 forks source link

make doc doesn't seem to work #75

Closed Dr-Emann closed 1 year ago

Dr-Emann commented 1 year ago

Describe the bug

Trying to make doxygen docs, I found make doc seems to exist, but doesn't work.

To Reproduce

Clone libsqsh, run make doc. It appears to exist as a makefile target, but doesn't work

Full output ``` [ "" ] && meson wrap update-db || true [ -d "build" ] && rm -rf "build" || true CC=gcc meson setup -Ddefault_library=static -Dexamples=true -Db_lundef=false -Dtest=true -Ddoc=internal -Dfuzzer_timeout=10 -Dcurl=enabled -Dzlib=enabled -Dlz4=enabled -Dlzma=enabled -Dzstd=enabled -Dfuse=enabled -Dfuse-old=enabled -Db_coverage=true -Db_sanitize=address,undefined -Dwerror=true "build" The Meson build system Version: 1.2.1 Source dir: /home/zach/Development/tmp/libsqsh Build dir: /home/zach/Development/tmp/libsqsh/build Build type: native build Project name: libsqsh Project version: 1.0.0 C compiler for the host machine: gcc (gcc 11.4.0 "gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0") C linker for the host machine: gcc ld.bfd 2.38 Host machine cpu family: aarch64 Host machine cpu: aarch64 Run-time dependency threads found: YES Found pkg-config: /usr/bin/pkg-config (0.29.2) Run-time dependency libcurl found: YES 7.81.0 Run-time dependency fuse3 found: YES 3.10.5 Run-time dependency fuse found: YES 2.9.9 Run-time dependency liblz4 found: YES 1.9.3 Run-time dependency liblzma found: YES 5.2.5 Run-time dependency zlib found: YES 1.2.11 Run-time dependency libzstd found: YES 1.4.8 Executing subproject cextras cextras| Project name: cextras cextras| Project version: 0.1 cextras| C compiler for the host machine: gcc (gcc 11.4.0 "gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0") cextras| C linker for the host machine: gcc ld.bfd 2.38 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 Configuring sqshfs.1 using configuration C++ compiler for the host machine: c++ (gcc 11.4.0 "c++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0") C++ linker for the host machine: c++ ld.bfd 2.38 Program mksquashfs found: YES (/usr/bin/mksquashfs) Program doxygen found: YES (/usr/bin/doxygen) Program git found: YES (/usr/bin/git) Configuring Doxyfile using configuration Build targets in project: 50 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 : internal examples : true fuse : enabled fuse-old : enabled fuzzer_timeout : 10 lz4 : enabled lzma : enabled test : true zlib : enabled zstd : enabled Found ninja-1.10.1 at /usr/bin/ninja Ubuntu LLVM version 14.0.0 Optimized build. Default target: aarch64-unknown-linux-gnu Host CPU: neoverse-n1 WARNING: Need gcovr or lcov/genhtml to generate any coverage reports ninja -C build doc ninja: Entering directory `build' ninja: error: unknown target 'doc', did you mean 'all'? make: *** [Makefile:66: doc] Error 1 ```

Expected behavior

Expected documentation to be generated successfully

Platform (please complete the following information):

uname -a output:

Linux arm-oracle-vm 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

Additional context

I'm not very familiar with meson, so I'm not super sure how I should be running the commands to generate docs other than the makefile

Gottox commented 1 year ago

Thanks for your bug report and thanks for the awesome documentation! Without this resource, this project wouldn't be possible!

The official way to build libsqsh is through the meson build system, nevertheless for my own convenience I added a Makefile to ease configuration.

I fixed the issue in #76. Keep in mind, that the Makefile is subject to change and may have odd defaults as its primary use case is development.