View previous topic :: View next topic |
Author |
Message |
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Sun Nov 11, 2012 1:35 am Post subject: |
|
|
Thanks for the assist!
I got both patch files created, I got the package to start compiling, then I ran into this issue:
Code: | OMXSubtitleTagSami.cpp:28:38: fatal error: boost/algorithm/string.hpp: No such file or directory
compilation terminated.
distcc[6951] ERROR: compile OMXSubtitleTagSami.cpp on localhost failed |
Any advice here? _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54382 Location: 56N 3W
|
Posted: Sun Nov 11, 2012 11:58 am Post subject: |
|
|
Bigun,
The trials and tribulations of software development :)
Code: | boost/algorithm/string.hpp: No such file or directory |
Boost is a c++ library, which you should have. However it keeps changing as things get added and deleted. string.hpp is a header file that omxplayer is trying to use to find defintions of functions and variables that boot will provide to omxplayer during linking. Either string.hpp no longer exists, or its been moved or the makefile has told omxplayer to look in the wrong place.
Its also possible that the ebuild is missing a dependecy on boost, so boost is not actually installed.
The ebuild says Code: | # Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
inherit eutils flag-o-matic git-2 toolchain-funcs
DESCRIPTION="command line media player for the Raspberry Pi"
HOMEPAGE="https://github.com/huceke/omxplayer"
EGIT_REPO_URI="https://github.com/huceke/omxplayer.git"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS=""
IUSE=""
DEPEND="dev-libs/libpcre
media-libs/raspberrypi-videocore-bin
media-video/ffmpeg"
RDEPEND="${RDEPEND}
sys-apps/fbset"
src_prepare() {
epatch "${FILESDIR}"/${P}-Makefile.patch
epatch "${FILESDIR}"/${P}-wrapper.patch
tc-export CXX
filter-ldflags -Wl,--as-needed
}
src_install() {
dobin ${PN}{,.bin}
dodoc README
} | so it does not depend on boost ... thats a bug in the ebuild. Try adding into the DEPEND= statement, so that boot will be built if you don't have it.
Its easy to check if you have it or not, what does emerge -p boost say?
If boost is not yet installed, please file a bug. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Sun Nov 11, 2012 5:01 pm Post subject: |
|
|
You were right about boost, it is a missing dependency, the compile went a lot further.
However, I'm trying to get everything gathered before I post a bug report, I found something else:
Code: | In file included from SubtitleRenderer.h:31:0,
from SubtitleRenderer.cpp:27:
/usr/include/ft2build.h:56:38: fatal error: freetype/config/ftheader.h: No such file or directory
compilation terminated.
distcc[23596] ERROR: compile SubtitleRenderer.cpp on 192.168.10.203/4,lzo,cpp failed
distcc[23596] (dcc_build_somewhere) Warning: remote compilation of 'SubtitleRenderer.cpp' failed, retrying locally
distcc[23596] Warning: failed to distribute SubtitleRenderer.cpp to 192.168.10.203/4,lzo,cpp, running locally instead
In file included from SubtitleRenderer.h:31:0,
from SubtitleRenderer.cpp:27:
/usr/include/ft2build.h:56:38: fatal error: freetype/config/ftheader.h: No such file or directory
compilation terminated.
distcc[23596] ERROR: compile SubtitleRenderer.cpp on localhost failed
make: *** [SubtitleRenderer.o] Error 1
make: *** Waiting for unfinished jobs....
OMXAudio.cpp: In member function 'virtual bool COMXAudio::SetCurrentVolume(long int)':
OMXAudio.cpp:778:5: error: 'OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENTS' was not declared in this scope
OMXAudio.cpp:778:45: error: expected ';' before 'mix'
OMXAudio.cpp:779:5: error: 'mix' was not declared in this scope
OMXAudio.cpp:783:75: error: 'static_assert' was not declared in this scope
OMXAudio.cpp:789:29: error: 'OMX_IndexConfigBrcmAudioDownmixCoefficients' was not declared in this scope
OMXAudio.cpp: In member function 'virtual void COMXAudio::WaitCompletion()':
OMXAudio.cpp:1185:19: warning: unused variable 'starttime'
OMXAudio.cpp:1185:30: warning: unused variable 'endtime'
distcc[23568] ERROR: compile OMXAudio.cpp on localhost failed
make: *** [OMXAudio.o] Error 1
In file included from /usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.5.4/include/g++-v4/atomic:38:0,
from OMXPlayerSubtitles.h:28,
from OMXPlayerSubtitles.cpp:19:
/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.5.4/include/g++-v4/bits/c++0x_warning.h:31:2: error: #error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options.
In file included from SubtitleRenderer.h:31:0,
from OMXPlayerSubtitles.cpp:21:
/usr/include/ft2build.h:56:38: fatal error: freetype/config/ftheader.h: No such file or directory
compilation terminated.
distcc[23592] ERROR: compile OMXPlayerSubtitles.cpp on 192.168.10.203/4,lzo,cpp failed
distcc[23592] (dcc_build_somewhere) Warning: remote compilation of 'OMXPlayerSubtitles.cpp' failed, retrying locally
distcc[23592] Warning: failed to distribute OMXPlayerSubtitles.cpp to 192.168.10.203/4,lzo,cpp, running locally instead
In file included from /usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.5.4/include/g++-v4/atomic:38:0,
from OMXPlayerSubtitles.h:28,
from OMXPlayerSubtitles.cpp:19:
/usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.5.4/include/g++-v4/bits/c++0x_warning.h:31:2: error: #error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options.
In file included from SubtitleRenderer.h:31:0,
from OMXPlayerSubtitles.cpp:21:
/usr/include/ft2build.h:56:38: fatal error: freetype/config/ftheader.h: No such file or directory
compilation terminated.
distcc[23592] ERROR: compile OMXPlayerSubtitles.cpp on localhost failed
make: *** [OMXPlayerSubtitles.o] Error 1
|
Looks like the freetype library should be missing, however:
Code: | gmedia bigun # emerge -vp freetype
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] media-libs/freetype-2.4.9-r1:2 USE="bzip2 -X -auto-hinter -bindist -debug -doc -fontforge -static-libs -utils" 1,470 kB
|
Is it a flag or version issue?
Also, wouldn't it be wiser to post in the existing bug rather than a new one? _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54382 Location: 56N 3W
|
Posted: Sun Nov 11, 2012 5:54 pm Post subject: |
|
|
Bigun,
A good rule of thumb is one problem one bug. That way the maintainer can close the bug once the problem it relates to is fixed.
When you put several issues on one bug, they all need to be tested.
Also, if you lose interest, your work has been captured for others to build on.
The bug list is the maintainers TODO list, so a lot of small individual problems get fixed faster than a list of problems.
When you post your bug also post your patch. That save a lot of work for the maintainer.
I'm not sure that your last post includes the very first build error. Its only the very first error thats of interest as subsequent errors can be due to the inital problem.
Please pastebin the entire build log.
Code: | /usr/lib/gcc/armv6j-hardfloat-linux-gnueabi/4.5.4/include/g++-v4/bits/c++0x_warning.h:31:2: error: #error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options. |
Ahhhh.
I have a feeling that -std=c++0x was in the makefile before I told you to apply the patch manually, line by line, so it will have been removed by mistake.
Code: | CFLAGS+=-std=c++0x -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_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_LIB |
Yep, thats the unpatched CFLAGS+= line from the Makefile.
We have patched out the bit Oops, sorry about that. .
Add that to your omxplayer-9999-Makefile.patch _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Sun Nov 11, 2012 11:42 pm Post subject: |
|
|
I got the makefile modified.
Also, I got that failed build pasted:
http://pastebin.com/GAgycfck
I don't want to keep dumping the responsibility of figuring it out on you, but this whole process has been very educational for me. _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54382 Location: 56N 3W
|
Posted: Mon Nov 12, 2012 12:27 am Post subject: |
|
|
Bigun,
Code: | OMXAudio.cpp:778:5: error: 'OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENTS' was not declared in this scope |
The C++ object OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENTS is being used somewhere it does not actually exist.
This is either a bug in the source code or a missing library reference in the make file.
If the object OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENT is provided by a library, the actual object will be linked in later but the compiler needs to know about it now.
Thats what the -I options to the compiler do. -I means include.
In the unpacked sources, Code: | grep -R OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENT | will fied over occurance.
Doing Code: | # cd /var/tmp/portage/media-video/omxplayer-9999
NeddySeagoon omxplayer-9999 # grep -R OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENT ./*
./work/omxplayer-9999/OMXAudio.cpp: OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENTS mix;
./work/omxplayer-9999/OMXAudio.cpp: "Unexpected OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENTS::coeff length");
NeddySeagoon omxplayer-9999 # |
Shows that there is no definition of the object in omxplayer, so it must come from elsewhere, or as we are dealing with a live repository, its a work in progress and is broken meanwhile.
It might work in a few days when the source code is fixed.
Its very unlikely that an object called OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENT is provided outside of the omxplayer codebase. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Mon Nov 12, 2012 1:22 am Post subject: |
|
|
So finally, a legitimate bug that will need to be fixed in the code. Should I wait for all the patches to get applied before submitting this one?
*edit*
I just got burnt for opening new bug reports: https://bugs.gentoo.org/show_bug.cgi?id=421683
I'll do what he's asking me to do, but what did I do wrong here? _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Mon Nov 12, 2012 5:39 pm Post subject: |
|
|
Aha!
Looks like they modified the code with some new functionality:
Neddy, would this be what we are missing?
The author mentions updating firmware to fix the issue here. Does he mean the kernel? Or actual firmware on the Pi? _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54382 Location: 56N 3W
|
Posted: Mon Nov 12, 2012 9:13 pm Post subject: |
|
|
Bigun,
That post refers to the Pi fimware. Its in git too.
This Wiki Page includes getting the firmware and a binary kernel.
You should update both as changes often go hand in hard.
You need to reboot to run the new firmware and kernel _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Tue Nov 13, 2012 12:15 am Post subject: |
|
|
NeddySeagoon wrote: | Bigun,
That post refers to the Pi fimware. Its in git too.
This Wiki Page includes getting the firmware and a binary kernel.
You should update both as changes often go hand in hard.
You need to reboot to run the new firmware and kernel |
New kernel doesn't seem to make a difference.
He later suggests running rpi-update, which looks like that may actually update the firmware.
Going to give that a try and report back. _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Tue Nov 13, 2012 12:30 am Post subject: |
|
|
Yup, using the rpi-update got me a little further....
Now, another issue.
_________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Tue Nov 13, 2012 11:03 am Post subject: |
|
|
I'm trying my best to understand this. From what I've been reading, it sounds like the following should have been in the config for the build:
Code: | -I/usr/include/freetype2 |
Is this right? _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim
Last edited by Bigun on Tue Nov 13, 2012 12:02 pm; edited 1 time in total |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Tue Nov 13, 2012 12:00 pm Post subject: |
|
|
Well, I threw that include into the makefile patch, and I got a much different error.
http://pastebin.com/P0BbyYgV _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim
Last edited by Bigun on Tue Nov 13, 2012 1:27 pm; edited 1 time in total |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Tue Nov 13, 2012 1:27 pm Post subject: |
|
|
Ahhh... looks like it requires GCC 4.6 or higher to compile.
https://github.com/huceke/omxplayer/issues/71
What else will screw up?
Installing gcc-4.6.3 now, if this works I'll adjust the e-build to require version 4.6 or higher. _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54382 Location: 56N 3W
|
Posted: Tue Nov 13, 2012 9:27 pm Post subject: |
|
|
Bigun,
I've using all Code: | ACCEPT_KEYWORDS="~arm" | on the Pi and everywhere else for over 10 years.
It might complain about glibc.
Since you have cross compiling working, you could update to all ~arm.
WARNING: You must update your cross compiler to 4.6.3 before you try to cross compile.
Mixing gcc versions gets you some weired, wonderful and hard to find breakages.
The ~arm cross compiler is 4.7.2 - mask that and go for 4.6.3 every where. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Wed Nov 14, 2012 7:48 am Post subject: |
|
|
Still waiting for this to finish. While I'm waiting, a few questions.
How do I version check gcc in this ebuild?
Should I add freetype as a dependency?
Should I put some kind of firmware check in the ebuild, or at least a message about the firmware? _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54382 Location: 56N 3W
|
Posted: Wed Nov 14, 2012 7:48 pm Post subject: |
|
|
Bigun,
Build freetype separately, if that fixes the freetype error, add it to the ebuild and file a bug.
The version of a package is a part of the ebuild filename. For trivial ebuilds, its often possible to do a version bump just by making a copy of the ebuild with the version changed in the file name.
The name and version from the filename become P and V when the ebuild is being used.
I'm not sure how you would check the fimware version. You could add a warning on build failure, as a die message, to check the firmware version.
The only way I know for sure is to run an update. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Fri Nov 16, 2012 4:59 am Post subject: |
|
|
Oh for Pete's sake, it compiles now, it errors out installing:
Code: | armv6j-hardfloat-linux-gnueabi-g++ -Wl,-O1 -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 omxplayer.o -L/opt/vc/lib -lrt -lbcm_host -lopenmaxil -lvcos -lvchiq_arm -lGLESv2 -lkhrn_static -lavcodec -lavfilter -lavformat -lpcre
#arm-unknown-linux-gnueabi-strip omxplayer.bin
>>> Source compiled.
>>> Test phase [not enabled]: media-video/omxplayer-9999
>>> Install omxplayer-9999 into /var/tmp/portage/media-video/omxplayer-9999/image/ category media-video
install: cannot stat 'README': No such file or directory
!!! dodoc: README does not exist
* ERROR: media-video/omxplayer-9999 failed (install phase):
* dodoc failed
*
* If you need support, post the output of `emerge --info '=media-video/omxplayer-9999'`,
* the complete build log and the output of `emerge -pqv '=media-video/omxplayer-9999'`.
* This ebuild is from an overlay named 'x-portage': '/usr/local/portage/'
* The complete build log is located at '/var/tmp/portage/media-video/omxplayer-9999/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/media-video/omxplayer-9999/temp/environment'.
* Working directory: '/var/tmp/portage/media-video/omxplayer-9999/work/omxplayer-9999'
* S: '/var/tmp/portage/media-video/omxplayer-9999/work/omxplayer-9999'
* QA Notice: file does not exist:
*
* dodoc: README does not exist
|
There is a README.md in the work directory (all I could find though). No idea how to fix this.
*edit*
No wait.... got it, the ebuild needed README changed to README.md.... it finished... I'll wait until tomorrow to post my findings.... I'm too tired. _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Fri Nov 16, 2012 11:12 am Post subject: |
|
|
Got all attachments posted to the bug.
All that said, I kinda like this. I may start helping out when I encounter these issues. Is there an easy way to determine if a bug is or is not being worked on that needs an assist? _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54382 Location: 56N 3W
|
Posted: Fri Nov 16, 2012 7:22 pm Post subject: |
|
|
Bigun,
It gets you like that. I came here looking for some help about 10 years ago.
I stuck around and helped others until my turn came ... and I'm still here.
Find a project you are interested in helping with and join its mailing lists. omxplayer in Gentoo is a bit of an oddball.
From the age of the bugs on omxplayer, it looks like you have the Gentoo side to yourself.
Bugzillia will have emailed the Gentoo maintainer, so he/she knows what you have been doing.
For patches to the source code you need to listen to upstream. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Fri Nov 16, 2012 11:15 pm Post subject: |
|
|
HolgerB wrote: | Hm, I can not comment on subtitles but Codecs are limited what is supported by the Raspi's SOC:
Per default most h264 stuff plus MPEG4 SP (DivX / XVid). For MPEG2 you have to pay an extra license. |
Now that I've had a chance to play with the player here is my review:
For playing video, it's far and beyond better than unaccelerated playback, but subtitle rendering sucks.... hard. It's got a long way to go.
So for anime freaks like myself, we are out of luck. _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
Bigun Advocate
Joined: 21 Sep 2003 Posts: 2196
|
Posted: Thu Nov 22, 2012 12:12 am Post subject: |
|
|
We are approaching the 1 week mark that the fixed patches and e-builds have been posted. Is it up to the maintainer of the overlay to apply this patch? If so, what happens if he loses interest in the project? _________________ "It's ok, they might have guns but we have flowers." - Perpetual Victim |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54382 Location: 56N 3W
|
Posted: Thu Nov 22, 2012 7:00 pm Post subject: |
|
|
Bigun,
One week is nothing in OSS. In gentoo, we are all volunteers, many are end of high school or university students. That means girls/boys, studying and partying all come before Gentoo but not always in that order. Gentoo can count as part of studying too. If the maintainer is a Gentoo dev, go on IRC, in say #gentoo or #gentoo-chat on freenode.net and ask the bot !devaway <nick>.
It may be that the developer has a planned absence and has set the devaway.
You can set up your own overlay if you wish, or even email the maintainer and offer to help. You might get commit access to the overlay. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Timothy58 n00b
Joined: 29 Nov 2012 Posts: 3
|
Posted: Fri Nov 30, 2012 6:49 pm Post subject: |
|
|
I am trying to download mplayer, but all in vain. Can any one tell me where i can donwload it? |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54382 Location: 56N 3W
|
Posted: Fri Nov 30, 2012 9:47 pm Post subject: |
|
|
Timothy58,
should work, for a fetch only. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
|