Bug#959064: ignition-transport FTBFS in testing.
Jochen Sprickerhof
jspricke at debian.org
Wed Apr 29 17:47:42 BST 2020
Control: reassign -1 cmake 3.16.3-2
Control: subject -i cmake breaks on -isystem<space>
Control: affects -1 ignition-transport
* peter green <plugwash at 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=97337
Changing -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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20200429/577f4a4f/attachment.sig>
More information about the debian-science-maintainers
mailing list