Solved omxplayer on raspberry pi

Hello everyone!

I am trying to install omxplayer on my rasberry pi V2 from ports, since I could not find the package available. I believe I am prety close to the end after near 48 hours of instalation... :-|
Unfortunately I got the following error:
Can someone please give an hint on how to solve this issue?

Thanks!

Code:
In file included from linux/RBP.h:45:0,
                 from linux/RBP.cpp:22:
./DllBCM.h:34:22: fatal error: bcm_host.h: No such file or directory
 #include <bcm_host.h>
                      ^
compilation terminated.
gmake[2]: *** [Makefile:46: linux/RBP.o] Error 1
gmake[2]: Leaving directory '/usr/ports/multimedia/omxplayer/work/omxplayer-6f073c9'
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/multimedia/omxplayer
*** Error code 1

Stop.
make: stopped in /usr/ports/multimedia/omxplayer
 
If it's required for the port it should probably be added as a build and/or run dependency.
 
Hello!

Thanks for your reply.
During thr installation, there was a conflict between Raspberry Pi userland and libEGL. To continue, the first had to be removed. That's why it was not there. Now following your advice, I reinstalled raspberrypi-userland:

Code:
Fetching raspberrypi-userland-20160306.txz: 100%   31 MiB 617.3kB/s    00:52
Checking integrity... done (1 conflicting)
Checking integrity... done (0 conflicting)
Conflicts with the existing packages have been found.
One more solver iteration is needed to resolve them.
The following 4 package(s) will be affected (of 0 checked):

Installed packages to be REMOVED:
        cairo-1.14.6_1,2
        libEGL-11.2.2

New packages to be INSTALLED:
        raspberrypi-userland: 20160306

Installed packages to be DOWNGRADED:
        frei0r: 1.5.0 -> 1.3_1

The process will require 33 MiB more space.
278 KiB to be downloaded.

Proceed with this action? [y/N]:

etc etc etc...

Then to try again omxplayer I got the following:

Code:
In file included from OMXStreamInfo.cpp:22:0:
OMXStreamInfo.h:31:34: fatal error: libavcodec/avcodec.h: No such file or directory
   #include "libavcodec/avcodec.h"
                                  ^
compilation terminated.
gmake[2]: *** [Makefile:46: OMXStreamInfo.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
In file included from DllAvCodec.h:27:0,
                 from OMXAudioCodecOMX.h:24,
                 from OMXAudioCodecOMX.cpp:22:
DllAvUtil.h:38:34: fatal error: libavutil/avutil.h: No such file or directory
     #include <libavutil/avutil.h>
                                  ^
In file included from OMXReader.h:25:0,
                 from OMXReader.cpp:28:
DllAvUtil.h:38:34: fatal error: libavutil/avutil.h: No such file or directory
     #include <libavutil/avutil.h>
                                  ^
compilation terminated.
compilation terminated.
gmake[2]: *** [Makefile:46: OMXAudioCodecOMX.o] Error 1
gmake[2]: *** [Makefile:46: OMXReader.o] Error 1
gmake[2]: Leaving directory '/usr/ports/multimedia/omxplayer/work/omxplayer-6f073c9'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/multimedia/omxplayer
*** Error code 1

Stop.
make: stopped in /usr/ports/multimedia/omxplayer

The first error is gone, but I got another now... What's happening?
 
It seems that ffmpeg was also missing... it is compiling now again!... let's wait a while... :-|
As soon as I got any news I will write ir here for reference.

Thanks!
 
After a while without errors I have got a different one:

Code:
g++49 -O -pipe  -Dfopen64=fopen -Dfseeko64=fseeko -Dftello64=ftello -Wl,-rpath=/usr/local/lib/gcc49 -fno-strict-aliasing -pipe -mfloat-abi=softfp -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -g -mstructure-size-boundary=32 -mno-sched-prolog -std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG  -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST -L/usr/local/lib -L/usr/local/lib/ffmpeg -L./ -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -o omxplayer.bin linux/XMemUtils.o utils/log.o DynamicDll.o utils/PCMRemap.o utils/RegExp.o OMXSubtitleTagSami.o OMXOverlayCodecText.o BitstreamConverter.o linux/RBP.o OMXThread.o OMXReader.o OMXStreamInfo.o OMXAudioCodecOMX.o OMXCore.o OMXVideo.o OMXAudio.o OMXClock.o File.o OMXPlayerVideo.o OMXPlayerAudio.o OMXPlayerSubtitles.o SubtitleRenderer.o Unicode.o Srt.o KeyConfig.o OMXControl.o Keyboard.o omxplayer.o -lvchiq_arm -lvcos -ldbus-1 -lrt -lthr -lavutil -lavcodec -lavformat -lswscale -lswresample -lpcre
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, linux/XMemUtils.o does not
/usr/local/bin/ld: failed to merge target specific data of file linux/XMemUtils.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, utils/log.o does not
/usr/local/bin/ld: failed to merge target specific data of file utils/log.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, DynamicDll.o does not
/usr/local/bin/ld: failed to merge target specific data of file DynamicDll.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, utils/PCMRemap.o does not
/usr/local/bin/ld: failed to merge target specific data of file utils/PCMRemap.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, utils/RegExp.o does not
/usr/local/bin/ld: failed to merge target specific data of file utils/RegExp.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, OMXSubtitleTagSami.o does not
/usr/local/bin/ld: failed to merge target specific data of file OMXSubtitleTagSami.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, OMXOverlayCodecText.o does not
/usr/local/bin/ld: failed to merge target specific data of file OMXOverlayCodecText.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, BitstreamConverter.o does not
/usr/local/bin/ld: failed to merge target specific data of file BitstreamConverter.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, linux/RBP.o does not
/usr/local/bin/ld: failed to merge target specific data of file linux/RBP.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, OMXThread.o does not
/usr/local/bin/ld: failed to merge target specific data of file OMXThread.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, OMXReader.o does not
/usr/local/bin/ld: failed to merge target specific data of file OMXReader.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, OMXStreamInfo.o does not
/usr/local/bin/ld: failed to merge target specific data of file OMXStreamInfo.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, OMXAudioCodecOMX.o does not
/usr/local/bin/ld: failed to merge target specific data of file OMXAudioCodecOMX.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, OMXCore.o does not
/usr/local/bin/ld: failed to merge target specific data of file OMXCore.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, OMXVideo.o does not
/usr/local/bin/ld: failed to merge target specific data of file OMXVideo.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, OMXAudio.o does not
/usr/local/bin/ld: failed to merge target specific data of file OMXAudio.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, OMXClock.o does not
/usr/local/bin/ld: failed to merge target specific data of file OMXClock.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, File.o does not
/usr/local/bin/ld: failed to merge target specific data of file File.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, OMXPlayerVideo.o does not
/usr/local/bin/ld: failed to merge target specific data of file OMXPlayerVideo.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, OMXPlayerAudio.o does not
/usr/local/bin/ld: failed to merge target specific data of file OMXPlayerAudio.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, OMXPlayerSubtitles.o does not
/usr/local/bin/ld: failed to merge target specific data of file OMXPlayerSubtitles.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, SubtitleRenderer.o does not
/usr/local/bin/ld: failed to merge target specific data of file SubtitleRenderer.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, Unicode.o does not
/usr/local/bin/ld: failed to merge target specific data of file Unicode.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, Srt.o does not
/usr/local/bin/ld: failed to merge target specific data of file Srt.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, KeyConfig.o does not
/usr/local/bin/ld: failed to merge target specific data of file KeyConfig.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, OMXControl.o does not
/usr/local/bin/ld: failed to merge target specific data of file OMXControl.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, Keyboard.o does not
/usr/local/bin/ld: failed to merge target specific data of file Keyboard.o
/usr/local/bin/ld: error: omxplayer.bin uses VFP register arguments, omxplayer.o does not
/usr/local/bin/ld: failed to merge target specific data of file omxplayer.o
//usr/lib/libexecinfo.so.1: undefined reference to `_Unwind_GetIP@GCC_3.0'
//usr/lib/libexecinfo.so.1: undefined reference to `_Unwind_Backtrace@GCC_3.3'
collect2: error: ld returned 1 exit status
gmake[2]: *** [Makefile:54: omxplayer.bin] Error 1
gmake[2]: Leaving directory '/usr/ports/multimedia/omxplayer/work/omxplayer-6f073c9'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/multimedia/omxplayer
*** Error code 1

Stop.
make: stopped in /usr/ports/multimedia/omxplayer
 
Try this:
Code:
fetch -o /tmp/misc_raspberrypi-userland.patch http://mikael.urankar.free.fr/FreeBSD/arm/patches/misc_raspberrypi-userland.patch
cd /usr/ports/multimedia/omxplayer
svn patch /tmp/misc_raspberrypi-userland.patch
make clean ; make
 
Code:
# svn patch /tmp/misc_raspberrypi-userland.patch
svn: E155007: '/usr/ports/multimedia/omxplayer' is not a working copy
 
Code:
# patch < /tmp/misc_raspberrypi-userland.patch
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: Makefile
|===================================================================
|--- Makefile   (revision 423335)
|+++ Makefile   (working copy)
--------------------------
Patching file Makefile using Plan A...
Hunk #1 failed at 2.
Hunk #2 failed at 17.
2 out of 2 hunks failed--saving rejects to Makefile.rej
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: distinfo
|===================================================================
|--- distinfo   (revision 423335)
|+++ distinfo   (working copy)
--------------------------
Patching file distinfo using Plan A...
Hunk #1 succeeded at 1 with fuzz 1.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: files/patch-host__applications_linux_apps_hello__pi_Makefile.include
|===================================================================
|--- files/patch-host__applications_linux_apps_hello__pi_Makefile.include       (revision 423335)
|+++ files/patch-host__applications_linux_apps_hello__pi_Makefile.include       (working copy)
--------------------------
File to patch:
 
I'm totally stupid... I gave you a patch for raspberrypi-userland instead of omxplayer.
Try this:
Code:
fetch -o /tmp/multimedia_omxplayer.patch http://mikael.urankar.free.fr/FreeBSD/arm/patches/multimedia_omxplayer.patch
cd /usr/ports/multimedia/omxplayer
svn patch /tmp/multimedia_omxplayer.patch
make clean ; make
 
Code:
//usr/lib/libexecinfo.so.1: undefined reference to `_Unwind_GetIP@GCC_3.0'
//usr/lib/libexecinfo.so.1: undefined reference to `_Unwind_Backtrace@GCC_3.3'
collect2: error: ld returned 1 exit status
gmake[2]: *** [Makefile:55: omxplayer.bin] Error 1
gmake[2]: Leaving directory '/usr/ports/multimedia/omxplayer/work/omxplayer-12b472e'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/multimedia/omxplayer
*** Error code 1

Stop.
make: stopped in /usr/ports/multimedia/omxplayer
 
After installation of devel/libexecinfo the error is still the same.
Thanks anyway for your patience and support.
If someone has a sugestion it would be great! :-|
 
It is done!!!!! :) :)
Thanks to you archeron! THANK YOU!
After your coment about instaling libexecinfo I installed it and try it again... and it failed again. Then I check /usr/local/lib and /usr/lib and the file
libexecinfo.so.1 was prensent in both directories. So, I change temporary the name of the file present in /usr/lib...
My knowledge in FreeBSD is not so good...propbably that was not the smartest thing to do, but that was the way that I found logic to avoid the error.
I will keep learning. It is impressive how you guys are available to answer to this "basic" questions.

Thanks! And have a nice 2017!
 
Back
Top