OMXPlayer deb packages for Raspbian


35 posts   Page 1 of 2   1, 2
by SkG » Mon Jun 25, 2012 6:58 pm
Hi,

I just set up a build-bot of omxplayer for Raspbian.
I will try to keep the website updated until I automatize the files upload.

Builds website: http://omxplayer.sconde.net/

If you have any problem please contact me here or by the ways that the site says and I will try to solve it ASAP.

Regards.
Posts: 29
Joined: Sat May 19, 2012 9:28 am
Location: Madrid, Spain
by plugwash » Mon Jun 25, 2012 7:10 pm
How are you building these debs? in particular do you have a proper debianised source tree or are you using some hack to build the packages?
Forum Moderator
Forum Moderator
Posts: 2383
Joined: Wed Dec 28, 2011 11:45 pm
by SkG » Mon Jun 25, 2012 7:15 pm
plugwash wrote:How are you building these debs? in particular do you have a proper debianised source tree or are you using some hack to build the packages?


I'm crosscompiling it with Buildroot + Crosstool-ng so I cant make a src-deb because couldn't be compiled under the raspberrypi (or qemu). I'm using the existing source as-is.
Posts: 29
Joined: Sat May 19, 2012 9:28 am
Location: Madrid, Spain
by plugwash » Mon Jun 25, 2012 7:18 pm
What kind of problems did you have when you tried to build it natively?
Forum Moderator
Forum Moderator
Posts: 2383
Joined: Wed Dec 28, 2011 11:45 pm
by SkG » Mon Jun 25, 2012 7:38 pm
Usually "gcc: internal compiler error: Terminado (killed) (program cc1)" while compiling ffmpeg nothing interesting in logs :/
Posts: 29
Joined: Sat May 19, 2012 9:28 am
Location: Madrid, Spain
by dom » Mon Jun 25, 2012 7:42 pm
SkG wrote:Usually "gcc: internal compiler error: Terminado (killed) (program cc1)" while compiling ffmpeg nothing interesting in logs :/


Presumably that is an out of memory issue that can be fixed by using the 224M memory split, and/or enabling swap.
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 4057
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge
by SkG » Mon Jun 25, 2012 7:46 pm
dom wrote:Presumably that is an out of memory issue that can be fixed by using the 224M memory split, and/or enabling swap.

Actually I were using 224M and sometimes gcc reported my (in other way) the out of memory error while building other packages but could be.

Will try when I have more time and if I got results will make a patchset against the original git repository and update the website but meanwhile I'll continue crosscompiling with BR+CT-ng.
Posts: 29
Joined: Sat May 19, 2012 9:28 am
Location: Madrid, Spain
by tk321 » Mon Jun 25, 2012 9:17 pm
Yes, compilation of ffmpeg with gcc 4.6 requires > 224MB, and didn't finish in respectable time with sd-card swap disk enabled, so I gave up as well.
However, with a few patches it's possible to compile omxplayer without ffmpeg but using libav which is available in raspbian. Did you give up on this?
Posts: 31
Joined: Sat Jun 02, 2012 6:09 pm
Location: UK
by SkG » Mon Jun 25, 2012 9:28 pm
tk321 wrote:Yes, compilation of ffmpeg with gcc 4.6 requires > 224MB, and didn't finish in respectable time with sd-card swap disk enabled, so I gave up as well.
However, with a few patches it's possible to compile omxplayer without ffmpeg but using libav which is available in raspbian. Did you give up on this?


That was the previous method I used but new versions require libswrescale (I think that was this) and this lib is not available at Debian/Raspbian repos and was too much work for patching it every new release, anyway when I have more time I will make the deb and deb-src without cross-compile and release it natively built in qemu.
Posts: 29
Joined: Sat May 19, 2012 9:28 am
Location: Madrid, Spain
by blackenz » Mon Jul 02, 2012 3:12 am
Hi,
I installed SkG omxplayer deb on a clean raspbian image, with ffmpeg libpcre3-dev libavfilter-dev libavformat-dev libavcodec-dev libswscale-dev . But i am getting a weird error, when running omxplayer. I am getting
Code: Select all
/usr/bin/omxplayer: 3: /usr/bin/omxplayer: /usr/bin/omxplayer.bin: not found
. I checked /usr/bin for the omxplayer.bin and it is there. At first i thougth it was from permissions so i set a+x on omxplayer.bin, thought, i am still getting this error. Doing a file /usr/bin/omxplayer.bin i get
Code: Select all
omxplayer.bin: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.38, not stripped
. So this probably is something related to missing dependencies. Is anyone getting the same error? I tried searching on the forums and on google, but can't find any answer to this problem. Can someone help?

Thanks
Posts: 5
Joined: Mon Jul 02, 2012 2:48 am
by SkG » Mon Jul 02, 2012 8:48 am
blackenz wrote:Hi,
I installed SkG omxplayer deb on a clean raspbian image, with ffmpeg libpcre3-dev libavfilter-dev libavformat-dev libavcodec-dev libswscale-dev.

If you are using omxplayer_0.1-0925300b-armhf.deb you dont need ffmpeg, libavfilter-dev, libavformat-dev, libavcodec-dev and libswscale-dev. You only need libpcre3-dev.

blackenz wrote:But i am getting a weird error, when running omxplayer. I am getting
Code: Select all
/usr/bin/omxplayer: 3: /usr/bin/omxplayer: /usr/bin/omxplayer.bin: not found
. I checked /usr/bin for the omxplayer.bin and it is there. At first i thougth it was from permissions so i set a+x on omxplayer.bin, thought, i am still getting this error. Doing a file /usr/bin/omxplayer.bin i get
Code: Select all
omxplayer.bin: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.38, not stripped

Really really strange... Its like /usr/bin/omxplayer.bin don't exists... I tried my build on a clean raspbian and works... :/
Posts: 29
Joined: Sat May 19, 2012 9:28 am
Location: Madrid, Spain
by kadamski » Mon Jul 02, 2012 10:26 am
You will get the same error if omxplayer.bin has some unresolved library problems. In such situations you can check if it's the case by calling:
Code: Select all
ldd /usr/bin/omxplayer.bin

Or you can also call omxplayer.bin directly and check if you won't get something like this:
Code: Select all
k@pisces:~$ omxplayer.bin
omxplayer.bin: error while loading shared libraries: libavcodec.so.54: cannot open shared object file: No such file or directory


Any way, I think this may be the problem - omxplayer was working for me yesterday but today I did apt-get update and now there are some unresolved shared libraries. Strange thing is - it wants
Code: Select all
   libavcodec.so.54 => not found
   libavformat.so.54 => not found

While i do have only .53 versions of this libraries. Probably rebuild of the .deb will help.
Posts: 187
Joined: Fri Jun 08, 2012 10:56 pm
by SkG » Mon Jul 02, 2012 11:14 am
kadamski wrote:Any way, I think this may be the problem - omxplayer was working for me yesterday but today I did apt-get update and now there are some unresolved shared libraries. Strange thing is - it wants
Code: Select all
   libavcodec.so.54 => not found
   libavformat.so.54 => not found

While i do have only .53 versions of this libraries. Probably rebuild of the .deb will help.

Well If you have a look into /usr/bin/omxplayer you will notice this:
Code: Select all
LD_LIBRARY_PATH=/opt/vc/lib:/usr/lib/omxplayer:$LD_LIBRARY_PATH

Try this:
Code: Select all
LD_LIBRARY_PATH=/opt/vc/lib:/usr/lib/omxplayer:$LD_LIBRARY_PATH ldd /usr/bin/omxplayer.bin
Posts: 29
Joined: Sat May 19, 2012 9:28 am
Location: Madrid, Spain
by kadamski » Mon Jul 02, 2012 11:34 am
You are right, It's working, my bad. But I hope this may help find blackenz issue.
Posts: 187
Joined: Fri Jun 08, 2012 10:56 pm
by blackenz » Mon Jul 02, 2012 11:42 am
Thank you all. I'm at work now, so later, when i get back home, will try this and see if it works :)
Posts: 5
Joined: Mon Jul 02, 2012 2:48 am
by kadamski » Mon Jul 02, 2012 12:21 pm
Me too but I couldn't resist and took my Rpi with me ;)
Posts: 187
Joined: Fri Jun 08, 2012 10:56 pm
by blackenz » Mon Jul 02, 2012 7:54 pm
Ok. Finally, got back home... So, i tried changing LD_PATH and in fact it is missing some dependencies.
Code: Select all
libWFC.so => /opt/vc/lib/libWFC.so (0x40197000)
   libGLESv2.so => /opt/vc/lib/libGLESv2.so (0x400c7000)
   libEGL.so => /opt/vc/lib/libEGL.so (0x40031000)
   libbcm_host.so => /opt/vc/lib/libbcm_host.so (0x400e5000)
   libopenmaxil.so => /opt/vc/lib/libopenmaxil.so (0x40001000)
   libvchiq_arm.so => /opt/vc/lib/libvchiq_arm.so (0x401fb000)
   libvcos.so => /opt/vc/lib/libvcos.so (0x400fc000)
   librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x401aa000)
   libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x4011c000)
   libavutil.so.51 => /usr/lib/arm-linux-gnueabihf/libavutil.so.51 (0x4013b000)
   libavcodec.so.54 => not found
   libavformat.so.54 => not found
   libswscale.so.2 => /usr/lib/arm-linux-gnueabihf/libswscale.so.2 (0x40162000)
   libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0x401b9000)
   libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x40208000)
   libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x402d5000)
   libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x40346000)
   libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x4046c000)
   libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x4001b000)
   /lib/ld-linux.so.3 => /lib/ld-linux-armhf.so.3 (0x40084000)

It seems that none of the missing libraries has a package in the repository. So, is this solvable right now, or do i have to wait until the missing libraries are compiled to armhf?
Posts: 5
Joined: Mon Jul 02, 2012 2:48 am
by kadamski » Tue Jul 03, 2012 7:44 am
But did you try this the way i suggested (wrong way) or the way SkG did (proper way). Anyway, missing libraries should be in /usr/lib/omxplayer/. Can you check this? What is the content of this directory?
Those files should be installed by omxplayer deb file. Here's how you can check the list of files installed by this package:
Code: Select all
dpkg -L omxplayer


It should list, among other things, /usr/lib/omxplayer/libavcodec.so.54 and /usr/lib/omxplayer/libavformat.so.54
Posts: 187
Joined: Fri Jun 08, 2012 10:56 pm
by campsight » Tue Jul 03, 2012 9:09 am
Hi all

I installed the omxplayer, but get the same error as described earlier
Code: Select all
-bash: ./omxplayer.bin: No such file or directory

First there was an issue with the libraries, which got fix. When I now test this as indicated in the posts, I get all libraries present:
Code: Select all
LD_LIBRARY_PATH=/opt/vc/lib:/usr/lib/omxplayer:$LD_LIBRARY_PATH ldd /usr/bin/omxplayer.bin
  libWFC.so => /opt/vc/lib/libWFC.so (0x40146000)
  libGLESv2.so => /opt/vc/lib/libGLESv2.so (0x40006000)
  libEGL.so => /opt/vc/lib/libEGL.so (0x4004f000)
  libbcm_host.so => /opt/vc/lib/libbcm_host.so (0x40081000)
  libopenmaxil.so => /opt/vc/lib/libopenmaxil.so (0x40097000)
  libvchiq_arm.so => /opt/vc/lib/libvchiq_arm.so (0x400d5000)
  libvcos.so => /opt/vc/lib/libvcos.so (0x400af000)
  librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x4015d000)
  libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x400e2000)
  libavutil.so.51 => /usr/lib/omxplayer/libavutil.so.51 (0x40101000)
  libavcodec.so.54 => /usr/lib/omxplayer/libavcodec.so.54 (0x4016c000)
  libavformat.so.54 => /usr/lib/omxplayer/libavformat.so.54 (0x40c79000)
  libswscale.so.2 => /usr/lib/omxplayer/libswscale.so.2 (0x40d3d000)
  libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0x40d71000)
  libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x40db2000)
  libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x40e7f000)
  libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x40ef0000)
  libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x41016000)
  libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x4012c000)
  /lib/ld-linux.so.3 => /lib/ld-linux-armhf.so.3 (0x40028000)
  libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x4103e000)
  libbz2.so.1.0 => /lib/arm-linux-gnueabihf/libbz2.so.1.0 (0x4105c000)

But still, the issue remains.
Don't know if anyone can make sense of it, but I include the strace output:
Code: Select all
LD_LIBRARY_PATH=/opt/vc/lib:/usr/lib/omxplayer:$LD_LIBRARY_PATH strace /usr/bin/omxplayer.bin
execve("/usr/bin/omxplayer.bin", ["/usr/bin/omxplayer.bin"], [/* 15 vars */]) = -1 ENOENT (No such file or directory)
dup(2)                                  = 3
fcntl64(3, F_GETFL)                     = 0x20002 (flags O_RDWR|O_LARGEFILE)
fstat64(3, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 0), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4005b000
_llseek(3, 0, 0xbeb668c0, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
write(3, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
) = 40
close(3)                                = 0
munmap(0x4005b000, 4096)                = 0
exit_group(1)                           = ?


Johan
Posts: 3
Joined: Tue Jul 03, 2012 7:58 am
by jbaiter » Tue Jul 03, 2012 8:02 pm
Are you using darkbasic's raspbian image by any chance?
I had the same issue with my installation, and through some googling it turned out that the neccesary dynamic executable loader that omxplayer.bin was compiled against was missing on the system:

Code: Select all
root@raspberry-pi:~# strings /usr/bin/omxplayer.bin |head -n 1
/lib/ld-linux.so.3


The only loader available on the image was
Code: Select all
/lib/ld-linux-armhf.so.3
, but creating a symlink from it to
Code: Select all
/lib/ld-linux.so.3
did the trick for me.
User avatar
Posts: 13
Joined: Tue Jul 03, 2012 7:52 pm
by blackenz » Tue Jul 03, 2012 8:52 pm
It seems to me that there might be a problem with the deb package. After running dpkg -L omxplayer i get:
Code: Select all
/.
/usr
/usr/lib
/usr/lib/omxplayer
/usr/lib/omxplayer/libswresample.so.0.15.100
/usr/lib/omxplayer/libavutil.so.51.56.100
/usr/lib/omxplayer/libavdevice.so.54.0.100
/usr/lib/omxplayer/libswscale.so.2.1.100
/usr/lib/omxplayer/libpostproc.so.52.0.100
/usr/lib/omxplayer/libavcodec.so.54.23.100
/usr/lib/omxplayer/libavfilter.so.2.78.100
/usr/lib/omxplayer/libavformat.so.54.6.101
/usr/bin
/usr/bin/omxplayer
/usr/bin/omxplayer.bin
/usr/share
/usr/share/doc
/usr/share/doc/omxplayer
/usr/share/doc/omxplayer/README
/usr/share/doc/omxplayer/COPYING
/usr/lib/omxplayer/libavdevice.so
/usr/lib/omxplayer/libavdevice.so.54
/usr/lib/omxplayer/libpostproc.so.52
/usr/lib/omxplayer/libswresample.so
/usr/lib/omxplayer/libavcodec.so
/usr/lib/omxplayer/libswscale.so.2
/usr/lib/omxplayer/libavfilter.so
/usr/lib/omxplayer/libavutil.so
/usr/lib/omxplayer/libavformat.so
/usr/lib/omxplayer/libavfilter.so.2
/usr/lib/omxplayer/libavformat.so.54
/usr/lib/omxplayer/libswresample.so.0
/usr/lib/omxplayer/libavutil.so.51
/usr/lib/omxplayer/libpostproc.so
/usr/lib/omxplayer/libswscale.so
/usr/lib/omxplayer/libavcodec.so.54

But there is actually nothing in /usr/lib/omxplayer . There isn't even a folder omxplayer in /usr/lib So maybe the deb isn't unpacking the way it should be. Maybe SkG could check this.

Edit - I Forgot to mention that i tried this with the latest build, which also gives me the same problems.

Edit 2 - I also tried the solution posted by jbaiter. This time, it seems that i had some kind of evolution. Now i get
Code: Select all
root@###:/home/blackenz# omxplayer
/usr/bin/omxplayer.bin: error while loading shared libraries: libavcodec.so.54: cannot open shared object file: No such file or directory
root@###:/home/blackenz# omxplayer.bin
omxplayer.bin: error while loading shared libraries: libWFC.so: cannot open shared object file: No such file or directory

Posts: 5
Joined: Mon Jul 02, 2012 2:48 am
by jbaiter » Tue Jul 03, 2012 9:16 pm
Ah, I had that same problem (no /usr/lib/omxplayer).
I solved it by uninstalling omxplayer and then doing a fresh install of the latest build.
Also, you will have to copy the start.elf with the 192/64 split to /boot/start.elf, or else you will have no video, as the image uses a 224/32 split per default.
User avatar
Posts: 13
Joined: Tue Jul 03, 2012 7:52 pm
by blackenz » Tue Jul 03, 2012 11:29 pm
jbaiter wrote:Ah, I had that same problem (no /usr/lib/omxplayer).
I solved it by uninstalling omxplayer and then doing a fresh install of the latest build.
Also, you will have to copy the start.elf with the 192/64 split to /boot/start.elf, or else you will have no video, as the image uses a 224/32 split per default.

Actually i now tried purging omxplayer and reinstalling it, and it fixed the problem! Thanks :D
Posts: 5
Joined: Mon Jul 02, 2012 2:48 am
by campsight » Wed Jul 04, 2012 7:07 am
Thanks to jbaiter => it solved my issues indeed :-).
Posts: 3
Joined: Tue Jul 03, 2012 7:58 am
by SkG » Wed Jul 04, 2012 2:44 pm
I'm a bit confused now apart from purging and installing it again you had to do anything else in order to get omxplayer working?

I tried installing my .deb in a clean Raspbian pisces image with only doing this:
Code: Select all
apt-get install libpcre3
wget http://omxplayer.sconde.net/builds/omxplayer_0.1-aecc18b3-armhf.deb
dpkg -i omxplayer_0.1-aecc18b3-armhf.deb

And works without problem. I'm looking for more SD cards to test with but atm busy until 14th July.

If anyone have a fix for it I can add it into my deb.
Posts: 29
Joined: Sat May 19, 2012 9:28 am
Location: Madrid, Spain