Package: gnat-4.9 Version: 4.9.1-1 Severity: normal On armel armhf hurd-i386 kfreebsd-amd64 s390x, the following scenario complains about the "pthread_getspecific" symbol being undefined. Adding "-lpthread" to library_options (used at the end of the link command) fixes the problem, but gnat should not expect the end user to know that inlining adds a dependency.
mkdir lib cat > pack.ads <<EOF with Ada.Task_Attributes; package Pack is new Ada.Task_Attributes (Integer, 0); EOF cat > pack.gpr <<EOF library project Proj is for Library_Name use "pack"; for Library_Version use "libpack.so.1"; for Source_Dirs use ("."); for Library_Dir use "lib"; for Library_Kind use "dynamic"; for Library_Options use ("-Wl,-z,defs"); -- Fail on undefined symbols. package Compiler is for Switches ("Ada") use ("-O1", "-gnatn"); end Compiler; end Proj; EOF gnatmake -v -Ppack.gpr For the record, here are two sensible work-arounds: * in linker options: -Wl,--as-needed -lpthread -Wl,--no-as-needed * in a GNAT project: case External ("NEEDS_PTHREAD") is when "yes" => for Library_Options use project'library_options & ("-lpthread"); when "no" => null; end case; Checked on zelenka.debian.org (s390x). Most probably related to #717014. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org