Opened 12 years ago

Closed 11 years ago

Last modified 11 years ago

#33988 closed defect (fixed)

glib2: Undefined symbols: .objc_class_name_NSArray etc.

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.0.4
Keywords: tiger Cc: ballapete (Peter "Pete" Dyballa), ultrajoe@…, cooljeanius (Eric Gallager)
Port: glib2

Description

:info:build /usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: Undefined symbols:
:info:build .objc_class_name_NSArray
:info:build .objc_class_name_NSAutoreleasePool
:info:build .objc_class_name_NSData
:info:build .objc_class_name_NSDictionary
:info:build .objc_class_name_NSMutableArray
:info:build .objc_class_name_NSMutableDictionary
:info:build .objc_class_name_NSNumber
:info:build .objc_class_name_NSString
:info:build .objc_class_name_NSUserDefaults
:info:build _objc_msgSend
:info:build _objc_msgSend_fpret
:info:build collect2: ld returned 1 exit status

Attachments (1)

main.log.bz2 (28.3 KB) - added by ryandesign (Ryan Carsten Schmidt) 12 years ago.

Download all attachments as: .zip

Change History (21)

Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: main.log.bz2 added

comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

This log is from i386 but I see the same issue on ppc.

comment:2 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Try with configure.compiler=apple-gcc-4.2 with port:ld64 installed...

comment:3 in reply to:  2 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jeremyhu@…:

Try with configure.compiler=apple-gcc-4.2 with port:ld64 installed...

This made it! But be aware that gdk-pixbuf2 2.24.0_1 now needs

checking for GLIB - version >= 2.27.2... no

which is not recorded in gdk-pixbuf2 2.24.0_1. (Bug report #33994.)

comment:4 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Cc: Peter_Dyballa@… added

Cc Me!

comment:5 in reply to:  2 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to jeremyhu@…:

Try with configure.compiler=apple-gcc-4.2 with port:ld64 installed...

I was afraid you were going to suggest that. If that ends up being necessary, then there really is no reason not to make apple-gcc-4.2 the default compiler for everything on Tiger, as we've been discussing separately, since glib2 is a dependency of pkg-config, and pkg-config is a dependency (indirectly at least) of probably at least half of the other ports in MacPorts.

comment:6 in reply to:  2 ; Changed 12 years ago by ultrajoe@…

Replying to jeremyhu@…:

Try with configure.compiler=apple-gcc-4.2 with port:ld64 installed...

Unacceptable. apple-gcc-4.2 does not build on PPC Tiger, claiming it needs i86 capabilities that are beyond XCode 4.0's capabilities (at least as far as I know). I have not tried ld64, as I didn't know about it.

I am well aware that Tiger & PPC are no longer supported by anybody except those of us who still need it. If that's the case, then I suggest an update to MacPorts to tell us "old-timers" to FO on any invocation of any command other than "echo".

comment:7 in reply to:  6 ; Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ultrajoe@… added

Replying to ultrajoe@…:

apple-gcc-4.2 does not build on PPC Tiger, claiming it needs i86 capabilities that are beyond XCode 4.0's capabilities (at least as far as I know). I have not tried ld64, as I didn't know about it.

apple-gcc42 builds on PowerPC Tiger for myself and Peter, as reported in #33939, so please do install ld64, clean apple-gcc42 and try again, and file a new ticket if that still doesn't work. Jeremy has been very helpful in resolving Tiger build issues for apple-gcc42 and many other ports recently, some of which have been broken for years, so I'm very grateful to him for his help in making MacPorts more useful on Tiger again. The above idea of just using apple-gcc42 and ld64 for all ports on Tiger is also designed to increase the number of ports that can be successfully built on Tiger. There may (continue to) be some things broken on Tiger for a short while as we work out what we want to do for Tiger and how best to do it. If things are working for you on Tiger, you may want to hold off on upgrading any ports on Tiger for the time being until it's sorted out.

comment:8 in reply to:  7 Changed 12 years ago by ultrajoe@…

Replying to ryandesign@…:

Replying to ultrajoe@…:

apple-gcc-4.2 does not build on PPC Tiger, claiming it needs i86 capabilities that are beyond XCode 4.0's capabilities (at least as far as I know). I have not tried ld64, as I didn't know about it.

apple-gcc42 builds on PowerPC Tiger for myself and Peter, as reported in #33939, so please do install ld64, clean apple-gcc42 and try again, and file a new ticket if that still doesn't work.

OK, I must've gone dopey somewhere … or my interrupting the build of gcc-42 caused more troubles than I had anticipated. Built & installed ld64 and apple-gcc42 just fine overnight. Sorry for the panic. Trying the build of glib2 as above as I type this.

comment:9 in reply to:  2 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jeremyhu@…:

Try with configure.compiler=apple-gcc-4.2 with port:ld64 installed...

With the new apple-gcc42 and ld64 I have now on PPC Tiger/Mac OS X 10.4.11 installed

  glib2 @2.32.1_0 (active)
  gdk-pixbuf2 @2.24.0_1 (active)

so this bug can be closed.

comment:10 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

I don't think the bug can be closed until users who don't have apple-gcc42 or ld64 installed can successfully install glib2 on Tiger again, either by making glib2 compatible with the system compiler again, or by ensuring that apple-gcc42 and ld64 are automatically installed for the user.

comment:11 in reply to:  7 ; Changed 12 years ago by xizzix22@…

Hi, I'm very new to MacPorts and am having this problem as well. If I'm reading this right, installing ld64 and cleaning apple-gcc42 fixes this..? How exactly do I do this using the terminal?

comment:12 in reply to:  11 Changed 12 years ago by xizzix22@…

Replying to xizzix22@…:

Hi, I'm very new to MacPorts and am having this problem as well. If I'm reading this right, installing ld64 and cleaning apple-gcc42 fixes this..? How exactly do I do this using the terminal?

Okay, I just found the guide here (I was directed to this thread directly by the person helping me troubleshoot). I think I can figure out the terminal code from that, but could someone please check it before I enter it?

The code I came up with is: "sudo port install ld64" then "sudo port clean apple-gcc42"

without quotes of course.

Also I need to know if ld64 is a capital i or lowercase L.

Any help would be appreciated!

comment:13 Changed 12 years ago by xizzix22@…

Cc: xizzix22@… added

Cc Me!

comment:14 Changed 12 years ago by xizzix22@…

Cc: xizzix22@… removed

Cc Me!

comment:15 Changed 12 years ago by xizzix22@…

Er, sorry. What does the CC Me thing do? I clicked it by accident then undid it, it seems to have added replies here. My bad.

comment:16 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: xizzix22@… added

Welcome. This should work:

sudo port clean ld64 apple-gcc42 glib2
sudo port install ld64 apple-gcc42
sudo port install glib2 configure.compiler=apple-gcc-4.2

The l in ld64 is a lowercase L. You can just copy and paste the above lines into your terminal if you like.

The Cc Me button adds you to the Cc list for this ticket, or removes you from it. I'm adding you to it again so you receive an email about this message.

comment:17 in reply to:  16 Changed 12 years ago by xizzix22@…

Thank you! That worked!

comment:18 Changed 12 years ago by xizzix22@…

Cc: xizzix22@… removed

Cc Me!

comment:19 Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: newclosed

It sounds like there is nothing left to do in this bug. Closing.

comment:20 Changed 11 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

Note: See TracTickets for help on using tickets.