[Pkg-cmake-team] Bug#888228: Bug#888228: cmake: ignores linker scripts on the Hurd (and kFreeBSD?)

Felix Geyer fgeyer at debian.org
Wed Jan 24 17:28:50 UTC 2018


Hi,


On 24.01.2018 03:47, Aaron M. Ucko wrote:
> Package: cmake
> Version: 3.9.5-1
> Severity: important
> Tags: upstream
> User: debian-hurd at lists.debian.org
> Usertags: hurd-i386
> Control: affects -1 src:mariadb-connector-c
>
> The build of mariadb-connector-c for hurd-i386 (admittedly not a
> release architecture) [1] failed because the symbols came out
> unversioned, whereas the .symbols file expects version annotations.
> By my reading of [2], CMake encounters the version script on line 378
> but evidently neglects to pass it along to the linker.  I suspect
> kFreeBSD builds may wind up failing in the same fashion if and when
> their autobuilders are back in commission.
>
> Could you please take a look?

It seems like cmake ignores mariadbclient.def in the ADD_LIBRARY()
call on all architectures since it's not an actual source file.

The mariadbclient.def argument you see in the build log comes from
the TARGET_LINK_LIBRARIES() call in line 398.
That one is wrapped in a IF(LINUX) clause so that's why !Linux builds
are broken.

You might want to change that IF to:
CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"

I'm inclined to call this "works as intended".

Felix



More information about the Pkg-cmake-team mailing list