Page 1 of 1

Tiger problem not fixed in r1043 or r1051

Posted: Wed Oct 31, 2007 8:34 am
by RonaldPR
Play r1043 crashes on launch, just like r1042 and with the exact same report in crash log (pasted below).

The library that is not loaded, indeed does not exist in my 10.4.10 installation.
I do have
/usr/lib/libcurl.3.0.0.dylib
/usr/lib/libcurl.3.dylib
/usr/lib/libcurl.dylib
but no
/usr/lib/libcurl.4.dylib


Crash log:

Host Name: MacKanjer4
Date/Time: 2007-10-31 09:22:11.260 +0100
OS Version: 10.4.10 (Build 8R4031)
Report Version: 4

Command: Play
Path: /Users/ronald/Applications/Play/Play.app/Contents/MacOS/Play
Parent: WindowServer [60]

Version: 0.2 (1043)

PID: 398
Thread: Unknown

Link (dyld) error:

Library not loaded: /usr/lib/libcurl.4.dylib
Referenced from: /Users/ronald/Applications/Play/Play.app/Contents/MacOS/Play
Reason: image not found

Re: Tiger problem not fixed in r1043

Posted: Wed Oct 31, 2007 3:36 pm
by sbooth
I tried a workaround for 1043 by attempting to link to curl.3 instead of curl. However, the linker hard codes the path to the image into the executable so that didn't work. I thought my Xcode build settings were correct to get this to work- I am set to use the 10.5 SDK but the Deployment target is 10.4. I will keep trying.

Re: Tiger problem not fixed in r1043

Posted: Wed Oct 31, 2007 3:50 pm
by tpieski
I managed to successfully compile and run latest Play with few modifications to project.pbxproj file. And I had to comment out code where NSTreeNode was used.

You need to change the SDKROOT variable to point to correct SDK in lines 2713 and 2723. In MacOS 10.4 it is /Developer/SDKs/MacOSX10.4u.sdk
You can do this from Xcode too; Project -> Edit Project Settings

Re: Tiger problem not fixed in r1043

Posted: Thu Nov 01, 2007 3:01 am
by sbooth
Can someone running Tiger try the following in Terminal:

Code: Select all

install_name_tool -change /usr/lib/libcurl.4.dylib /usr/lib/libcurl.3.dylib Play.app/Contents/MacOS/Play
and let me know if that fixes the problem?

Re: Tiger problem not fixed in r1043 or r1051

Posted: Thu Nov 01, 2007 8:33 am
by RonaldPR
The hack you apparently applied in r1051 does not work. Play r1051 still does crash at launch, but now with a diiferent crash report:

Host Name: MacKanjer4
Date/Time: 2007-11-01 09:26:21.636 +0100
OS Version: 10.4.10 (Build 8R4031)
Report Version: 4

Command: Play
Path: /Users/ronald/Applications/Play/Play.app/Contents/MacOS/Play
Parent: WindowServer [61]

Version: 0.2 (1051)

PID: 526
Thread: Unknown

Link (dyld) error:

Library not loaded: /usr/lib/libcurl.3.dylib
Referenced from: /Users/ronald/Applications/Play/Play.app/Contents/MacOS/Play
Reason: Incompatible library version: Play requires version 5.0.0 or later, but libcurl.3.dylib provides version 4.0.0

Re: Tiger problem not fixed in r1043 or r1051

Posted: Thu Nov 01, 2007 8:47 am
by RonaldPR
SDK settings will determine on which OSX versions your application will run.

http://developer.apple.com/documentatio ... velopment/

Re: Tiger problem not fixed in r1043 or r1051

Posted: Thu Nov 01, 2007 3:02 pm
by sbooth
RonaldPR wrote:SDK settings will determine on which OSX versions your application will run.

http://developer.apple.com/documentatio ... velopment/
True, however for Play I must use 10.5 as the SDK because I used certain private API in Tiger that no longer works on Leopard. I think what I will end up doing is having two project files, one for Tiger and one for Leopard, with #ifdefs in the source code to make things work. I think this will be necessary because I don't know of any way to change the library interface version required inside a compiled executable.

Re: Tiger problem not fixed in r1043 or r1051

Posted: Fri Nov 02, 2007 6:33 pm
by RonaldPR
Play-Tiger-r1054 seems to work, at least does not crash at launch. I don't like the name change to `Play-Tiger', so I will use r1036 (and keep the related database) for now. Will both projects be somehow merged into one application in a release version?

Re: Tiger problem not fixed in r1043 or r1051

Posted: Sat Nov 03, 2007 3:25 pm
by sbooth
RonaldPR wrote:Play-Tiger-r1054 seems to work, at least does not crash at launch. I don't like the name change to `Play-Tiger', so I will use r1036 (and keep the related database) for now. Will both projects be somehow merged into one application in a release version?
You can rename the .app back to Play if you'd like :)
I just needed a way to distinguish between the Leopard and Tiger versions. As far as merging goes, if I can figure out a way to get the linking issues resolved I will absolutely merge them back together for the next release.

Re: Tiger problem not fixed in r1043 or r1051

Posted: Sat Nov 03, 2007 8:10 pm
by RonaldPR
sbooth wrote:You can rename the .app back to Play if you'd like :)
Doesn't really help. Only the file will be renamed, everywhere else it will still be Play-Tiger. Well, maybe I should get used to that name, I will not upgrade to OSX 10.5 for at least 6 months to come. Too much of my software is incompatible with 10.5.

Re: Tiger problem not fixed in r1043 or r1051

Posted: Sun Nov 04, 2007 3:31 am
by sbooth
I think I will likely bundle curl as a framework to avoid a build for each OS version.