Building wxMac 2.8.7 Under Leprosy 10.5.2 Topic is solved

Do you have a typical platform dependent issue you're battling with ? Ask it here. Make sure you mention your platform, compiler, and wxWidgets version.
Post Reply
Kip
Experienced Solver
Experienced Solver
Posts: 61
Joined: Fri Jan 26, 2007 11:11 pm

Building wxMac 2.8.7 Under Leprosy 10.5.2

Post by Kip »

I get linker related errors when I tried to build Minimal, or any of the samples for that matter, under 10.5.2. I really wish Apple had an actual package manager bundled with Leprosy by now, since it wastes so much of everyone's time having to always build everything manually.

I am trying to build using ONLY the Leprosy SDK since my application won't work on Tiger anymore anyways. The machine is an old ppc based PowerBook G4 and everything should be built universal.

Code: Select all

$ make
g++ -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -o minimal   minimal_minimal.o -arch ppc -arch i386  -framework IOKit -framework Carbon -framework Cocoa -framework System -framework QuickTime    -L/Users/Kip/Projects/wxMac-2.8.7/build-debug/lib    -lpthread -liconv     -lwx_macud-2.8 -lwxtiffd-2.8 -lwxjpegd-2.8 -lwxpngd-2.8  -lwxzlibd-2.8  -lwxregexud-2.8 -lwxexpatd-2.8 -arch ppc -arch i386  -framework IOKit -framework Carbon -framework Cocoa -framework System -framework QuickTime  -lpthread -liconv  -framework WebKit
Undefined symbols for architecture i386:
  "wxTopLevelWindowMac::DoCentre(int)", referenced from:
      vtable for MyFramein minimal_minimal.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Undefined symbols for architecture ppc:
  "wxTopLevelWindowMac::DoCentre(int)", referenced from:
      vtable for MyFramein minimal_minimal.o
ld: symbol(s) not found for architecture ppc
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccUU8Vp5.out (No such file or directory)
make: *** [minimal] Error 1
wxMac 2.8.7 was configured and built with the following...

Code: Select all

$ ../configure --enable-monolithic --enable-static --disable-shared --with-opengl --enable-universal_binary --disable-gtk --enable-debug --
enable-debug_gdb --disable-optimise --enable-mediactrl --enable-unicode --prefix=/Users/Kip/local --with-macosx-version-min=10.5 --with-macos
x-sdk=/Developer/SDKs/MacOSX10.5.sdk --with-libjpeg=builtin --with-libpng=builtin --with-regex=builtin --with-libtiff=builtin --with-zlib=bui
ltin --with-expat=builtin
It compiled and installed into ~/local just fine. I also remembered to remove the old wxMac install under the secondary hierarchy in /usr. Of course, a package manager would have solved that problem for everyone.

Kip
Auria
Site Admin
Site Admin
Posts: 6695
Joined: Thu Sep 28, 2006 12:23 am
Contact:

Post by Auria »

what if you don't make it monolithic? Anyway monolithic has very little use with static libraries, it's mostly meant for dynamic ones

You might also want to read this :
http://www.wxwidgets.org/wiki/index.php ... 10.5_Notes

PS: It's leopard, not Leprosy. I'm there trying to help you so please spare me your sarcastic word games and complaints towards apple
Kip
Experienced Solver
Experienced Solver
Posts: 61
Joined: Fri Jan 26, 2007 11:11 pm

Post by Kip »

I'll try building it as non-monolithic this time and will let you know whether that works or not. I've also already read that wiki many times over.

PS It's leprosy, not Leopard. Leopards aren't a disease.

Kip
Kip
Experienced Solver
Experienced Solver
Posts: 61
Joined: Fri Jan 26, 2007 11:11 pm

Post by Kip »

Apparently not building as monolithic solved the problem. I am not sure why, but thanks though. Let's just hope Apple gets their act together with apt ported to Leprosy so people don't have to waste time with things like this.

Kip
Auria
Site Admin
Site Admin
Posts: 6695
Joined: Thu Sep 28, 2006 12:23 am
Contact:

Post by Auria »

Apt is already ported to mac. It's called Fink. BSD ports was ported too and is called macports
Kip
Experienced Solver
Experienced Solver
Posts: 61
Joined: Fri Jan 26, 2007 11:11 pm

Post by Kip »

Oh common, Fink does not count. Neither does DarwinPorts. There are very very few univeral packages available from either, and the whole thing is a hack job to make up for a platform that is garbage. You can lay a nice rug over the rotting floor boards if you like, but in the end, they are still there. The conflicting namespaces are such a pain in the ass, all of this owing to Apple's nasty violation of the FHS.
Auria
Site Admin
Site Admin
Posts: 6695
Joined: Thu Sep 28, 2006 12:23 am
Contact:

Post by Auria »

I don't like macports either. But I'd appreciate you stop complaining. Not even sure why I bother answering.

Leoaprd has wx pre-installed. Since Leopard is your only target you needn't build wx at all
Kip
Experienced Solver
Experienced Solver
Posts: 61
Joined: Fri Jan 26, 2007 11:11 pm

Post by Kip »

No, I feel it quite appropriate to point out the Apple falacies, especially as they cost myself and my employer time and money that could better go to other things. Since this is a forum for the exchange of knowledge as pertaining to wxWidgets, I think this warranted.

As for Leprosy having wxMac pre-installed, yes, I am well aware of that additional wart. The problem is that it is an old version that comes bundled with Apple's Pseudo-Developer tools, it isn't under the control of a package manager, and people repeatedly find themselves wasting hours of finite time in their lives discovering that there is some archaic wx-config binary buried up in the atic that has been harassing their build.
Post Reply