[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Why does dpkg-shlibdeps look at the target architecture?



Hi!

On Wed, 2025-07-09 at 12:39:12 +0200, Raphael Hertzog wrote:
> On Wed, 09 Jul 2025, Helmut Grohne wrote:
> > In Dpkg/Shlibs.pm in sub setup_library_paths, there is the following 
> > code:
> [...]
> > It is not clear to us, why that first branch exists. It was originally 
> > added by Raphaël in support of cross compilation and later changed a 
> > couple of times.
> 
> So this part was added as part of the discussion in this bug report:
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453267

Right, was about to post the same reference. :)

> >From what I remember, that first branch was specifically in support
> of building cross compilers.

I agree that this code does not look correct…

> I don't have recent knowledge of cross-building and cross-compilers
> so I have no idea whether that's still useful in some cases or not.

…and from a quick skim over that report, I think this might have been
needed to support old gcc versions that had not yet been fixed to
use the expected variables (see messages #73 and forward)? (But this
was really a quick skim, so might have read the details wrong, as the
report is quite long.) Will try to recheck later today.

> > I attempted a full architecture cross bootstrap (for m68k as it is 
> > quick) with that first branch deleted and it succeeded. I also attempted 
> > a hurd-amd64 bootstrap on amd64 with it deleted and then 
> > cpp-14-x86-64-gnu become installable.
> 
> The right thing to try to validate whether we can remove the code is
> building a cross-compiler (and not cross-building a compiler).

Yes, I don't see rebootstrap using dpkg-buildpackage --target-arch for
anything except GNU mig?

Ideally, we'd test both a cross-compiler build (build == host != target)
and a canadian cross-compiler build (build != host != target).

Thanks,
Guillem


Reply to: