Banshee is an popular open source audio player. I tend to use it all the time on my ubuntu.
This post contains steps for a rookee/newbee to start with development of banshee and in some sense with any open source project. Most of the steps can be read on this official link.
But there are steps/issues that are not mentioned there and it would take some time for new person to google it out so listing/adding them here.
Environment: Ubuntu 13.10 - 64 bit
Note: Become root first,
sudo -i
1. Installing dependencies:
If you get error while running autogen.sh while it checks for dependencies like boo/gmcs not found. And you won't find the package name directly as they are not named as reported by the autogen.sh script.
Install below two packages
sudo apt-get install libboo-cil-dev
sudo apt-get install mono-gmcs
Perhaps you will receive some other error and have to google it out anyway but above two dependency where not met for me on fresh installation and after installing all the other listed dependencies on official site. After these two it was all worked fine...
2. Get source code:
This step is easy
Now problem may come when you are trying to run it as it did for me while i was trying to run it using
banshee&
from command line.
I got following error.
Something like this
or something along the lines of
Missing method System.Reflection.PropertyInfo::op_Inequality(PropertyInfo,PropertyInfo) in assembly /usr/lib/mono/2.0/mscorlib.dll, referenced in assembly /usr/lib/mono/gac/glib-sharp/2.12.0.0__35e10195dab3c99f/glib-sharp.dll
Reason for it is
Mono tried to run an application using the 2.0 profile using libraries compiled for 4.0.
So you have two options for solving this...
1. Make complete rebuild with correct compiler-- gmcs , ( i did not opt for this option so not going in depths of it...)
2. Make a workaround in a single file which will force banshee at runtime to use version 4.0
Just type
vim `which banshee`
Basically it will open the file which will be used run banshee(as we used managed language)
Search for this pattern in file
exec_args="-a $BANSHEE_EXEC_NAME
Full line will be like
exec_args="-a $BANSHEE_EXEC_NAME $MONO_OPTIONS $MONO_EXE $BANSHEE_DEBUG $BANSHEE_CLIENT"
and make it like
exec_args="-a $BANSHEE_EXEC_NAME mono --runtime=v4.0 $MONO_OPTIONS $MONO_EXE $BANSHEE_DEBUG $BANSHEE_CLIENT"
Basically adding mono --runtime=v4.0
Well this made my day and i was able to run my first opensource project compiled from source.
I had help from knocte from xchat...gimpnet(#banshee) Thanks a lot...
If you want to use monodevelop you will need to do the same change in the preference of the mode you are running it.
Steps
go to Run-->Run with --> Custom Parameters... --> Mono options
In the list search for
Runtime Version
It should be at bottom half
Change the value from empty to v4.0
This should be it.
This post contains steps for a rookee/newbee to start with development of banshee and in some sense with any open source project. Most of the steps can be read on this official link.
But there are steps/issues that are not mentioned there and it would take some time for new person to google it out so listing/adding them here.
Environment: Ubuntu 13.10 - 64 bit
Note: Become root first,
sudo -i
1. Installing dependencies:
sudo apt-get install git-core autoconf automake libtool intltool gcc make libgconf2.0-cil-dev libgconf2-dev
sudo apt-get build-dep banshee
sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
Install below two packages
sudo apt-get install libboo-cil-dev
sudo apt-get install mono-gmcs
Perhaps you will receive some other error and have to google it out anyway but above two dependency where not met for me on fresh installation and after installing all the other listed dependencies on official site. After these two it was all worked fine...
2. Get source code:
This step is easy
git clone git://git.gnome.org/banshee
cd banshee; git checkout stable-2.6; cd ..
3. Building, Installing and Running
cd banshee
./autogen.sh
If you have all the dependencies as mentioned above it should be all fine, but if it is not then which ever dependency is not met you need to find the package name which contains it and install it( ya basically google it out)
To build banshee just type
make
from command line in banshee directory
Now problem may come when you are trying to run it as it did for me while i was trying to run it using
banshee&
from command line.
I got following error.
Something like this
- Unhandled Exception: System.MissingMethodException: Method not found: 'System.Type.op_Inequality'.
- at Hyena.Gui.Dialogs.ExceptionDialog..ctor (System.Exception e) [0x00000] in <filename unknown>:0
- at Hyena.Gui.CleanRoomStartup.Startup (Hyena.Gui.StartupInvocationHandler startup) [0x00069] in /root/banshee/src/Hyena/Hyena.Gui/Hyena.Gui/CleanRoomStartup.cs:60
or something along the lines of
Missing method System.Reflection.PropertyInfo::op_Inequality(PropertyInfo,PropertyInfo) in assembly /usr/lib/mono/2.0/mscorlib.dll, referenced in assembly /usr/lib/mono/gac/glib-sharp/2.12.0.0__35e10195dab3c99f/glib-sharp.dll
Unhandled Exception: System.MissingMethodException: Method not found: 'System.Reflection.PropertyInfo.op_Inequality'.
at Gtk.ListStore..ctor (System.Type[] types) [0x00000] in <filename unknown>:0
at Sysinfo.Sysinfo..ctor (System.String[] args) [0x00000] in <filename unknown>:0
at Sysinfo.Sysinfo.Main (System.String[] args) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.MissingMethodException: Method not found: 'System.Reflection.PropertyInfo.op_Inequality'.
at Gtk.ListStore..ctor (System.Type[] types) [0x00000] in <filename unknown>:0
at Sysinfo.Sysinfo..ctor (System.String[] args) [0x00000] in <filename unknown>:0
at Sysinfo.Sysinfo.Main (System.String[] args) [0x00000] in <filename unknown>:0
Reason for it is
Mono tried to run an application using the 2.0 profile using libraries compiled for 4.0.
So you have two options for solving this...
1. Make complete rebuild with correct compiler-- gmcs , ( i did not opt for this option so not going in depths of it...)
2. Make a workaround in a single file which will force banshee at runtime to use version 4.0
Just type
vim `which banshee`
Basically it will open the file which will be used run banshee(as we used managed language)
Search for this pattern in file
exec_args="-a $BANSHEE_EXEC_NAME
Full line will be like
exec_args="-a $BANSHEE_EXEC_NAME $MONO_OPTIONS $MONO_EXE $BANSHEE_DEBUG $BANSHEE_CLIENT"
exec_args="-a $BANSHEE_EXEC_NAME mono --runtime=v4.0 $MONO_OPTIONS $MONO_EXE $BANSHEE_DEBUG $BANSHEE_CLIENT"
Basically adding mono --runtime=v4.0
Well this made my day and i was able to run my first opensource project compiled from source.
I had help from knocte from xchat...gimpnet(#banshee) Thanks a lot...
If you want to use monodevelop you will need to do the same change in the preference of the mode you are running it.
Steps
go to Run-->Run with --> Custom Parameters... --> Mono options
In the list search for
Runtime Version
It should be at bottom half
Change the value from empty to v4.0
This should be it.