#51388 closed defect (fixed)
gcc6 @6.1.0: FATAL:Symbol L58$pb already defined.
Reported by: | udbraumann | Owned by: | mww@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.4 |
Keywords: | leopard powerpc | Cc: | ccorn, mojca (Mojca Miklavec), ryandesign (Ryan Carsten Schmidt), dstrubbe (David Strubbe), khepler, ballapete (Peter "Pete" Dyballa), cooljeanius (Eric Gallager) |
Port: | gcc6 |
Description
While trying to install gcc6 @6.1.0
I run into this fatal error:
:info:build libtool: compile: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc6/gcc6/work/build/./gcc/gcj -B/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc6/gcc6/work/build/ppc-apple-darwin9/libjava/ -B/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc6/gcc6/work/build/./gcc/ -B/opt/local/ppc-apple-darwin9/bin/ -B/opt/local/ppc-apple-darwin9/lib/ -isystem /opt/local/ppc-apple-darwin9/include -isystem /opt/local/ppc-apple-darwin9/sys-include -fclasspath=-fbootclasspath=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc6/gcc6/work/gcc-6.1.0/libjava/classpath/lib --encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g -O2 -c -fsource-filename=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc6/gcc6/work/build/ppc-apple-darwin9/libjava/classpath/lib/classes -MT java/lang.lo -MD -MP -MF java/lang.deps @java/lang.list -fno-common -o java/.libs/lang.o :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc6/gcc6/work/.tmp/ccUF9vdq.s:17749:FATAL:Symbol L58$pb already defined. :info:build make[3]: *** [java/lang.lo] Error 1
Any ideas how this particular symbol L58$pb
could have been defined before?
Attachments (2)
Change History (35)
Changed 8 years ago by udbraumann
Attachment: | main.log.gz added |
---|
comment:1 Changed 8 years ago by mf2k (Frank Schima)
Cc: | mww@… removed |
---|---|
Owner: | changed from macports-tickets@… to mww@… |
comment:2 Changed 8 years ago by ccorn
comment:3 Changed 8 years ago by ccorn
comment:5 Changed 8 years ago by kenneth.f.cunningham@…
I fixed this on Tiger/PPC just now by editing the portfile to remove java from the installed languages and removing libgcj* from the installed distfiles. Then it installed just fine. I suspect this same fix would work on Leopard PPC as well.
Given everything said about the state of the java compiler in gcc, this seems no loss. It apparently hasn't been updated since about 2012.
Also, for whatever reason, gcc5 installs (including java) with no trouble, so that is still functional if gcj is really needed for something.
comment:6 Changed 8 years ago by ccorn
Om my MacOS X 10.5.8/PowerMac G5, the bug manifests when compiling the member function
void java.lang.StringBuffer.ensureCapacity_unsynchronized(int)
at the end of libjava/java/lang/StringBuffer.java
.
This is a compiler bug, and I could not get around it by random rearrangement of member function implementations. So I deactivated Java too.
That issue may change with upstream upgrades, so I'd try to sit it out before proposing any permanent workaround on the MacPorts side.
comment:9 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
We should do some more research in the upstream bug tracker and if necessary file a bug for this problem specifically. Some of the previously referenced upstream tickets are years old and for older versions of gcc that build fine which makes me think they're not related.
comment:10 follow-up: 13 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|---|
Keywords: | leopard powerpc added |
Summary: | gcc6 @6.1.0 fails building on 10.5.8. PPC → gcc6 @6.1.0: FATAL:Symbol L58$pb already defined. |
gcc 6.2.0 has been released. I'll update the port soon and we'll see if that fixes the build on Leopard PowerPC.
comment:13 follow-up: 15 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Replying to ryandesign@…:
gcc 6.2.0 has been released. I'll update the port soon and we'll see if that fixes the build on Leopard PowerPC.
Port decided to build gcc6 6.2.0 because it is listed as a dependency of py27-numpy. And its build fails on PPC Tiger here:
/bin/sh ./libtool --tag=GCJ --mode=compile /opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_gcc6/gcc6/work/build/./gcc/gcj -B/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_gcc6/gcc6/work/build/ppc-apple-darwin8/libjava/ -B/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_gcc6/gcc6/work/build/./gcc/ -B/opt/local/ppc-apple-darwin8/bin/ -B/opt/local/ppc-apple-darwin8/lib/ -isystem /opt/local/ppc-apple-darwin8/include -isystem /opt/local/ppc-apple-darwin8/sys-include -fclasspath= -fbootclasspath=/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_gcc6/gcc6/work/gcc-6.2.0/libjava/classpath/lib --encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g -O2 -c -o java/lang.lo -fsource-filename=/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_gcc6/gcc6/work/build/ppc-apple-darwin8/libjava/classpath/lib/classes -MT java/lang.lo -MD -MP -MF java/lang.deps @java/lang.list libtool: compile: /opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_gcc6/gcc6/work/build/./gcc/gcj -B/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_gcc6/gcc6/work/build/ppc-apple-darwin8/libjava/ -B/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_gcc6/gcc6/work/build/./gcc/ -B/opt/local/ppc-apple-darwin8/bin/ -B/opt/local/ppc-apple-darwin8/lib/ -isystem /opt/local/ppc-apple-darwin8/include -isystem /opt/local/ppc-apple-darwin8/sys-include -fclasspath= -fbootclasspath=/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_gcc6/gcc6/work/gcc-6.2.0/libjava/classpath/lib --encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g -O2 -c -fsource-filename=/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_gcc6/gcc6/work/build/ppc-apple-darwin8/libjava/classpath/lib/classes -MT java/lang.lo -MD -MP -MF java/lang.deps @java/lang.list -fno-common -o java/.libs/lang.o /opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_gcc6/gcc6/work/.tmp/ccxXIwjU.s:18753:FATAL:Symbol L58$pb already defined. make[3]: *** [java/lang.lo] Error 1 make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_gcc6/gcc6/work/build/ppc-apple-darwin8/libjava' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_gcc6/gcc6/work/build/ppc-apple-darwin8/libjava' make[1]: *** [all-target-libjava] Error 2 make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_lang_gcc6/gcc6/work/build' make: *** [bootstrap-lean] Error 2
Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
main.log from build on PPC Tiger of gcc6 6.2.0
comment:15 follow-up: 16 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to Peter_Dyballa@…:
Replying to ryandesign@…:
gcc 6.2.0 has been released. I'll update the port soon and we'll see if that fixes the build on Leopard PowerPC.
Port decided to build gcc6 6.2.0 because it is listed as a dependency of py27-numpy. And its build fails on PPC Tiger here:
Ok, so 6.2.0 did not resolve the FATAL:Symbol L58$pb already defined
error.
The error is occurring in the java directory. Java support was recently completely removed from gcc7, I think due to a long history of problems they finally admitted they don't have the expertise to fix. Ken mentioned above that the build succeeds on PowerPC when Java support is removed. We could start by removing Java support only for PowerPC builds, and maybe with the next version update of gcc6 we can remove it for all platforms.
comment:16 Changed 8 years ago by udbraumann
Replying to ryandesign@…:
... We could start by removing Java support only for PowerPC builds, and maybe with the next version update of gcc6 we can remove it for all platforms.
Yes, this sounds reasonable, though nothing is known about the user figures utilizing Java support so far.
comment:17 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:18 Changed 8 years ago by mojca (Mojca Miklavec)
Ryan, is it perhaps possible to remove the failcache just for gcc6 on 10.5? This is a blind suggestion, but I assume that one of the other ports might actually build it in the process instead of failing due to presumably broken dependency. Or is that already taken care of in cases like this one?
comment:19 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
The failcache entry for a port automatically clears itself if the portfile or its files change.
comment:20 Changed 8 years ago by mojca (Mojca Miklavec)
Perfect, the build succeeded, thanks a lot.
comment:21 follow-up: 22 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
On Friday I removed the Java target in Portfile. Some hours ago the build succeeded…
comment:22 follow-ups: 23 24 25 Changed 8 years ago by udbraumann
Replying to Peter_Dyballa@…:
On Friday I removed the Java target in Portfile. Some hours ago the build succeeded…
Could you simply use Leopard's standard compiler (gcc4.2 from Xcode 3.1.4, PPC), or did you take MacPorts' gcc5? For me, apparently only the latter works (just compiling), as otherwise after a minute or so of the building process, it stopped telling that the compiler cannot generate binaries, though the configuration before was successful. Unfortunately I did not keep a copy of this attempt, so I cannot tell more at the moment.
comment:23 follow-up: 26 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Replying to braumann@…:
Replying to Peter_Dyballa@…:
On Friday I removed the Java target in Portfile. Some hours ago the build succeeded…
Could you simply use Leopard's standard compiler (gcc4.2 from Xcode 3.1.4, PPC), or did you take MacPorts' gcc5?
I did not change more in Portfile than remove ,java
from the set of --enable-languages=
, so it must have been the standard compiler, presumingly GCC 4.2. I also have no records saved…
comment:24 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Replying to braumann@…:
And it was on PPC Tiger! PPC Leopard will follow some time, and I shall observe which compiler will be used!
comment:25 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
Replying to braumann@…:
It's too late – Portfile is already updated and does not contain the java taget!
comment:26 follow-up: 27 Changed 8 years ago by udbraumann
Replying to Peter_Dyballa@…:
I did not change more in Portfile than remove
,java
from the set of--enable-languages=
, so it must have been the standard compiler, presumingly GCC 4.2. I also have no records saved…
Please forget my complaint, I made another attempt without specifying the compiler (after several clean
calls), now building of gcc6 @6.2.0
is running since an hour on my PowerBook G4 (10.5.8), and I presently do not expect some further interruption.
BTW, from comment 20 above I got the impression that some binary build for PPC had been compiled by the buildbot, so I tried to call
$ sudo port -b install gcc6
but there was no gcc6-6.2.0_0.darwin_9.ppc.tbz2
on any of the servers.
comment:27 follow-up: 28 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Correct, gcc6-6.2.0_0.darwin_9.ppc.tbz2 is not on any server because it does not exist because it could not build on PowerPC because it was trying to build with Java support. The fixed version, gcc6-6.2.0_1.darwin_9.ppc.tbz2, which does not try to build with Java support, does build on PowerPC, and the packages are on the servers. Run sudo port selfupdate
to get this version of the Portfile, then try again.
comment:28 Changed 8 years ago by udbraumann
Replying to ryandesign@…:
...
sudo port selfupdate` to get this version of the Portfile, then try again.
Oh my god, sorry for the confusion, apparently I called the selfupdate
too early yesterday.
comment:29 follow-up: 30 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
There is one problem with this solution, leaving out the build of gcj:
root 321 /\ port select --set gcc mp-gcc6 Selecting 'mp-gcc6' for 'gcc' failed: could not create new link "/opt/local/bin/gcj": target "/opt/local/bin/gcj-mp-6" doesn't exist
comment:31 Changed 8 years ago by ballapete (Peter "Pete" Dyballa)
comment:32 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Yeah given the rebuild time I would have waited to make this change with the next version. But it's done now.
comment:33 Changed 12 months ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
Same for me. MacOS X 10.5.8/PowerMac G5. Slightly different symbol and line number of the intermediate .s file, but same source file: