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.
From what I remember, that first branch was specifically in supportof building cross compilers.
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.
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
From what I remember, that first branch was specifically in supportof building cross compilers.
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.
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).
On Wed, 2025-07-09 at 12:39:12 +0200, Raphael Hertzog wrote:
On Wed, 09 Jul 2025, Helmut Grohne wrote:
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. :)
…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.
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).
https://debusine.debian.net/debian/developers/work-request/119889/ is a
dpkg workflow and a gcc one shall go later.
From my point of view, this means we're good to move forward with thepatch (in forky).
Hi Guillem (and Raphaël),
On Wed, Jul 09, 2025 at 02:11:06PM +0200, Helmut Grohne wrote:
https://debusine.debian.net/debian/developers/work-request/119889/ is a dpkg workflow and a gcc one shall go later.
The gcc-14-cross workflow is:
https://debusine.debian.net/debian/developers/work-request/120241/
It succeeded and I checked the build log to see it actually used the
rebuilt dpkg-dev.
From my point of view, this means we're good to move forward with thepatch (in forky).
If you end up staging it into some git tree, I appreciate being able to reference it from rebootstrap for the benefit of hurd.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (0 / 16) |
Uptime: | 162:38:06 |
Calls: | 10,385 |
Calls today: | 2 |
Files: | 14,057 |
Messages: | 6,416,502 |