Summary: | dev-lang/fpc-2.6.2 with ld.gold fails in make -C fastcgi all (fpc-3.2.2: ld: error: ./link178.res:292:8: syntax error, unexpected STRING) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Maks Verver <maksverver> |
Component: | Current packages | Assignee: | Amy Liffey <amynka> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | esigra, gmt, iade.gesso, ionen, jstein |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | [ignore-for-stabilization] | ||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 269315 | ||
Attachments: |
build.log
0001-dev-lang-fpc-never-link-with-gcc-s-ld.gold.patch 3.2.2 .ebulid avoiding the use of GOLD linker silently |
Description
Maks Verver
2013-06-29 12:32:31 UTC
Created attachment 352234 [details]
build.log
is 2.6.2 affected? + 29 Jul 2013; Julian Ospald <hasufell@gentoo.org> fpc-2.6.2.ebuild: + die hard on gnu gold linker wrt #475210 THIS IS NOT A FIX, SO KEEP THIS BUG OPEN Created attachment 412928 [details, diff]
0001-dev-lang-fpc-never-link-with-gcc-s-ld.gold.patch
This is a good-enough solution for now imo. But see the attachment: I think we should really fix by adding similar to toolchain-functions.eclass (actually it already has the code to do it; it just rarely runs, plus, when it does run, it doesn't finish the job by modifying and exporting PATH).
is 3.0.4 able to get built with gold? (In reply to Pacho Ramos from comment #5) > is 3.0.4 able to get built with gold? Rebuild binutils[gold,default-gold] and then try build fpc. Error is presented: ... make cycleclean compiler make[4]: Entering directory '/var/tmp/portage/dev-lang/fpc-3.2.2/work/fpcbuild-3.2.2/fpcsrc/compiler' /bin/rm -f pp pp.o libppp.a libimppp.a /bin/rm -rf units /bin/rm -rf bin /bin/rm -f *.o *.ppu *.rst *.s *.a *.so *.ppl /bin/rm -rf *.sl /bin/rm -f fpcmade.* Package.fpc ./ppas.sh script.res link.res /bin/rm -f *_ppas.sh ppas.sh ppaslink.sh make -C utils cleanall make[5]: Entering directory '/var/tmp/portage/dev-lang/fpc-3.2.2/work/fpcbuild-3.2.2/fpcsrc/compiler/utils' /bin/rm -f fpc ppufiles ppudump ppumove mka64ins mkarmins mkx86ins fpc.o ppufiles.o ppudump.o ppumove.o mka64ins.o mkarmins.o mkx86ins.o libpfpc.a libpppufiles.a libpppudump.a libpppumove.a libpmka64ins.a libpmkarmins.a libpmkx86ins.a libimpfpc.a libimpppufiles.a libimpppudump.a libimpppumove.a libimpmka64ins.a libimpmkarmins.a libimpmkx86ins.a /bin/rm -f units/x86_64-linux/ppu.ppu units/x86_64-linux/crc.ppu /bin/rm -rf units /bin/rm -rf bin /bin/rm -f *.o *.ppu *.rst *.s *.a *.so *.ppl /bin/rm -rf *.sl /bin/rm -f fpcmade.* Package.fpc ./ppas.sh script.res link.res /bin/rm -f *_ppas.sh ppas.sh ppaslink.sh make[5]: Leaving directory '/var/tmp/portage/dev-lang/fpc-3.2.2/work/fpcbuild-3.2.2/fpcsrc/compiler/utils' /bin/rm -rf x86_64/units /bin/rm -rf x86_64/bin /bin/rm -f x86_64/*.o x86_64/*.ppu x86_64/*.rst x86_64/*.s x86_64/*.a x86_64/*.so x86_64/*.ppl /bin/rm -f x86_64/ppc386 x86_64/ppc68k x86_64/ppcppc x86_64/ppcsparc x86_64/ppcarm x86_64/ppcarmeb x86_64/ppcx64 x86_64/ppcppc64 x86_64/ppcmips x86_64/ppcmipsel x86_64/ppcavr x86_64/ppcjvm x86_64/ppc8086 x86_64/ppca64 x86_64/ppcsparc64 /bin/rm -f ppcx64 /bin/mkdir -p x86_64/units/x86_64-linux /var/tmp/portage/dev-lang/fpc-3.2.2/work/lib/fpc/3.2.2/ppcx64 -Ur -O2 -n -Fux86_64 -Fusystems -Fu/var/tmp/portage/dev-lang/fpc-3.2.2/work/fpcbuild-3.2.2/fpcsrc/rtl/units/x86_64-linux -Fix86_64 -FE. -FUx86_64/units/x86_64-linux -Cg -dRELEASE -dx86_64 -dGDB -dBROWSERLOG -Fux86 pp.pas /usr/bin/ld: error: ./link179.res:292:8: syntax error, unexpected STRING /usr/bin/ld: fatal error: unable to parse script file ./link179.res pp.pas(266,1) Error: Error while linking pp.pas(266,1) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted make[4]: *** [Makefile:4283: ppcx64] Error 1 make[4]: Leaving directory '/var/tmp/portage/dev-lang/fpc-3.2.2/work/fpcbuild-3.2.2/fpcsrc/compiler' make[3]: *** [Makefile:4331: next] Error 2 make[3]: Leaving directory '/var/tmp/portage/dev-lang/fpc-3.2.2/work/fpcbuild-3.2.2/fpcsrc/compiler' make[2]: *** [Makefile:4335: ppc1] Error 2 make[2]: Leaving directory '/var/tmp/portage/dev-lang/fpc-3.2.2/work/fpcbuild-3.2.2/fpcsrc/compiler' make[1]: *** [Makefile:4347: cycle] Error 2 make[1]: Leaving directory '/var/tmp/portage/dev-lang/fpc-3.2.2/work/fpcbuild-3.2.2/fpcsrc/compiler' make: *** [Makefile:2800: compiler_cycle] Error 2 * ERROR: dev-lang/fpc-3.2.2::local failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=dev-lang/fpc-3.2.2::local'`, * the complete build log and the output of `emerge -pqv '=dev-lang/fpc-3.2.2::local'`. * The complete build log is located at '/var/tmp/portage/dev-lang/fpc-3.2.2/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-lang/fpc-3.2.2/temp/environment'. * Working directory: '/var/tmp/portage/dev-lang/fpc-3.2.2/work/fpcbuild-3.2.2/fpcsrc' * S: '/var/tmp/portage/dev-lang/fpc-3.2.2/work/fpcbuild-3.2.2/fpcsrc' *** Bug 798921 has been marked as a duplicate of this bug. *** Errors have changed but this indeed still fails with gold. Given binutils-config no longer allow to select ld.bfd, it led to a mistaken change of the gold check (see duplicate bug #798921) So "solutions" would range from: 1. re-add old check but tell users to disable USE=default-gold instead 2. depend on binutils[-default-gold] (I wish this flag didn't even exist) 3. run tc-ld-force-bfd and use the exported value to either create a shell wrapper or a symlink in PATH (this would also "fix" calling ld directly) 4. try to figure out how to fix this properly if someone is willing #3 is similar to what comment #4 proposed, although by using tc-* it'd be simplified. Not familiar with fpc but, considering it's a compiler, does this matter at runtime as well? If so, may be better off with #2 if going for a quick fix. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f82b9b107ec751c104024e0c0080c1a52868ba8 commit 0f82b9b107ec751c104024e0c0080c1a52868ba8 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2021-06-30 21:30:03 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2021-06-30 21:55:45 +0000 dev-lang/fpc: re-add old-style gold check with updated message The previous check would ask to use binutils-config which is no longer possible, and tc-ld-disable-gold is not sufficient. Re-adding is only a temporary solution, this needs a proper look into making it respect $LD (emake LD=.. is not enough). Also revert Makefile sed style to how it was formerly suggested by Sergey Torokhov in previous bump, devmanual's old suggestion isn't useful here (this bit Acked-by David Seifert). Bug: https://bugs.gentoo.org/475210 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> dev-lang/fpc/fpc-3.2.2.ebuild | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) I manually patched the .ebuild file for version 3.2.2 and it worked! :) See in the attachments. Iade Created attachment 721261 [details]
3.2.2 .ebulid avoiding the use of GOLD linker silently
Seems to be resolved in new version. |