< Back to IRCAM Forum

trying om 6.9 on ubuntu 14.04 64bits..

Hello Anders and Cellstorm.

Just succeded in installing the debian wheezy (stable) version on a PC 64 bit based.
Unfortunately i didn’t succeed in installing neither the SDIF and OM on the forge since they are apparently 32 bits and my debian refuses to install them :

karim@p2510:~/Downloads$ sudo dpkg -i SDIF-3.11.4-1_i386.deb
[sudo] password for karim:
dpkg: error processing SDIF-3.11.4-1_i386.deb (–install):
package architecture (i386) does not match system (amd64)
Errors were encountered while processing:
SDIF-3.11.4-1_i386.deb
karim@p2510:~/Downloads$ sudo dpkg -i openmusic-6.9.14-4_i386.deb
dpkg: error processing openmusic-6.9.14-4_i386.deb (–install):
package architecture (i386) does not match system (amd64)
Errors were encountered while processing:
openmusic-6.9.14-4_i386.deb
karim@p2510:~/Downloads$

So maybe i am missing something here ?
Any clues guys ? Should I install all dependencies in 32 bit ? Which ones ?

BEst

K

Hi Karim. You’ll get a hint on the dependencies by ‘dpkg -I pkg.deb’ and have a look at “Depends:” (however Debian might use other package names, search for something close).

From the warning you get i’m guessing you’ll have to enable multiarch support explicitly.

I’m afraid i can’t help much, but grab someone using Debian around where you are.

Cheers,

Anders

I checked on a vm debian just now, and things run fine after a rush of ‘dpkg’ things (this is really clumsy). Anyways, here’s a recipe:

dpkg --add-architecture i386
apt-get install libc6:i386
dpkg -i SDIF.deb
dpkg -i openmusic.deb
apt-get -f install
dpkg -i openmusic.deb (again)

dpkg complained also about some missing jackd2 package, just install the default one (64bit) for your system

OM works fine on this debian now. Good luck!

-anders

Dear Anders,

Unfortunately, no success.
I followed your steps one by one. That’s what i got :
atr the last step :

arim@p2510:~/OM$ sudo dpkg -i openmusic-6.9.14-4_i386.deb
Selecting previously unselected package openmusic.
(Reading database … 184903 files and directories currently installed.)
Unpacking openmusic (from openmusic-6.9.14-4_i386.deb) …
dpkg: dependency problems prevent configuration of openmusic:
openmusic depends on libportmidi0.
openmusic depends on mime-support.
openmusic depends on desktop-file-utils.

dpkg: error processing openmusic (–install):
dependency problems - leaving unconfigured
Processing triggers for desktop-file-utils …
Processing triggers for gnome-menus …
Processing triggers for fontconfig …
Errors were encountered while processing:
openmusic

Cannot connect to server request channel
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
jack_port_register called with a NULL client

"ERROR: CL-jack-audio-input-ports not allocated

Call to OM-LISP::OM-ERROR-HANDLER
Call to INVOKE-DEBUGGER
Call to ERROR
Call to CERROR
Call to CL-JACK::CL-JACK-INIT-AUDIO
Interpreted call to CL-JACK::CL-JACK-INIT-EVERYTHING
Call to OM-API:OM-INIT-FUNCALL
Interpreted call to INIT-OM
Call to DELIVERY::MAYBE-RYB-TOP-LEVEL
Call to MP::PROCESS-SG-FUNCTION

Then while launching OM :

ERROR: Could not register handle for external module “libportmidi.so”:
/usr/lib/libportmidi.so: wrong ELF class: ELFCLASS64

Is it 32 bit on 64 libs ?

I am running this natively not on a vm…

Thanx
K

try ‘apt-get install -f’ once in a while, it seems to be able to tidy up leftovers after dpkg -i fails.

Yes, libportmidi.so must be 32bit to make any sense with OM (32-bit). By default, OM loads whatever libportmidi.so it finds in your LD_LIBRARY_PATH, ie: /usr/lib/ or /usr/lib32 or whatever.

Sorry to be of little or no help with the dpkg/apt things, i haven’t worked with those since 2003.

Thanx Anders,

But unfortunately still dependencies problems.
I will try again and will let you know.

Best
K

using dpkg is a nogo. does not do dependency tracking at all.

Use gdebi instead, if you install packages. Gdebi tracks depencencies, and installs them with the package.

gdebi can be used on commandline (gdebi packagename.deb) and gui (e.g. gdebi-gtk)

btw,
debian wheezy by default is a nogo, too.
Problem is: it has no multiarch support, activated by default. hence it does not support i386 and amd64 packages side by side out of the box.

dpkg --add-architecture i386 fixes that.

@anders" best thing to circumvent that all would be to make a debian repository, which is absolutely a nobrainer, if you do not need to have signed packages. It obviously also removes the burden of installing two packages by hand, in the right oder.

In your vm, make a folder called debian, put the debs into a new folder e.g called om inside of debian. Make sure you have dpkg-dev installed, then, in commandline, issue this command inside of the debian folder: dpkg-scanpackages om /dev/null | gzip -9c > om/Packages.gz
And that’s it. This generates a Packages.gz file in om folder. now upload the whole debian folder to your webspace.

People who want to use om repository then just have to add the debian repository like this:

echo “deb http://yourhost.com/debian om/” | sudo tee /etc/apt/sources.list.d/om.list

and then issue a sudo apt-get update && sudo apt-get install openmusic

You could make this process even more easy if you make a debian package which adds the repository automatically (I could provide a blueprint package for that if whished). People then just have to download the deb file, and this one would also work with dpkg :wink:

Only thing which happens here is that packages are not signed ( single debs downloaded from sourceforge are also not signed btw…), thus the package manager tells you so with a warning that you install unsigned packages. If you want to get this right, I can also help, though it’s a bit more work.

Cheapest way would be for now to add the info in the readme of sourceforge why the 64bit package does not exist, and that you still can install the 32bit package on 64bit, but some systems do not have multiarch support (enabled and how to do that) and adding the info that installing packages with gdebi (in the right order) is a good idea.

Hi Anders,

Just to let you know :

Still no luck. I have upgraded to Debian testing.
The install process seems to be troubled by this :

libportmidi0:i386

When I try installing it , here is the output of apt-get :

The following packages have unmet dependencies:
libportmidi0 : Conflicts: libportmidi0:i386 but 1:184-2.2 is to be installed
libportmidi0:i386 : Conflicts: libportmidi0 but 1:184-2.2 is to be installed

Maybe should I try unstable ?
It’s too bad not to have an original 64 bit OM

Best
K

Hi Great !
Finally it worked…

I had to :

  1. add to my .bashrc this :
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/
    …As you mentionned before…

  2. install one by one the dependencies :

apt-get install libsndfile1:i386
apt-get install libportmidi0:i386
apt-get install libjack-jackd2-0:i386
apt-get install libsamplerate0:i386
apt-get install libgtk2.0-0:i386

  1. then :
    dpkg -i openmusic-6.9.14-4_i386.deb

after that :
apt-get -f install
(for the murino thing)

then at last

dpkg -i openmusic-6.9.14-4_i386.deb

ANd it works.

However it uninstalled Csound, cecilia and frescobaldi stuff (64 bits)
And no way to re-install them… So
Either OpenMusic or Csound…

Hard choice…
K

Dear Cellstorm.

I will be glad to have your debian package tested on my testing debian. As you stated above, it is wise to have dependencies lib in a folder in Om. This will allow us amd64 guys to use OM along other stuff. I have an issue as i have posted earlier with the libportmidi0:i386 .

If you are kind enough to post the your deb package i will be delighted.

THanx in advance

Karim

Hi
if you want my packages, that’s easy.

go to http://www.openartist.org/debian/trusty64 and grab them.

As I do my own repository as well, for ubuntu trusty, you could also add this, and install om directly with apt. This should mean no harm to your system, if you just install om and deactivate the repo it afterwards, it should be working.

so in terminal:

echo “deb http://openartist.org/debian trusty/” | sudo tee /etc/apt/sources.list.d/openArtist.list

then do a sudo apt-get update && sudo apt-get install openmusic

then afterwards remove it with

sudo rm /etc/apt/sources.list.d/openArtist.list

yeah, libportmidi… I had this problem myself…

I reported it here: https://bugs.launchpad.net/ubuntu/+source/portmidi/+bug/1415788

So to satisfy om’s needs and not deinstall everything which needs portmidi:amd64, I added the libportmidi.so.foo to the om package, it installs it to /usr/local/lib, so it won’t interfere with the rest of the system, in terms of package conflict where the same file is available within two packages ( which would have happeded If I left it in /usr/lib, that would be bad). So you DO NOT NEED LIBPORTMIDI any more, it’s included. As there is no reaction on my bugreport as for now, maybe it’s a good idea to report it more upstream at debian, or ask at the portmidi mailinglist if this could be intended or such. Would be nice if you could do that, I did the packaging :wink:

Many thanx,

But here is the problem :
With this line
echo “deb openartist.org/debian trusty64/” | sudo tee /etc/apt/sources.list.d/openArtist.list

I get :

E: Type ‘“deb’ is not known on line 1 in source list /etc/apt/sources.list.d/openArtist.list
E: The list of sources could not be read.

Then if i manually include this in my sources.list:
deb http://openartist.org/debian trusty/

I get this :
E: Unable to locate package openmusic

And apparently the openmusic seems to miss in your repository. Isn’t it correct ?

Your solution i think is the best.
@Anders, maybe you should look into that in order to fix the dependencies problem. Putting om dependencies in /usr/local/lib could be a very good idea.

Beside that i will send a ticket to debian devs regarding libportaudio0 multiarch issue.

THanx
K

you are absolutely right. fixed

Cellstrom
Man It’s just great !
IT WORKED Finally! and with all other stuff still on (Csound, fresco, etc…)…

I think that @Anders and @JeanBresson, you should use this package for debian and replace the one you have in your archives!

Just one thing although , (for those who want to try it and newbies), you should add to your .bashrc this line :

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/

All the best , and a million thanx to cellstorm…
K

really? /usr/local/lib is not in LD_LIBRARY_PATH in debian by default? that’s new to me.

Yes this is really strange. It could be that it’s because i am running testing. I know Ubuntu is based on debian.
Something else funny , is this, in order to launch OM i need to do it from the terminal. If not Om still links to the other libportmidi in /usr/lib. This meens indeed, /usr/local/lib is not in the LD_LIBRARY_PATH by default.
Anyhow thanx a lot. Really . I will thoroughly test Om .And might try to see if it is not a very difficult task to port it on SBCL using gtk3. this will be great for us Linux users.

Will keep you informed if i get somewhere with this.

Best
K

As I understand it and also see in ubuntu, items in /usr/local/bin get picked first, even if there is an equivalent in /usr/bin
you can see that by using cat /etc/environment.
but that’s for PATH variable, so I assumed the same is default for LD_LIBRARY_PATH.

what is the other libportmidi? there should be just one i386 one, and a 32bit program normally would not try to use a 64bit lib, it then just reports that the library is missing. The other libportmidi is the 64bit one??? You can try to find out if there is something floating between the package system, or to which package a file belongs, using dpkg -S /path/to/file.so.1
It’s strange that om starts for you when you specify LD_LIBRARY_PATH: As I stated somewhere in beginning of the thread, that did not work at all in my case, om refused to start then. I specifically put libportmidi to /usr/local/ to circumvent calling LD_LIBRARY_PATH. You could put the lib anywhere and set the LD_LIBRARY_PATH accordingly, eg. /opt/om/lib . but in trying this, om refused to start at all, as you can read above.

THanx for the reply,

Well here it is:
If i echo $PATH i get this :
/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

And this is by default. I didn’t add this to my .bashrc

So as you see here /usr/bin is in first place. I don’t know if this is the issue here,
maybe you were talking about /usr/local/lib instead ?

However cat /etc/environment gives me nothing at all.

Anyhow it works BUT, maybe something else is bizarre should check again. I have launched Om 3 times, and quit, but top showed 3 instances of Om still running, I had to kill them all.
Can you check also from your side if it is the case ?
It will be interesting to find out if the process still goes on although we quit Om.

Best and thanx again!
K

Hi

About hanging processes of Om. Well no problem. It was apparently a loop error still hanging.

THanx to you all.

K

Hi Karim.

I think that @Anders and @JeanBresson, you should use this package for debian and replace the one you have in your archives!

There has never been a package for Debian at the download-page. I did an attempt at a Ubuntu-package, and this seems to work well based on the feedback i’ve got.

I don’t intend to maintain other packages then RPMs for the latest Fedora-releases plus the agnostic tar-ball. If we’re lucky (ie. if packages ‘just work’) i’ll also be able to put out .debs for current Ubuntu.

If other users are able to maintain and provide up-to-date packages of OM for other distributions (eg. Debian, Arch++), that’s great. Send them along.

Thanks!