Opened 11 years ago
Closed 6 years ago
#40090 closed defect (fixed)
log4cxx @0.10.0: Undefined local symbol L318
Reported by: | peterhansgoldstein@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.0 |
Keywords: | snowleopard haspatch | Cc: | ryandesign (Ryan Carsten Schmidt), mkae (Marko Käning) |
Port: | log4cxx |
Description
OS 10.6.8, XCode 3.2.6
Build fails, kicking out "Undefined local symbol L318"
Log file attached, but it's highly inscrutable to me.
Attachments (2)
Change History (10)
Changed 11 years ago by peterhansgoldstein@…
comment:1 follow-up: 2 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | ros-log4cxx Configure error - build failure → ros-log4cxx: Undefined local symbol L318 |
---|
I don't believe we have a port called "ros-log4cxx" in the official MacPorts repository... Did you perhaps get this Portfile from somewhere else?
comment:2 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to ryandesign@…:
Did you perhaps get this Portfile from somewhere else?
Maybe from http://ros.org/ a few years ago?
comment:3 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|---|
Resolution: | → invalid |
Status: | new → closed |
Or in fact recently. I've now found the ROS OS X MacPorts installation page, the ros-macports github repository, and the ros-log4cxx port inside it. This is not our bug, because this is not our port. Please report the problem to the ROS people.
comment:4 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | mail@… added |
---|---|
Keywords: | snowleopard haspatch added |
Port: | log4cxx added; ros-log4cxx removed |
Resolution: | invalid |
Status: | closed → reopened |
Summary: | ros-log4cxx: Undefined local symbol L318 → log4cxx @0.10.0: Undefined local symbol L318 |
As it happens, I see the same problem with the log4cxx port that we do have. It happens on our Snow Leopard buildbot only, not on the newer buildbots. The Snow Leopard buildbot is the only one that uses gcc-4.2 as its default compiler, and I'm able to reproduce the problem on Mavericks if I use configure.compiler=apple-gcc-4.2
so it's some problem with old GCC. After some trial and error, I found that switching the optimization flags from -Os
(the default as of MacPorts 2.2) back to -O2
(the default in previous versions of MacPorts) fixes it, so that seems the simplest fix.
Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | log4cxx-optflags.diff added |
---|
proposed patch
comment:5 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | mail@… removed |
---|---|
Owner: | changed from macports-tickets@… to mail@… |
Status: | reopened → new |
There are no occurrences of the string "L318" in the source code. My thought is that perhaps this is a compiler-generated symbol name; the name makes me think it might be this file's 318th compiler-generated label, such as might be needed for a switch
statement, of which there are many in the last file mentioned in the log, properties.cpp. Perhaps there is something unusual about the switch
statements in properties.cpp that makes gcc-4.2's optimizer unhappy; some qualities that come to mind are that there are multiple nested switch
statements, and that one of them has case
statements after the default
case (usually the default
case is the last one).
I did find an old gcc bug when compiling a large switch statement; the error message is different, but it wasn't solved until gcc 4.3.
comment:6 Changed 10 years ago by mf2k (Frank Schima)
Owner: | changed from mail@… to macports-tickets@… |
---|
Port abandoned. See #43811.
comment:7 Changed 8 years ago by mkae (Marko Käning)
Cc: | mkae added |
---|
comment:8 Changed 6 years ago by Ken <21211439+kencu@…>
Resolution: | → fixed |
---|---|
Status: | new → closed |
Log file for this build attempt