Control: reassign -1 cmake 3.16.3-2 Control: subject -i cmake breaks on -isystem<space> Control: affects -1 ignition-transport
* peter green <plugw...@p10link.net> [2020-04-28 23:15]:
Package: ignition-transport Version: 8.0.0+dfsg-3 Severity: serious It seems that ignition-transport fails to build in testing with the following error.CMake Error in src/CMakeLists.txt: Imported target "ZeroMQ::ZeroMQ" includes non-existent path "-isystem" in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include: * The path was deleted, renamed, or moved to another location. * An install or uninstall procedure did not complete successfully. * The installation package was faulty and references files it does not provide. CMake Error in src/CMakeLists.txt: Imported target "ZeroMQ::ZeroMQ" includes non-existent path "-isystem" in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include: * The path was deleted, renamed, or moved to another location. * An install or uninstall procedure did not complete successfully. * The installation package was faulty and references files it does not provide.I first ran into this on a raspbian bullseye autobuilder, but it's also happening on reproducible builds, so it doesn't seem to be raspbian specific. This doesn't seem to be showing up in the reproducible builds logs for unstable, that could either mean that it's a testing-specific issue or it could be because the reproducible builds logs for unstable are older than those for testing.
I was able to reproduce this using: $ sudo apt install libzmq3-dev cmake pkg-config $ cat > foot.c << HERE int main() { } HERE $ cat CMakeLists.txt << HERE cmake_minimum_required(VERSION 3.16) project(foo) include(FindPkgConfig) pkg_check_modules(ZeroMQ IMPORTED_TARGET libzmq) add_executable(foo foo.c) target_link_libraries(foo PkgConfig::ZeroMQ) HERE $ cmake . -- The C compiler identification is GNU 9.3.0 -- The CXX compiler identification is GNU 9.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 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") -- Checking for module 'libzmq' -- Found libzmq, version 4.3.2 -- Configuring done CMake Error in CMakeLists.txt: Imported target "PkgConfig::ZeroMQ" includes non-existent path "-isystem" in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include: * The path was deleted, renamed, or moved to another location. * An install or uninstall procedure did not complete successfully. * The installation package was faulty and references files it does not provide. CMake Error in CMakeLists.txt: Imported target "PkgConfig::ZeroMQ" includes non-existent path "-isystem" in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include: * The path was deleted, renamed, or moved to another location. * An install or uninstall procedure did not complete successfully. * The installation package was faulty and references files it does not provide. -- Generating done CMake Generate step failed. Build files cannot be regenerated correctly. What I found up to now: - pkg-config=0.29.2-1: $ pkg-config --cflags-only-I libzmq -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.2 - Whereas pkg-config=0.29-6 (or pkgconfig): $ pkg-config --cflags-only-I libzmq -I/usr/include/pgm-5.2 So the recent update of pkg-config has a new behaviour, introduced in https://bugs.freedesktop.org/show_bug.cgi?id=97337Changing -isystem /usr/include/mit-krb5 to -isystem/usr/include/mit-krb5 works in the .pc file(s) works around this but man gcc indicates that a space after -isystem seems fine as well.
I think cmake should handle -isystem<space>¹ and as this is reproducible without ignition-transport, I'm reassigning this to cmake.
Cheers Jochen¹: I guess the same problem arises for -I<space> but I haven't checked that.
signature.asc
Description: PGP signature