gdraheim / zziplib

The ZZIPlib provides read access on ZIP-archives and unpacked data. It features an additional simplified API following the standard Posix API for file access
Other
62 stars 50 forks source link

Build fails with -DZZIPCOMPAT=OFF #109

Closed Quintus closed 3 years ago

Quintus commented 3 years ago

It is not possible to build the current stable release 0.13.71 with CMake if ZZIPCOMPAT is set to OFF.

$ mkdir build
$ cmake -DZZIPCOMPAT=OFF ..
-- The C compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Looking for include file byteswap.h
-- Looking for include file byteswap.h - found
-- Looking for include file direct.h
-- Looking for include file direct.h - not found
-- Looking for include file dirent.h
-- Looking for include file dirent.h - found
-- Looking for include file dlfcn.h
-- Looking for include file dlfcn.h - found
-- Looking for include file fnmatch.h
-- Looking for include file fnmatch.h - found
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for include file io.h
-- Looking for include file io.h - not found
-- Looking for include file memory.h
-- Looking for include file memory.h - found
-- Looking for include file ndir.h
-- Looking for include file ndir.h - not found
-- Looking for include file stdint.h
-- Looking for include file stdint.h - found
-- Looking for include file stdlib.h
-- Looking for include file stdlib.h - found
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for include file strings.h
-- Looking for include file strings.h - found
-- Looking for include file string.h
-- Looking for include file string.h - found
-- Looking for strndup
-- Looking for strndup - found
-- Looking for include file sys/dir.h
-- Looking for include file sys/dir.h - found
-- Looking for include file sys/int_types.h
-- Looking for include file sys/int_types.h - not found
-- Looking for include file sys/mman.h
-- Looking for include file sys/mman.h - found
-- Looking for include file sys/ndir.h
-- Looking for include file sys/ndir.h - not found
-- Looking for include file sys/param.h
-- Looking for include file sys/param.h - found
-- Looking for include file sys/stat.h
-- Looking for include file sys/stat.h - found
-- Looking for include file sys/types.h
-- Looking for include file sys/types.h - found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - found
-- Looking for include file winbase.h
-- Looking for include file winbase.h - not found
-- Looking for include file windows.h
-- Looking for include file windows.h - not found
-- Looking for include file winnt.h
-- Looking for include file winnt.h - not found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of int
-- Check size of int - done
-- Check size of long
-- Check size of long - done
-- Check size of short
-- Check size of short - done
-- Looking for 4 include files stdlib.h, ..., float.h
-- Looking for 4 include files stdlib.h, ..., float.h - found
-- Check if the system is big endian
-- Searching 16 bit integer
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Check size of off_t_32
-- Check size of off_t_32 - done
-- Check size of off_t_64
-- Check size of off_t_64 - done
-- Check size of off64_t
-- Check size of off64_t - done
-- found sizeof(off_t/32)=8 and sizeof(off_t/64)=8
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29") 
-- Checking for one of the modules 'zzip'
-- Checking for one of the modules 'sdl2'
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.7.3", minimum required is "3.5") 
-- Found UnixCommands: /usr/bin/bash  
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/zziplib-0.13.71/build
[0 11:44:29 quintus@atlantis] /tmp/zziplib-0.13.71/build
$ make
Scanning dependencies of target libzzipfseeko
[  1%] Building C object zzip/CMakeFiles/libzzipfseeko.dir/fseeko.c.o
[  2%] Building C object zzip/CMakeFiles/libzzipfseeko.dir/fetch.c.o
[  4%] Linking C shared library libzzipfseeko-0.so
[  4%] Built target libzzipfseeko
Scanning dependencies of target libzzip
[  5%] Building C object zzip/CMakeFiles/libzzip.dir/dir.c.o
[  7%] Building C object zzip/CMakeFiles/libzzip.dir/err.c.o
[  8%] Building C object zzip/CMakeFiles/libzzip.dir/file.c.o
[ 10%] Building C object zzip/CMakeFiles/libzzip.dir/info.c.o
[ 11%] Building C object zzip/CMakeFiles/libzzip.dir/plugin.c.o
[ 13%] Building C object zzip/CMakeFiles/libzzip.dir/stat.c.o
[ 14%] Building C object zzip/CMakeFiles/libzzip.dir/write.c.o
[ 16%] Building C object zzip/CMakeFiles/libzzip.dir/zip.c.o
[ 17%] Building C object zzip/CMakeFiles/libzzip.dir/fetch.c.o
[ 19%] Linking C shared library libzzip-0.so
[ 19%] Built target libzzip
Scanning dependencies of target libzzipmmapped
[ 20%] Building C object zzip/CMakeFiles/libzzipmmapped.dir/mmapped.c.o
[ 22%] Building C object zzip/CMakeFiles/libzzipmmapped.dir/memdisk.c.o
[ 23%] Building C object zzip/CMakeFiles/libzzipmmapped.dir/fetch.c.o
[ 25%] Linking C shared library libzzipmmapped-0.so
[ 25%] Built target libzzipmmapped
Scanning dependencies of target pkgconfig
[ 26%] Generating zziplib.pc
/bin/sh: 1: -c: not found
make[2]: *** [zzip/CMakeFiles/pkgconfig.dir/build.make:61: zzip/zziplib.pc] Fehler 127
make[1]: *** [CMakeFiles/Makefile2:208: zzip/CMakeFiles/pkgconfig.dir/all] Fehler 2
make: *** [Makefile:130: all] Fehler 2

This is on Debian 10.

gdraheim commented 3 years ago

It turns out that UnixCommands are not enabled by default when running in UNIX - but the pkgconfig files generation did need it.