Closed barsnick closed 9 months ago
The file is here: https://github.com/Genivia/ugrep-indexer/blob/main/lzma/C/viizip.h
The compile options were updated to include files from that directory, i.e. -I../lzma/C
should be there.
The CI build works too, and shows that 7zip is included by default. It does not require --enable-7zip
. It can be disabled with --disable-7zip
.
Oops, I did fail to find it originally. You're right, the file is there.
Here's a demo from a build
subdir of the sources. I got the same effect with the release tarball (no build
subdir).
making all in src
make[2]: Entering directory '/home/barsnick/Development/ugrep-indexer/build/src'
g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../../src -I.. -DPLATFORM=\"x86_64-pc-linux-gnu\" -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -Wall -Wextra -Wunused -O2 -MT ugrep_indexer-ugrep-indexer.o -MD -MP -MF .deps/ugrep_indexer-ugrep-indexer.Tpo -c -o ugrep_indexer-ugrep-indexer.o `test -f 'ugrep-indexer.cpp' || echo '../../src/'`ugrep-indexer.cpp
g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../../src -I.. -DPLATFORM=\"x86_64-pc-linux-gnu\" -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -Wall -Wextra -Wunused -O2 -MT ugrep_indexer-glob.o -MD -MP -MF .deps/ugrep_indexer-glob.Tpo -c -o ugrep_indexer-glob.o `test -f 'glob.cpp' || echo '../../src/'`glob.cpp
g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../../src -I.. -DPLATFORM=\"x86_64-pc-linux-gnu\" -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -Wall -Wextra -Wunused -O2 -MT ugrep_indexer-input.o -MD -MP -MF .deps/ugrep_indexer-input.Tpo -c -o ugrep_indexer-input.o `test -f 'input.cpp' || echo '../../src/'`input.cpp
gcc -DHAVE_CONFIG_H -I. -I../../src -I.. -DPLATFORM=\"x86_64-pc-linux-gnu\" -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -Wall -Wextra -Wunused -O2 -MT ugrep_indexer-zopen.o -MD -MP -MF .deps/ugrep_indexer-zopen.Tpo -c -o ugrep_indexer-zopen.o `test -f 'zopen.c' || echo '../../src/'`zopen.c
mv -f .deps/ugrep_indexer-glob.Tpo .deps/ugrep_indexer-glob.Po
In file included from ../../src/ugrep-indexer.cpp:213:
../../src/zstream.hpp:101:10: fatal error: viizip.h: No such file or directory
101 | #include "viizip.h"
| ^~~~~~~~~~
compilation terminated.
Here's the complete build log:
The system is Fedora 39, gcc 13.2.1.
Ah, I get it. --enable-7zip
ruins the show. It doesn't actually do anything, it even seems to disable.
Funny, if I do --disable-7zip
, I still get the viizip.h: No such file or directory
. D'uh.
Only omitting any enable/disable option seems to work.
The WITH_NO_7ZIP
should be defined in this case. But I see now that EXTRA_CFLAGS
set in configure.ac isn't used in src/Makefile.am to compile. That leads to the problem. It is an easy fix.
Committed an update with a fix.
When adding 7zip support in https://github.com/Genivia/ugrep-indexer/commit/4e03c7811352b3e70ea71098aab1ee09a36a517c for https://github.com/Genivia/ugrep-indexer/issues/7, it was forgotten to add the file
viizip.h
. Therefore, 0.9.5 cannot be compiled with--enable-7zip
.I cannot provide a patch, I do not know what this wrapper looks like. 😉