-----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]

Reply via email to