-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Le 25/06/2012 00:32, Nicolas Boulenguez a écrit : <snip>
> It ignores libraries that do not define at least a symbol needed by > previous objects. The --as-needed options is intended for that, see > http://www.gentoo.org/proj/en/qa/asneeded.xml. Two sections deal with > the kind of problem you are encountering: > - Failure in final linking, undefined symbols > - Importance of linking order > > I would advice to remove the flag from debian/rules: > ## (with a trick because the comma also is a Make separator) > comma := , > LDFLAGS := $(filter-out -Wl$(comma)--as-needed,$(LDFLAGS)) > ## > so that you can activate it again once the problem it reveals is > solved. If the problem is that > - dh_shlibdeps warns about polyorb depending on a library and not > using any of its symbols, or > - your package fails to build from scratch with the GNU gold linker, > you may ignore it happily until the freeze happens. Thanks, I'll remove it and "see" how the system behave then. > In the long run, the right patch is to order the -l options during the > linker invokation. This can be tricky: even a correct gpr file > mixes -lxxx flags (LDLIBS) and -Wlxxxx flags (LDFLAGS). Replacing > gnatmake with gprbuild may sometimes solve the problem, as the latter > generates a different (better?) linker invokation, and understands > some workarounds as described in One concern I have is that I'm using po_gnatdist tool to build distributed application, I'll have to sort out if it rely on gnatmake or gprbuild (command line shows "gnat compile" and "gnat make") > ## http://docs.adacore.com/gprbuild-docs/html/gprbuild_ug.html > Library_Options: > This attribute may be used to specify additional switches (last switches) > when linking a shared library. > Leading_Library_Options: > This attribute, that is taken into account only by gprbuild, may be used > to specified leading options (first switches) when linking a shared library. > > Linker.Linker_Options: > This attribute specifies additional switches to be given to the linker > when linking an executable. It is ignored when defined in the main project > and taken into account in all other projects that are imported directly or > indirectly. These switches complement the Linker.Switches defined in the main > project. This is useful when a particular subsystem depends on an external > library: adding this dependency as a Linker_Options in the project of the > subsystem is more convenient than adding it to all the Linker.Switches of the > main projects that depend upon this subsystem. > ## > > PS: This is unrelated, but you should insert $(CPPFLAGS) before > $(CFLAGS) in the two lines compiling the .c file in debian/rules. > Else, log checkers will complain that hardening flags like > "-DFORTIFY…" are missing. Thanks for the hint, I'll try to implement it. > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBAgAGBQJP6ZgdAAoJEG3iFwasTcfaGUoP/1O1zRf3TxgI2zM6zBQi2Z5N lsNXZ659hHYnaejfXCQ3SdUSRUOulGKcPPLVyDr5dj25Dwvu3eAlU0nosXxo9CJf OoHNKg8Okf5Sf/ylPrUYYnxjMq5u3O0/12uWzT64P09nvo+pYUM5BFa+NsVgCtZu O/K9a9/1bhb8NiNhoL6d9/BC+VKVI+g5KSaGK+vdBoV5ChYZeuHwY3g6oYTi2upu z98re6xDBFXps/Qn8npNRAU94NjuxNLlPNgC3e0WsVlc4+tArYxb5LBvZZVEs8af de3hAxe9I438MZdIo5be4G7TvfK+AFDxlqLKtKXYyR0/9hfUV9f1TcMumyKSZCoW +7yEHwjEM1Io6gWQWfy9+oUaP3YLLWMd35Hdj95ypXYjv8j93xQnXqDlypIiY83S eDo8vWL0LR6149lzsDJQSGigtOlsYVvZgKaPNLouvX79ukRJM2jh805CpXVVDvaT 8ij8Yb+/GEiSctcedlDG/FS3D28TSl5Az2KHsnlkQeNQKoRfvmFhGyrePGeyF/sG WcYS8LioyK2tFqrpiDqnAD6MNO6fnpyLg6MUEhpHq7rdJqbagisXBAqRR2R4PFZA d+F2KAp3aIOB4ME+Pt17nBTO8a7WO97Fx6pX52ZUFNP9aqYUef0jGz5K6nmBcHv8 +nDCq4OQTkeTZykqeEK/ =2yGD -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]
