On Wed, Jan 14, 2009 at 9:03 PM, Nick Guenther <[email protected]> wrote: > > So if I just rewrite the paths all should be peachy? Well, doing that > now, we'll see what happens. >
I've finished redoing create_mixxx_dmg.sh so that you can compile against the stock Qt. Here's a copy of Mixxx built this way, please tell me if it works on your machine (it will probably not work on 10.4 machines): http://www.csclub.uwaterloo.ca/~nguenthe/mixxx-1.6.5-macintel.dmg Here's the patch: http://csclub.uwaterloo.ca/~nguenthe/no_noframework.patch. Of course this won't work if you don't have the stock Qt installed (as everyone compiling on OS X now must have). I made a backup of the old script before doing this. Actually I probably should have just written it all in a new file so there would be no conflict.. but.. sleepy now... please test and I'll change the patch to be a new file if this all looks good. I've changed all the library paths to be /usr/local/lib (you had libid3tag in /opt/local because of darwinports I think?). That's how it is on my system, which is how it is if you compile the libraries from source following the download links on the wiki. For the record, here's all the intra-app lib references. I really hope I got them all, and got them correctly. boxe:Contents nguenther$ otool -L MacOS/Mixxx Frameworks/* plugins/imageformats/* plugins/iconengines/* MacOS/Mixxx: /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0) @executable_path/../Frameworks/QtCore (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtOpenGL (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/Qt3Support (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtGui (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtXml (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtNetwork (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtSql (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtScript (compatibility version 4.4.0, current version 4.4.3) /System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI (compatibility version 1.0.0, current version 49.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.17.0) /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 136.0.0) /System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime (compatibility version 1.0.0, current version 995.22.3) /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0) @executable_path/../Frameworks/libportaudio.dylib (compatibility version 3.0.0, current version 3.0.0) @executable_path/../Frameworks/libmad.dylib (compatibility version 3.0.0, current version 3.1.0) @executable_path/../Frameworks/libid3tag.dylib (compatibility version 4.0.0, current version 4.0.0) @executable_path/../Frameworks/libvorbisfile.dylib (compatibility version 6.0.0, current version 6.0.0) @executable_path/../Frameworks/libvorbis.dylib (compatibility version 5.0.0, current version 5.0.0) @executable_path/../Frameworks/libogg.dylib (compatibility version 6.0.0, current version 6.3.0) @executable_path/../Frameworks/libsndfile.dylib (compatibility version 2.0.0, current version 2.17.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.3) Frameworks/Qt3Support: @executable_path/../Frameworks/Qt3Support (compatibility version 4.4.0, current version 4.4.3) /usr/lib/libresolv.9.dylib (compatibility version 1.0.0, current version 369.6.0) @executable_path/../Frameworks/QtSql (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtXml (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtGui (compatibility version 4.4.0, current version 4.4.3) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 128.0.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 824.47.0) @executable_path/../Frameworks/QtNetwork (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtCore (compatibility version 4.4.0, current version 4.4.3) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 22.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 18.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 368.33.0) Frameworks/QtCore: @executable_path/../Frameworks/QtCore (compatibility version 4.4.0, current version 4.4.3) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 22.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 18.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 368.33.0) Frameworks/QtGui: @executable_path/../Frameworks/QtGui (compatibility version 4.4.0, current version 4.4.3) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 128.0.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 824.47.0) @executable_path/../Frameworks/QtCore (compatibility version 4.4.0, current version 4.4.3) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 22.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 18.0.0) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 368.33.0) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 567.37.0) Frameworks/QtNetwork: @executable_path/../Frameworks/QtNetwork (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtCore (compatibility version 4.4.0, current version 4.4.3) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 22.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) Frameworks/QtOpenGL: @executable_path/../Frameworks/QtOpenGL (compatibility version 4.4.0, current version 4.4.3) /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0) @executable_path/../Frameworks/QtGui (compatibility version 4.4.0, current version 4.4.3) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 128.0.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 824.47.0) @executable_path/../Frameworks/QtCore (compatibility version 4.4.0, current version 4.4.3) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 22.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 368.33.0) Frameworks/QtScript: @executable_path/../Frameworks/QtScript (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtCore (compatibility version 4.4.0, current version 4.4.3) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 22.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) Frameworks/QtSql: @executable_path/../Frameworks/QtSql (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtCore (compatibility version 4.4.0, current version 4.4.3) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 22.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) Frameworks/QtSvg: @executable_path/../Frameworks/QtSvg (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtGui (compatibility version 4.4.0, current version 4.4.3) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 128.0.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 824.47.0) @executable_path/../Frameworks/QtCore (compatibility version 4.4.0, current version 4.4.3) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) Frameworks/QtXml: @executable_path/../Frameworks/QtXml (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtCore (compatibility version 4.4.0, current version 4.4.3) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 22.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) Frameworks/libFLAC.dylib: @executable_path/../Frameworks/libFLAC.dylib (compatibility version 9.0.0, current version 9.1.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.6) /usr/local/lib/libogg.0.dylib (compatibility version 6.0.0, current version 6.3.0) Frameworks/libid3tag.dylib: @executable_path/../Frameworks/libid3tag.dylib (compatibility version 4.0.0, current version 4.0.0) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.3) Frameworks/libmad.dylib: @executable_path/../Frameworks/libmad.dylib (compatibility version 3.0.0, current version 3.1.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.3) Frameworks/libogg.dylib: @executable_path/../Frameworks/libogg.dylib (compatibility version 6.0.0, current version 6.3.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.6) Frameworks/libportaudio.dylib: @executable_path/../Frameworks/libportaudio.dylib (compatibility version 3.0.0, current version 3.0.0) /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 136.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 32.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.0.0) Frameworks/libsndfile.dylib: @executable_path/../Frameworks/libsndfile.dylib (compatibility version 2.0.0, current version 2.17.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.3) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) Frameworks/libvorbis.dylib: @executable_path/../Frameworks/libvorbis.dylib (compatibility version 5.0.0, current version 5.0.0) @executable_path/../Frameworks/libogg.dylib (compatibility version 6.0.0, current version 6.3.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.3) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) Frameworks/libvorbisfile.dylib: @executable_path/../Frameworks/libvorbisfile.dylib (compatibility version 6.0.0, current version 6.0.0) @executable_path/../Frameworks/libvorbis.dylib (compatibility version 5.0.0, current version 5.0.0) @executable_path/../Frameworks/libogg.dylib (compatibility version 6.0.0, current version 6.3.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.3) plugins/imageformats/libqgif.dylib: @executable_path/../Frameworks/libqgif.dylib (compatibility version 0.0.0, current version 0.0.0) @executable_path/../Frameworks/QtGui (compatibility version 4.4.0, current version 4.4.3) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 128.0.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 824.47.0) @executable_path/../Frameworks/QtCore (compatibility version 4.4.0, current version 4.4.3) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) plugins/imageformats/libqjpeg.dylib: @executable_path/../Frameworks/libqjpeg.dylib (compatibility version 0.0.0, current version 0.0.0) @executable_path/../Frameworks/QtGui (compatibility version 4.4.0, current version 4.4.3) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 128.0.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 824.47.0) @executable_path/../Frameworks/QtCore (compatibility version 4.4.0, current version 4.4.3) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) plugins/imageformats/libqsvg.dylib: @executable_path/../Frameworks/libqsvg.dylib (compatibility version 0.0.0, current version 0.0.0) @executable_path/../Frameworks/QtSvg (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtXml (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtGui (compatibility version 4.4.0, current version 4.4.3) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 128.0.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 824.47.0) @executable_path/../Frameworks/QtCore (compatibility version 4.4.0, current version 4.4.3) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) plugins/iconengines/libqsvg.dylib: @executable_path/../Frameworks/libqsvg.dylib (compatibility version 0.0.0, current version 0.0.0) @executable_path/../Frameworks/QtSvg (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtXml (compatibility version 4.4.0, current version 4.4.3) @executable_path/../Frameworks/QtGui (compatibility version 4.4.0, current version 4.4.3) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 128.0.0) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 824.47.0) @executable_path/../Frameworks/QtCore (compatibility version 4.4.0, current version 4.4.3) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) boxe:Contents nguenther$ Stats on file sizes: .app is 75megs. 44 of that is in Contents/, 25 in skins/. Under Contents mixxx itself is only 3.5megs, but all the libraries come to 40, the largest being QtGui at 19.5. So just so I get this straight, framework library files (the file /Library/Frameworks/X.framework/X) *are* .dylibs? If I could cp them into the bundle with that name the code would be simplified, but I wouldn't want to do it if they weren't actually .dylibs (even if OS X's linker would make it work anyway). There's still a lot more that could be done: -make it smarter about extracting dependencies (but also make it easy to put in dependencies manually if needed) -there's weirdness with vorbis and vorbisfile just since they share part of a name. This should not be. -the patch has FRAMEWORKS and DYLIBS arrays and uses them in a bunch of places; however sometimes they are too much: mixxx itself doesn't reference some of the libraries directly itself so the reref calls fail, but they still need to be included in those lists in order to get copied in. This needs to be cleaned up. -roll this logic into SCons. create_mixxx_dmg.sh should really only be the last few lines (though it should probably be rolled into scons too, so we can run `scons package`) -It might be worth it to figure out how to cross compile for 10.4 from 10.5? I still have my 10.4 install discs but nothing to install them on (though perhaps http://wiki.osx86project.org/wiki/index.php/Vmware_how_to?) -Nick ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ Mixxx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mixxx-devel
