Opened 4 years ago

Last modified 11 months ago

#40090 new defect

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 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)

main.log (261.0 KB) - added by peterhansgoldstein@… 4 years ago.
Log file for this build attempt
log4cxx-optflags.diff (394 bytes) - added by ryandesign (Ryan Schmidt) 4 years ago.
proposed patch

Download all attachments as: .zip

Change History (9)

Changed 4 years ago by peterhansgoldstein@…

Log file for this build attempt

comment:1 follow-up: Changed 4 years ago by ryandesign (Ryan Schmidt)

  • Summary changed from ros-log4cxx Configure error - build failure to 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 in reply to: ↑ 1 Changed 4 years ago by ryandesign (Ryan 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 4 years ago by ryandesign (Ryan Schmidt)

  • Cc ryandesign@… added
  • Resolution set to invalid
  • Status changed from new to 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 4 years ago by ryandesign (Ryan Schmidt)

  • Cc mail@… added
  • Keywords snowleopard haspatch added
  • Port log4cxx added; ros-log4cxx removed
  • Resolution invalid deleted
  • Status changed from closed to reopened
  • Summary changed from ros-log4cxx: Undefined local symbol L318 to 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 4 years ago by ryandesign (Ryan Schmidt)

proposed patch

comment:5 Changed 4 years ago by ryandesign (Ryan Schmidt)

  • Cc mail@… removed
  • Owner changed from macports-tickets@… to mail@…
  • Status changed from reopened to 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 3 years ago by mf2k (Frank Schima)

  • Owner changed from mail@… to macports-tickets@…

Port abandoned. See #43811.

comment:7 Changed 11 months ago by mkae (Marko Käning)

  • Cc mkae added
Note: See TracTickets for help on using tickets.