Summary: | [new package] media-libs/libvpx | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Nikoli <nikoli> |
Component: | Current packages | Assignee: | Gentoo Media-video project <media-video> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | CC: | alecm_88, daggs, floppym, ford_prefect, spatz, uzytkownik2, voyageur, zmedico |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://code.google.com/p/webm/downloads/list | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
ebuild
ebuild ebuild for webm gstreamer upstream fixed some issues ffmpeg supports vp8 libvpx.ver for libvpx.so* Upstream addressed other issues cleanup 233233 do not force psnr packets update to add shared library support |
Description
Nikoli
2010-05-21 02:23:20 UTC
Created attachment 232299 [details]
ebuild
Created attachment 232301 [details]
ebuild
(In reply to comment #2) > Created an attachment (id=232301) [details] > ebuild > Nicely done, Nikoli (In reply to comment #2) > Created an attachment (id=232301) [details] > ebuild > http://lardbucket.org/blog/archives/2010/05/19/vp8-webm-and-ffmpeg/ pointed out these should be added : sudo cp vp8/*.h /usr/include/ sudo cp vpx_codec/*.h /usr/include/ sudo cp vpx_ports/*.h /usr/include/ sudo cp libvpx.a /usr/lib/ in addition, a gcc CFLAG -fPIC is needed to be set to compile the lib with gcc 4.5, other wise ffmpeg(9999r1) could not use it. > in addition, a gcc CFLAG -fPIC is needed to be set to compile the lib with gcc
> 4.5, other wise ffmpeg(9999r1) could not use it.
>
it seems the --enable-pic is not work/enough for gcc4.5.
(In reply to comment #4) > (In reply to comment #2) > > Created an attachment (id=232301) [details] [details] > > ebuild > > > http://lardbucket.org/blog/archives/2010/05/19/vp8-webm-and-ffmpeg/ > > pointed out these should be added : > > sudo cp vp8/*.h /usr/include/ > sudo cp vpx_codec/*.h /usr/include/ > sudo cp vpx_ports/*.h /usr/include/ > sudo cp libvpx.a /usr/lib/ > > in addition, a gcc CFLAG -fPIC is needed to be set to compile the lib with gcc > 4.5, other wise ffmpeg(9999r1) could not use it. > remove --disable-install-libs from ebuild file seems will do install head and lib files, with 2 sudo cp head files left not installed: /usr/include/vpx_timer.h /usr/include/vpxtypes.h if these 2 files are required, still need sudo cp in ebuild Please note that (at least) gst-plugins-bad will look for the vpx headers in vpx/, so you should install it to /usr/include/vpx (this is cleaner than dumping them in the top-level /usr/include anyway). Created attachment 232821 [details]
ebuild for webm gstreamer
--- libvpx-0.9.0.ebuild.old 2010-05-22 11:36:36.000000000 +0800
+++ libvpx-0.9.0.ebuild 2010-05-25 12:27:32.000000000 +0800
@@ -3,7 +3,7 @@
# $Header: $
EAPI=2
-inherit eutils multilib toolchain-funcs git
+inherit eutils multilib toolchain-funcs flag-o-matic git
EGIT_REPO_URI="git://review.webmproject.org/libvpx.git"
@@ -41,7 +41,14 @@
}
src_install() {
+ append-flags "-fPIC"
emake DIST_DIR="${D}usr" install || die
+ sudo mkdir /usr/include/vpx
+ sudo cp vp8/*.h /usr/include/vpx
+ sudo cp vpx_codec/*.h /usr/include/vpx
+ sudo cp vpx_ports/*.h /usr/include/vpx
+ sudo cp libvpx.a /usr/lib/
+
dodoc AUTHORS CHANGELOG LICENSE README || die
keep in mind that now there is a proper install target, still I'd like upstream to sync properly with ffmpeg build system and avoid reinventing square wheels... Created attachment 232877 [details]
upstream fixed some issues
Current problems are: 1) econf does not work with this configure 2) only static lib is built 3) multilib support fkhp, obsolete your ebuild, it is usefull as spam. Never use sudo and cp in ebuilds, doins exist, read http://devmanual.gentoo.org/ebuild-writing/ and libvpx git log Created attachment 232879 [details]
ffmpeg supports vp8
ffmpeg builds fine against libvpx, ffplay shows webm well.
(In reply to comment #11) > Current problems are: > 1) econf does not work with this configure the configure doesn't even support --prefix, econf could be used with autoconf compatible script anyway (In reply to comment #10) > Created an attachment (id=232877) [details] > upstream fixed some issues > patches for webm gstreamer git master to genterate /usr/lib64/libvpx.so* and cp *.h to /usr/include/vpx --- libvpx-0.9.0.ebuild.old 2010-05-22 11:36:36.000000000 +0800 +++ libvpx-0.9.0.ebuild 2010-05-27 00:29:40.000000000 +0800 @@ -3,7 +3,7 @@ # $Header: $ EAPI=2 -inherit eutils multilib toolchain-funcs git +inherit eutils multilib toolchain-funcs flag-o-matic git EGIT_REPO_URI="git://review.webmproject.org/libvpx.git" @@ -41,7 +41,20 @@ } src_install() { + append-flags "-fPIC" emake DIST_DIR="${D}usr" install || die + sudo mkdir /usr/include/vpx + sudo cp vp8/*.h /usr/include/vpx + sudo cp vpx_codec/*.h /usr/include/vpx + sudo cp vpx_ports/*.h /usr/include/vpx + sudo cp libvpx.a /usr/lib/ + mkdir tmp + cd tmp + ar x ../libvpx_g.a || die + cd .. + cp ${FILESDIR}/libvpx.ver . + gcc -fPIC -shared -pthread -lm -Wl,--no-undefined -Wl,-soname,libvpx.so.0 -Wl,--version-script,libvpx.ver -z noexecstack -o libvpx.so.0.0.0 tmp/*.o || die + sudo cp libvpx.so* /usr/lib64 dodoc AUTHORS CHANGELOG LICENSE README || die Created attachment 233065 [details]
libvpx.ver for libvpx.so*
(In reply to comment #16) > Created an attachment (id=233065) [details] > libvpx.ver for libvpx.so* > What would be it's usage now? Created attachment 233233 [details]
Upstream addressed other issues
Now we are missing the actual .so =)
Created attachment 233241 [details]
cleanup 233233
there were a stray line...
Created attachment 233299 [details] do not force psnr packets As pointed in https://bugzilla.gnome.org/show_bug.cgi?id=619916 and http://code.google.com/p/webm/issues/detail?id=35 (In reply to comment #17) > (In reply to comment #16) > > Created an attachment (id=233065) [details] [details] > > libvpx.ver for libvpx.so* > > > > What would be it's usage now? following fc13 spec file to create the libvpx.so* files src_install() { emake DESTDIR="${D}" install || die + mkdir tmp + cd tmp + ar x ../libvpx_g.a || die + cd .. + cp ${FILESDIR}/libvpx.ver . + gcc -fPIC -shared -pthread -lm -Wl,--no-undefined -Wl,-soname,libvpx.so.0 -Wl,--version-script,libvpx.ver -z noexecstack -o libvpx.so.0.0.0 tmp/*.o || die + dolib.so libvpx.so* dodoc AUTHORS CHANGELOG LICENSE README || die } (In reply to comment #21) > following fc13 spec file to create the libvpx.so* files > > src_install() { > emake DESTDIR="${D}" install || die > + mkdir tmp > + cd tmp > + ar x ../libvpx_g.a || die > + cd .. > + cp ${FILESDIR}/libvpx.ver . > + gcc -fPIC -shared -pthread -lm -Wl,--no-undefined > -Wl,-soname,libvpx.so.0 -Wl,--version-script,libvpx.ver -z noexecstack -o > libvpx.so.0.0.0 tmp/*.o || die > + dolib.so libvpx.so* I'm not so fond of that, but if you _need_ libvpx this badly in portage I'll consider adding an ebuild with this. (In reply to comment #22) > (In reply to comment #21) > > following fc13 spec file to create the libvpx.so* files > > > > src_install() { > > emake DESTDIR="${D}" install || die > > + mkdir tmp > > + cd tmp > > + ar x ../libvpx_g.a || die > > + cd .. > > + cp ${FILESDIR}/libvpx.ver . > > + gcc -fPIC -shared -pthread -lm -Wl,--no-undefined > > -Wl,-soname,libvpx.so.0 -Wl,--version-script,libvpx.ver -z noexecstack -o > > libvpx.so.0.0.0 tmp/*.o || die > > + dolib.so libvpx.so* > > I'm not so fond of that, but if you _need_ libvpx this badly in portage I'll > consider adding an ebuild with this. > the latest ebuild works well, and this patch for libvpx.so* is not needed, as ffmpeg and gstreamer git master could compiled without the libvpx.so*. the latest ebuild could be put in the portage. Not yet please wait another couple of days (or use with w/out having outside LDFLAGS) Created attachment 234837 [details]
update to add shared library support
Yet another update, greetings from the LinuxTAG
the 9999 ebuild is in, hopefully an up to date release will appear, 0.9.0 SHOULD NOT HIT PORTAGE IN ANY FORM. We should probably apply ffmpeg-9999-r1.ebuild.diff in the tree, since libvpx is there to satisfy the dependency now. mplayer-9999 too now supports libvpx. *** Bug 323607 has been marked as a duplicate of this bug. *** Added a snapshot to the tree, please test and open new bugs for problems. Thanks to all people who helped. I get a sandbox violation access error when installing version 0.9.0_p20100612 here is the snip: >>> Emerging (1 of 3) media-libs/libvpx-0.9.0_p20100612 >>> Downloading 'ftp://mirror.isoc.org.il/gentoo/distfiles/libvpx-0.9.0_p20100612.tar.bz2' --2010-06-16 10:49:31-- ftp://mirror.isoc.org.il/gentoo/distfiles/libvpx-0.9.0_p20100612.tar.bz2 => `/usr/portageTree/portage/distfiles/libvpx-0.9.0_p20100612.tar.bz2' Resolving mirror.isoc.org.il... 192.115.211.70 Connecting to mirror.isoc.org.il|192.115.211.70|:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD (1) /gentoo/distfiles ... done. ==> SIZE libvpx-0.9.0_p20100612.tar.bz2 ... 1184266 ==> PASV ... done. ==> RETR libvpx-0.9.0_p20100612.tar.bz2 ... done. Length: 1184266 (1.1M) (unauthoritative) 100%[===================================================>] 1,184,266 1.06M/s in 1.1s 2010-06-16 10:49:33 (1.06 MB/s) - `/usr/portageTree/portage/distfiles/libvpx-0.9.0_p20100612.tar.bz2' saved [1184266] * libvpx-0.9.0_p20100612.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * CPV: media-libs/libvpx-0.9.0_p20100612 * REPO: gentoo * USE: amd64 elibc_glibc kernel_linux mmx multilib sse sse2 sse3 ssse3 threads userland_GNU >>> Unpacking source... >>> Unpacking libvpx-0.9.0_p20100612.tar.bz2 to /var/tmp/portage/media-libs/libvpx-0.9.0_p20100612/work >>> Source unpacked in /var/tmp/portage/media-libs/libvpx-0.9.0_p20100612/work >>> Preparing source in /var/tmp/portage/media-libs/libvpx-0.9.0_p20100612/work/libvpx-0.9.0_p20100612 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/media-libs/libvpx-0.9.0_p20100612/work/libvpx-0.9.0_p20100612 ... Configuring selected codecs enabling vp8_encoder enabling vp8_decoder Configuring for target 'x86_64-linux-gcc' enabling x86_64 enabling runtime_cpu_detect enabling mmx enabling sse enabling sse2 enabling sse3 enabling ssse3 Creating makefiles for x86_64-linux-gcc libs Creating makefiles for x86_64-linux-gcc examples Creating makefiles for x86_64-linux-gcc docs >>> Source configured. --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE "/var/log/sandbox/sandbox-6306.log" VERSION 1.0 FORMAT: F - Function called FORMAT: S - Access Status FORMAT: P - Path as passed to function FORMAT: A - Absolute Path (not canonical) FORMAT: R - Canonical Path FORMAT: C - Command Line F: open_wr S: deny P: /usr/share/snmp/mibs/.index A: /usr/share/snmp/mibs/.index R: /usr/share/snmp/mibs/.index C: php -v -------------------------------------------------------------------------------- >>> Failed to emerge media-libs/libvpx-0.9.0_p20100612, Log file: >>> '/var/tmp/portage/media-libs/libvpx-0.9.0_p20100612/temp/build.log' any hints? (In reply to comment #32) > I get a sandbox violation access error when installing version 0.9.0_p20100612 > > ... snip ... > > any hints? Please file new bugs for problems you encounter instead of commenting on this bug. (In reply to comment #33) > (In reply to comment #32) > > I get a sandbox violation access error when installing version 0.9.0_p20100612 > > > > ... snip ... > > > > any hints? > > Please file new bugs for problems you encounter instead of commenting on this > bug. > right (In reply to comment #34) > (In reply to comment #33) > > (In reply to comment #32) I have a similar problem and I am not able to solve --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE "/var/log/sandbox/sandbox-3150.log" VERSION 1.0 FORMAT: F - Function called FORMAT: S - Access Status FORMAT: P - Path as passed to function FORMAT: A - Absolute Path (not canonical) FORMAT: R - Canonical Path FORMAT: C - Command Line F: unlink S: deny P: /session_mm_cli250.sem A: /session_mm_cli250.sem R: /session_mm_cli250.sem C: php -v F: open_wr S: deny P: /session_mm_cli250.sem A: /session_mm_cli250.sem R: /session_mm_cli250.sem C: php -v F: unlink S: deny P: /session_mm_cli250.sem A: /session_mm_cli250.sem R: /session_mm_cli250.sem C: php -v -------------------------------------------------------------------------------- >>> Failed to emerge media-libs/libvpx-0.9.0_p20100612, Log file: >>> '/var/tmp/portage/media-libs/libvpx-0.9.0_p20100612/temp/build.log' (In reply to comment #35) > (In reply to comment #34) > > (In reply to comment #33) > > > (In reply to comment #32) > > I have a similar problem and I am not able to solve > > --------------------------- ACCESS VIOLATION SUMMARY > --------------------------- > LOG FILE "/var/log/sandbox/sandbox-3150.log" > > VERSION 1.0 > FORMAT: F - Function called > FORMAT: S - Access Status > FORMAT: P - Path as passed to function > FORMAT: A - Absolute Path (not canonical) > FORMAT: R - Canonical Path > FORMAT: C - Command Line > > F: unlink > S: deny > P: /session_mm_cli250.sem > A: /session_mm_cli250.sem > R: /session_mm_cli250.sem > C: php -v > > F: open_wr > S: deny > P: /session_mm_cli250.sem > A: /session_mm_cli250.sem > R: /session_mm_cli250.sem > C: php -v > > F: unlink > S: deny > P: /session_mm_cli250.sem > A: /session_mm_cli250.sem > R: /session_mm_cli250.sem > C: php -v > -------------------------------------------------------------------------------- > > >>> Failed to emerge media-libs/libvpx-0.9.0_p20100612, Log file: > > >>> '/var/tmp/portage/media-libs/libvpx-0.9.0_p20100612/temp/build.log' > check which package is problematic, unmerge it, emerge libvpx and emerge that package again. |