Thank you for your reply to my bug report. On 04-Nov-12 17:14, Ludovic Brenta wrote: > The symbolic link should not be part of package `libgnat-3.4', because > `libgnat-3.4' is a runtime-only package (used by end users) and the > symbolic link is only used at link time (by developers). The proper > package for the symbolic links is `gnat-3.4', as mandated by the > Debian Policy and, as of 3.4.2-2, the package `gnat-3.4' does provide > the following symbolic links: > > /usr/lib/gcc/i486-linux/3.4.2/adalib/libgnarl-3.4.so > -> ../../../../libgnarl-3.4.so.1 > /usr/lib/gcc/i486-linux/3.4.2/adalib/libgnarl.so > -> ../../../../libgnarl-3.4.so.1 > /usr/lib/gcc/i486-linux/3.4.2/adalib/libgnat-3.4.so > -> ../../../../libgnat-3.4.so.1 > /usr/lib/gcc/i486-linux/3.4.2/adalib/libgnat.so > -> ../../../../libgnat-3.4.so.1
Many of the Ada packages (e.g. 'asis', 'libopentoken', 'libtexttools' and others) have a hardcoded library search path -L/usr/lib/gcc-lib/`gcc -dumpmachine`/`gnat -dumpversion`/adalib in 'debian/rules'. This looks very ugly in itself and I do not understand why this should be necessary. With the symlinks in '/usr/lib' this would not be necessary. Moreover, the hardcoded path fails when using gnat-3.4, because the 'gcc-lib' part of that path has to be replaced with 'gcc' for gnat-3.4. > I am closing this bug because the problem is not in the packages; it > is elsewhere and maybe I can help you solve it. Could you provide > some details about the "many Ada packages" that FTBFS? I maintain > most Ada packages in Debian and I know for a fact that they build > (with gnat, not gnat-3.4, as per my Debian Policy for Ada). Have you > got gnat-3.4 installed? I have compiled most of the Ada packages for the amd64/gcc-3.4 port where only gnat-3.4 is available. 'gnat' does not build at all on amd64. Unfortunately most Ada packages have to be patched to build with gnat-3.4 because of the missing symlinks. I still cannot see why it would be wrong to install the symlinks in /usr/lib. To use the hardcoded library path just to access these symlinks is definitely very ugly. You are right, of course, that the symlinks belong in the 'gnat-3.4' package and not in 'libgnat-3.4'. I have attached an amended patch which corrects this. Please reconsider to put the symlinks in '/usr/lib' where they can be found without any ugly hardcoded library path option. Regards Andreas Jochens diff -urN ../tmp-orig/gcc-3.4-3.4.2/debian/rules.d/binary-ada.mk ./debian/rules.d/binary-ada.mk --- ../tmp-orig/gcc-3.4-3.4.2/debian/rules.d/binary-ada.mk 2004-11-12 19:10:39.492809448 +0000 +++ ./debian/rules.d/binary-ada.mk 2004-11-12 19:10:33.339744856 +0000 @@ -108,8 +108,8 @@ for lib in lib{gnat,gnarl}; do \ vlib=$$lib-$(GNAT_VERSION); \ dh_link -p$(p_gnat) \ - /$(PF)/$(libdir)/$$vlib.so.1 /$(gcc_lib_dir)/adalib/$$vlib.so \ - /$(PF)/$(libdir)/$$vlib.so.1 /$(gcc_lib_dir)/adalib/$$lib.so; \ + /$(PF)/$(libdir)/$$vlib.so.1 /$(PF)/$(libdir)/$$vlib.so \ + /$(PF)/$(libdir)/$$vlib.so.1 /$(PF)/$(libdir)/$$lib.so; \ done endif