These Forums Are Going Away!

These forums are currently read-only, but will be going away entirely in mid-august. All active discussion has moved elsewhere. Visit the Songbird Developers Google Group for developer topics, and Get Satisfaction for everything else.

Songbird on Linux/PPC

I would like to get Songbird running on Linux on PPC. Is there anyone out there that has a nice script or instructions on a HowTo on building the plataform specific libraries needed by Songbird? Any help would be greatly apreceated.

mig Says:   

http://publicsvn.songbirdnest.com/trac/wiki/BuildXulRunner

http://publicsvn.songbirdnest.com/trac/wiki/PackagingXulRunn...

After you finish xulrunner, you'll be on your own for the rest of the stuff in the trunk/dependencies/vendors folder (sqlite, id3lib, etc) as well as gstreamer.

Good luck!

Let us know how it goes.

njal Says:   

I too have been attempting this but have had no luck, nor have i ever recieved any help from the IRC room, i go by the same name on there, but I am having real problems.

Ok so lets document what i am doing as i do it.

Set Up the environment

1) Download songbird and the x86 linux dependancy via http

2) dump into my ~/Src/sbird directory

3) unpack the trunk (after realising i need to unpack songbird not snogbird :S)

4) unpack the dependancies into ~/Src/sbird/songbird/trunk/dependancies

Now all that works fine

Building the App, using the XULRunner method

1) Added the two options to my $PATH

2) Run svn up on trunk and dependencies

3) According to http://publicsvn.songbirdnest.com/trac/wiki/BuildXulRunner
I should have a /builds/xulrunner directory, i only have a /build directory no builds and not one with a xulrunner folder in it, so as far as it goes I can get no further.

If someone could help me here i would appriciate it, coz i LOVE this project. I been following it for a while, i just can't run it. :(

njal Says:   

Ok i have been playing around and gotten further so before i forget i shall document the steps i did thus far.

1) Created /builds/songbird and /builds/xulrunner in the root (/) directory

2) I checked out the songbird svn into the /builds/songbird directory and svn up'd it

3) cd'd into /builds/songbird/trunk/dependencies and downloaded the x86 linux source and checked out the source then svn up'd it

So that's songbird up to speed, i think, time for XULRunner, however I had to learn as i went here and get a little help.

So

1) export MOZCONFIG=/builds/songbird/trunk/build/mozconfig/xulrunner.linux.debug.i386.mozconfig
export CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot

I had to add the .i386 bit into what the wiki suggested the first export should be, coz all the files have a arch extention in the name, if we don't specify one, not much more happens.

2) Ran these commands
cd /builds/xulrunner
cvs login
# password is anonymous
cvs co mozilla/client.mk
cd mozilla
make -f client.mk checkout

So all that works, time to patch it. :S

1) cd /builds/songbird/trunk/tools/scripts/
./apply-patches.sh /builds/songbird/trunk/patches/mozilla/songbird_0_2a_branch/2006_08_30 /builds/xulrunner/mozilla

Now mine differs again because i was told the date on the folder had changed, so i adjusted that.

Building XULRunner
1) cd /builds/xulrunner/mozilla
mkdir compiled
make -f client.mk build

now the final command will take a while to run on the machine so i shall post this for now and put me results when i get them.

njal Says:   

Ok so i have gotten further. After having to leave my laptop for about 24 hours XULRunner finished compiling. Now, i followed the instructions here (http://publicsvn.songbirdnest.com/trac/wiki/PackagingXulRunn...)

and did this
cd /builds/songbird/trunk/dependencies/linux/
rm -r mozilla/debug/*
rm -r mozilla/release/*
rm xulrunner/debug/xulrunner.tar.gz
rm xulrunner/release/xulrunner.tar.gz

Which so obviously cleans out files and such we don't need anymore.

So i get to step two

cd /builds/songbird/trunk/tools/scripts

./make-mozilla-sdk.sh /builds/xulrunner/mozilla \
/builds/xulrunner/mozilla/compiled/xulrunner-debug \
/builds/songbird/trunk/dependencies/linux/mozilla/debug

It should be noted that where you have a backslash \ the next forward slash should be right next to it without a space \/ <--- like that.

Step three is also a breeze
cd /builds/songbird/trunk/tools/scripts
./make-xulrunner-tarball.sh \
/builds/xulrunner/mozilla/compiled/xulrunner-debug/dist/bin \
/builds/songbird/trunk/dependencies/linux/xulrunner/debug \
xulrunner.tar.gz

Step 4: :)
cd /builds/songbird/trunk
make -f songbird.mk debug

And after all that, i get this

njal@serenity:/builds/songbird/trunk$ make -f songbird.mk debug
Songbird Web Player v0.2
cd /builds/songbird/trunk && autoconf && rm -rf /builds/songbird/trunk/autom4te.cache/
mkdir -p /builds/songbird/trunk/compiled /builds/songbird/trunk/compiled/dist
cd /builds/songbird/trunk/compiled && /builds/songbird/trunk/configure --enable-debug
checking build system type... powerpc-unknown-linux-gnu
checking host system type... powerpc-unknown-linux-gnu
checking target system type... powerpc-unknown-linux-gnu
configure: error: Unsupported architecture
make: *** [/builds/songbird/trunk/compiled/config.status] Error 1

So to say i am a bit lost and anoyed that it didn't work is an understatement, so if anyone could point out where i might have gone wrong, please do.

I was under the impression all the stuff i done over the last 2 days was supposed to mean it would work on my architecture.

eklem Says:   

Njal has put in a lot of effort here (and I'm hoping for some sort of success-story), and nobody answers??? Plz

mig Says:   

Sorry, I only get a chance to get into the forums about once a week. We're verrrry busy, here.

You need to change your configure to add options for your platform. Probably you can find most of them by looking at the configure settings used for XULRunner.

Unfortunately, I'm a win32 programmer and our build system is mysterious voodoo to me. :) I'll ask some of the other guys to check into this post and see if they can give some better insight.

mig Says:   

Ick. And the current state of the trunk build is horrible. Yucky. We've been throwing rocks at it to demolish parts and install the shiny new APIs for 0.3.

You might want to wait until we make the branch public after releasing 0.2.5.

It's still valuable knowledge to get it to go at all, of course. I just don't want you to be too shocked once you're done.

(yea, it's kinda that bad right now)

mig Says:   

Wow, I just noticed this was from September. I'm sorry that your post slipped through the cracks.

eklem Says:   

Hey Njal, have you tried again, building the 0.2.5 source, or have you given up?

Weaseal Says:   

I am working on a FreeBSD port. To resolve your error, you need to modify configure.ac. Find where it says:
*linux*)
SB_PLATFORM="linux"
case "$target_cpu" in
*86)
SB_ARCH="$target_cpu"
;;
x86_64)
SB_ARCH="$target_cpu"
;;
*)
AC_MSG_ERROR(Unsupported architecture)
;;
esac

After the x86_64 section, add a section that says:

powerpc)
SB_ARCH="$target_cpu"
;;

So now you will have:
*linux*)
SB_PLATFORM="linux"
case "$target_cpu" in
*86)
SB_ARCH="$target_cpu"
;;
x86_64)
SB_ARCH="$target_cpu"
;;
powerpc)
SB_ARCH="$target_cpu"
;;
*)
AC_MSG_ERROR(Unsupported architecture)
;;
esac

Good luck. For FreeBSD, I did:

*freebsd*)
SB_PLATFORM="freebsd"
case "$target_cpu" in
i386)
SB_ARCH="$target_cpu"
;;
amd64)
SB_ARCH="$target_cpu"
;;
sparc)
SB_ARCH="$target_cpu"
;;
*)
AC_MSG_ERROR(Unsupported architecture)
;;
esac
;;
*)

Weaseal Says:   

for some reason the above post double-posted. admin: please delete this one.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Keep me posted!

Sign up to be notified of new releases & important updates.


Get a Songbird Tshirt

Songbird Buttons


Get Songbird
Get Songbird
Get Songbird
Get Songbird


More buttons for your blog...