Hi Stephen, Following are the current status on my porting of SongBird to Solaris. SongBird GUI can be launched on my Solaris x86 box(svn_80): http://www.flickr.com/photos/39375616 at N00/2293711728/. But nothing happen when I choose "Open a File". The debugging output for the binary is here: http://iann.pastebin.com/m3ae1cb79.
1. Check out the XULRunnder trunk(2008-02-21) source code: cvs co mozilla/client.mk cd mozilla gmake -f client.mk checkout MOZ_CO_PROJECT=xulrunner 2. Build XULRunner trunk with the mozconfig below: mk_add_options moz_objd...@topsrcdir@/../build ac_add_options --enable-application=xulrunner ac_add_options --with-xulrunner-stub-name=songbird ac_add_options --disable-optimize ac_add_options --disable-tests ac_add_options --enable-debug ac_add_options --disable-static ac_add_options --enable-shared ac_add_options --disable-auto-deps ac_add_options --disable-crashreporter 3. Check out the SongBird source code. svn co https://publicsvn.songbirdnest.com/songbird/client/trunk sbird 4. Hack around the code for Solaris, with patch here: http://iann.pastebin.com/m2a2ffe68. I just ignore some breakpad(crash reporting) requirements due to it's still under development: https://bugzilla.mozilla.org/show_bug.cgi?id=391361 and http://code.google.com/p/google-breakpad/issues/detail?id=223. 5. Get the new command sets for "cp" and "find"(/usr/local/): coreutils-6.9 and findutils-4.2.33. This can help bypass some incompatibility issues. 6. Packaging XULRunner to build SongBird: http://publicsvn.songbirdnest.com/wiki/PackagingXulRunner. 7. Build vendor binaries(gettext id3lib libgpod libiconv libogg libtool taglib zlib) by running the build script in every directories. 8. Build SongBird. In the source root directory, run "gmake -f songbird.mk debug". 9. Goto compiled/dist and run ./songbird. 10. Get an empty dialog: http://www.flickr.com/photos/39375616 at N00/2293710390, have to click "yes" to proceed. It seems that a new profile is created and the same dialog pops up again. Then choose "cancel" to proceed. 11. Get an dialog for "internal playback core error": http://www.flickr.com/photos/39375616 at N00/2293710392/. Click "more info" won't help... Proceed by "more info" and "continue". 12. Accept the license agreement(http://www.flickr.com/photos/39375616 at N00/2293710394/) and get to "Setup options"(http://www.flickr.com/photos/39375616 at N00/2293710396/). The network connection option can be set here(http://www.flickr.com/photos/39375616 at N00/2293710400/). Choose "OK" will bring me to the main window finally: http://www.flickr.com/photos/39375616 at N00/2293710404/. The error message " JavaScript error: , line 0: uncaught exception: [Exception... "'Component not initialized' when calling method: [sbIPlaylistPlayback::getSupportedFileExtensions]" nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)" location: "JS frame :: chrome://songbird/content/scripts/playerOpen.js :: SBFileOpen :: line 65" data: no] " in the log shows that there are something wrong with the component initialization for "@songbirdnest.com/Songbird/PlaylistPlayback;1". The files are in compiled/dist/components, for example: sbPlaylistPlayback.js. It seems that xulrunner has some problem finding all these files and registering the components. I try to copy all the file under compiled/dist/components to compiled/dist/xulrunner/components/ and run "./songbird" again. The debugging output is here: http://iann.pastebin.com/m5e78f628. Notice that some SongBird related components have been registered successfully: 1. *** Registering components in: SongbirdMetadataManagerComponent 2. *** Registering components in: SongbirdMetadataHandlerTaglibComponent 3. *** Registering components in: sbGStreamerModule 4. *** Registering components in: SongbirdDeviceManagerModule 5. *** Registering components in: SongbirdDownloadDeviceComponent But "Open a File" still doesn't work:-( If you guys have any clue for this problem, that'll be great. Thanks, -Alfred Stephen Lau wrote: > Just to follow up, I managed to rebuild myself a debug XULRunner, and > get some more useful debugging output out of the `songbird` binary. > I've put the debug log up here: > > http://whacked.net/songbird-debug.log > > while I figure out what to make of it. :-P > notable errors include many assertion failures attempting to > initialize nsScriptSecurityManager: > ##!!! ASSERTION: Failed to initialize nsScriptSecurityManager: > 'NS_SUCCEEDED(rv)', file > /export/home/stevel/sb/xulrunner/mozilla/caps/src/nsScriptSecurityManager.cpp, > line 3399 > > failure to load the Songbird database engine shared library: > nsNativeModuleLoader::LoadModule("/export/home/stevel/sb/trunk/compiled/dist/components/sbDBEngine_d.so") > - load FAILED, rv: 80004005, error: > ld.so.1: songbird: fatal: relocation error: file > /export/home/stevel/sb/trunk/compiled/dist/components/sbDBEngine_d.so: > symbol __1cWCaseInsensitiveCompare6FpkHp0I_i_: referenced symbol not > found > > The securitymanager stuff seems coincidentally related to the stack > trace I got in an earlier core dump related to securitymanager > initialisation failure as well. (I only get a core dump on a first > run of xulrunner/songbird, but many thanks to Ginn Chen for pointing > me at b.m.o. 403466 which is my likely culprit) > > cheers, > steve > > On Sun, Jan 06, 2008 at 01:42:55AM -0800, Stephen Lau wrote: > >> I made some progress here tonight. I was able to build XULRunner >> successfully, and after a few false starts, I was able to get Songbird >> built successfully. It appears to startup, but then exits pretty >> quickly without ever drawing anything on the screen. >> >> It creates and populates a ~/.songbird1 directory: >> [stevel at grommit:dist] 629$ find ~/.songbird1 >> /export/home/stevel/.songbird1 >> /export/home/stevel/.songbird1/z3l037ar.default >> /export/home/stevel/.songbird1/z3l037ar.default/prefs.js >> /export/home/stevel/.songbird1/z3l037ar.default/.parentlock >> /export/home/stevel/.songbird1/z3l037ar.default/xpti.dat >> /export/home/stevel/.songbird1/z3l037ar.default/compatibility.ini >> /export/home/stevel/.songbird1/z3l037ar.default/compreg.dat >> /export/home/stevel/.songbird1/z3l037ar.default/mimeTypes.rdf >> /export/home/stevel/.songbird1/z3l037ar.default/db >> /export/home/stevel/.songbird1/profiles.ini >> >> but seems to die out somewhere. I'm calling it a night for now - since >> I can't figure out what's going on - but if anyone is curious and wants >> to take a look at the truss output, I've put it up here: >> http://whacked.net/songbird.truss >> >> Nothing jumps out at out me as being obviously wrong or being an >> obviously failed call -- but I'd appreciate anyone's eyes that could help. >> >> I built a release (non-debug) build, so obviously I'm not getting any >> debug output. I'll need to build a debug build (hopefully tomorrow) to >> maybe see if I can narrow down from there. >> >> cheers, >> steve >> >> -- >> stephen lau | stevel at opensolaris.org | www.whacked.net >> >> _______________________________________________ >> desktop-discuss mailing list >> desktop-discuss at opensolaris.org
