On Wed, 15 Jul 2026 05:50:25 +0200, in gmane.os.cygwin.applications you wrote:
>Andrew Schulman via Cygwin-apps writes: >> I'm making a first run at building fish version 4 (4.8.1), which is written >> in >> rust. My cygport script and build output are below. The build fails with: >> >> error: could not exec the linker `x86_64-pc-cygwin-gcc` > >That's a red herring. > >> -- The C compiler identification is GNU 16.1.1 > >First off, the Cygwin compiler is 14.4.0. If you've did an "install all >test packages" just to save figuring out which ones you actually need, >you need to correct that. Thanks. Not sure when that happened, but I just resynced all packages to current. >> Compiling fish-gettext-mo-file-parser v0.0.0 >> (/home/Andrew/dev/cygwin/fish/fish-4.8.1-1.x86_64/src/fish-4.8.1/crates/gettext-mo-file-parser) >> 0 [main] rustc 5771 child_info_fork::abort: >> \??\C:\cygwin64\bin\cygintl-8.dll: Loaded to different address: >> parent(0x170000) != child(0xA20000) > >There's your real problem: something needs rebasing and is currently >occupying the same spot that an external part of the libc (which is used >by the linker) would need to be placed into. Both addresses are >suspiciously low, though, so it's possible you may have a BLODA problem >there. OK. No BLODA here AFAIK, but it's hard to say for sure. The address conflicts occur randomly, in different compilation steps each time. Because of that, I can repeat the build as many times as I need to until everything finally gets built. I just did that - I think it took about 6 times - and finally fish is built and works. Hooray, sort of. >> error: could not exec the linker `x86_64-pc-cygwin-gcc` > >…due to the fork failing. > >My guess is that similarly to what I need to do for Perl XS >distributions rustc needs to do an ephemeral rebase after building a new >crate. OK. Can you or anyone else shed any more light on that step? I looked at the package sources for perl-Readonly-XS, perl-Text-CSV_XS, and perl_XS-Parse-Keyword just to pick a few, and didn't see any rebase logic there. Thanks, Andrew
