Re: fish rust build fails with "could not exec the linker `x86_64-pc-cygwin-gcc`"
Andrew Schulman via Cygwin-apps <[email protected]> Wed, 15 Jul 2026 16:31:43 -0400
| Newsgroups | gmane.os.cygwin.applications |
|---|---|
| Message-ID | <[email protected]> |
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/g= ettext-mo-file-parser) >> 0 [main] rustc 5771 child_info_fork::abort: >> \??\C:\cygwin64\bin\cygintl-8.dll: Loaded to different address: >> parent(0x170000) !=3D 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` > >=E2=80=A6due 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