DO NOT FOLLOW THESE INSTRUCTIONS. THEY ARE NOW OUTDATED.
This post co-written with Erin Quill, and follows my presentation at Ohio Linux Fest. Thanks go out to everyone who came to my session. (Update: See 16OCT06, below.)
A few weeks before releasing iTunes 7, Apple rolled out a firmware update for iPod devices. The update rendered obsolete a key library for using Banshee with your iPod. (This is normally the point at which I would open up into a small-time rant about Apple, but I understand that the Mighty Aaron Bockover has one queued up for a near-term release.) So here is where we will step in and try to make ourselves useful by explaining how to update a SLED10 system (and probably an openSUSE system, as well) to the latest version of Banshee.
Updating to the latest Banshee does more than simply fix connectivity with any iPod devices that you might have mistakenly updated. It will also get you new plugins, including the aforementioned podcast plugin. (This is where the Amarok/KDE users chuckle about my foolish fascination with Banshee/Mono/GNOME. Fairly, I suppose. Amarok has had a podcatcher for quite some time.)
16OCT06 Update: You can now get RPM’s for the latest version of Banshee. (Even better, this will soon be a YUM repository.) Therefore, do the procedure that follows only if you really, really want to build from source.
[The first couple comments came in on this post, reminded me that I should add some important information. First is that this process manually adds Banshee instead of waiting for Novell to post a fix in the update service, which means that it effectively breaks SLED10 from having officially supported packages. If you intend to use Novell support, don't do this on your production machines. The second is that the community-oriented openSUSE distribution updates faster than the enterprise SLED10 does. openSUSE 10.2 may include an even newer build of Banshee than this one. And the last note is that Aaron Bockover just recently moved Banshee into the SUSE AutoBuild process, which will make it easier to crank out the update as packages in the future.]
Finally. before I get into my version, the Mighty Aaron Bockover put his procedure on the Banshee wiki, but it looks like his instructions paint with very broad strokes. I wanted to get a little more specific. If they are more helpful, then I’ll move them into the wiki. So, here are the setup instructions, as best I could get them in a first draft.
1. Remove Your Current Banshee Packages
Two versions of Banshee will conflict, and building from source will not remove your system’s current version. Use YaST to remove the following packages:
- banshee
- banshee-engine-gst
- banshee-engine-helix
- helix-dbus-server
- banshee-plugins-default
- libipoddevice
- ipod-sharp (if installed)
A fast method for removing these in YaST is to open the Software Management tool, and then search first for “banshee” to get the banshee packages, then search for “ipod” to remove the two iPod-related packages. [Click the image to the right to embiggen.]
There should be no dependent package conflicts. Proceed with informed caution if YaST presents any to you.
2. Add Required Packages from the Install Media
In SLED10, you will need to add the following packages in order to complete the update. Most of these required packages are related to building Banshee, not actually running it. So, add these packages. [Click image at right to embiggen.]
- gcc
- gcc-c++
- pkgconfig
- gob2
- dbus-1-devel
- libgtop-devel
- hal-devel
- libxml2-devel
- gstreamer010
- gstreamer010-devel
- gstreamer010-plugins-base-devel
- mono-devel
- monodoc-core
- sqlite-devel
- libmusicbrainz-devel
- libgnome-devel
- libgnomeui-devel
- gconf2-devel
- gnome-vfs2-devel
- gnome-desktop-devel
- gtk2-devel
- nautilus-cd-burner-devel
YaST may present to you a host of other packages it needs to add because of dependencies. Take YaST’s advice and install them, too.
3. Download the Banshee 0.11.0 Sources
With all the prerequisite packages in place, you can now download, build and install the Banshee 11 sources. We recommend downloading all the sources into a single folder to make your post-update cleanup a lot easier.
Retrieve the sources from this page on the Banshee wiki. You will need all of them, possibly excepting njb-sharp, which is for NJB devices (Creative Nomad, Zen, Zen Micro, Dell DJ, and more).
Here are the direct links as of today:
- Banshee
- Banshee Official plugins
- ipod-sharp
- libipoddevice
- njb-sharp
- helix-dbus-server
- Xing MP3 Encoder
4. Extract and Build the Sources
First, let’s lay out the order in which you will build each source package. Then we’ll walk you through building the first package.
Sequence:
Install the packages in this order
- libipoddevice-0.5.0
- ipod-sharp-0.6.2
- njb-sharp-0.3.0 (again, this is optional…I have not done it)
- helix-dbus-server-0.2.3
- gstreamer-xing
- banshee-0.11.0
- banshee-official-plugins-0.11.0
Build process:
- Untar the first package: libipoddevice-0.5.0.tar.gz
This is easiest by simply browsing to the folder in nautilus or konquerer, and then right clicking the gstreamer-xing package and choosing “Extract here.”- Open a Terminal window in the newly-extracted libipoddevice-0.5.0 folder
Again, in nautilus this is easiest by right-clicking the libipoddevice-0.5.0 folder, and then choosing “Open in Terminal”
Configure for building
At the bash prompt, type ./configure –prefix=/usr and then hit enter. That’s a double-dash before “prefix,” just messed up by WordPress. Do not do this as root.
The –prefix=/usr‘ part is where a lot of people might mess up. It’s required on SUSE-based platforms. Again, it has a double-dash before the word “prefix.”
When process stops, check for errors, The most common error will be that you need to add another a package through YaST.
Most successful configure processes provide some reassuring text in the last few lines. [Click image at right to embiggen.]- Build from source with make
At the bash prompt, type make and then hit enter. Do not do this as root.
The make command builds binary files from source- Install the newly-built binaries into your system
At the bash prompt, type sudo make install and then hit enter. Do not do this as roo
The sudo command will ask for your root password so that it can perform the ‘make install’ as root.- Confirm that the system recognizes the newly-installed binaries
Use pkg-config –modversion ipoddevice to confirm that the version of the package installed on the system matches the version you tried to install. (For ipoddevice, you should get 0.5.0)
The other package names to use for this test are: ipoddevice, ipod-sharp, helix-dbus-server, banshee, and banshee-official-plugins
You can confirm gstreamer-xing with $ gst‑inspect xingenc
I don’t know how to confirm the install of banshee-official-plugins.- If you get the package installed, move on to the next in the list, and start with step 1 again.
5. Excercise Banshee Features
There are some basic tests that will help you to confirm a complete install. Discovering later that, say, ripping a CD doesn’t work because of encoding issues might be inconvenient:
- Play a song
- Rip a song
- Hook up your iPod
- Move a song to your library from iPod
- Move a single song from your library to iPod
- Enable Podcatcher
- Here is a really good feed that you can test out: http://www.novell.com/company/podcasts/openaudio_mp3.xml
Filed under: Free Software, Novell, openSUSE







Ted,
I am currently an ubuntu user considering switching over to sled10. I installed sled on my dad’s laptop and it looks and works great. I use tango icons, banshee, f-spot, slab… so it makes sense for me to switch. But shouldn’t a process like this be easier? Upgrading a music player on ubuntu (or other distros, I suppose) is just a one click task.
Also, when is SLED 10 sp1 due? Will it include Gnome 2.16.x?
Thanks for your time.
Just to let you know if you are going to install njb-sharp, I found you need libnjb-devel which isn’t on the SLED 10 DVD, so I downloaded a copy from here
http://download.opensuse.org/distribution/SL-10.1/inst-source/suse/i586/
libnjb-devel-2.2.4-18.i586.rpm.
Thanks for this Ted, it saved me posting you a question on OpenAudio
Chris
Ion (1):
Yes, it should be WAY easier than this. My instruction show how to get ahead of the curve rather than wait for the update. Also, SLED10 is intended to be very stable, so not many packages get significant version updates from the updater. openSUSE is a better platform to compare to Ubuntu, since both are community driven, and keep up with the latest greatest much better.
–T
Ted,
So how long before the SLED update will be available? (Are we talking weeks or months?)
have fun
Marcus
Marcus:
Aaron Bockover sez:
I should have an autobuild account sometime this week and will begin
pumping out packages to be released and available at the same time as
the tarballs (no more 1‑upping from Ubuntu) for all of our wonderful
distro iterations. (Probably not going to be able to do this for 0.11.1,
but with .2 for sure).
Which says it all.
–Ted
Ted,
Off topic what do u prefer more. SLED or OpenSUSE.
[Ted's Response]
[...] A reader recently asked me whether I prefer SUSE Linux Enterprise Desktop, or openSUSE? [...]
You are such a stud. Thanks I thought it was just my old box, now everything is back up and running.
Tom (8):
Well, you’re the first person to actually say “thanks!” on this! I’m glad it helped someone I know, Tom.
–T
This worked like a charm with two of my SLED10 boxes. Thanks!
Have you ever tried Listen Music Player http://listengnome.free.fr/? Its a great amarok look-alike for gnome. I have found that it isnt really talked about much but it has a podcatcher integrated, manages your song library like itunes and can sync to your ipod! Take a look at it.
Later,
John
Thanks for the description of this topic!
I have been struggling to compile and install 0.11.0 on my suse desktop 10 but consistantly run into the following error during the make process:
./Banshee.Burner/BurnerFormatList.cs(78,28): error CS0136: A local variable named `format’ cannot be declared in this scope because it would give a different meaning to `format’, which is already used in a `parent or current’ scope to denote something else
./Banshee.Burner/BurnerFormatList.cs(68,24): (Location of the symbol related to previous error)
Compilation failed: 1 error(s),
I have all dependencies installed and consistantly get this error each time i’ve tried to compile Banshee!
PLEASE HELP!!
[...] Pursuant to my previous post (”Upgrade to Banshee 0.11.0 on SLED10“), there are now SLED10 rpm’s online for Banshee 0.11.1. Bockover is working to get a YaST Online Update server going for this, too. [...]
I had errors in a 64bit distro
It looks like the helix-dbus-server is not configuring correctly for 64bit. Any help?
~~~~~~`
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /home/uid/newipodlib/helix-dbus-server-0.2.3/src/helix/player/hxclientkit/dbg/libhxclient.a when searching for -lhxclient
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld: cannot find -lhxclient
collect2: ld returned 1 exit status
make[2]: *** [helix-dbus-server.bin] Error 1
Tim (14):
This came to me from the Mighty Aaron Bockover:
Hope that helps,
–Ted