[vlc-devel] Re: My experience building VLC 0.7.2 from source RPMs on FC2

Mark Moriarty mfmbusiness at earthlink.net
Thu Jul 1 01:16:42 CEST 2004

The thing I was wondering is if the Web page containing everything could be
snapshot, posted at wiki.videolan.org or put somewhere else (analogous to
the Cygwin Compile Environment for Windows that was parked in contrib).

Nice write-up. 

-----Original Message-----
From: vlc-devel-bounce at videolan.org [mailto:vlc-devel-bounce at videolan.org]
On Behalf Of Derk-Jan Hartman
Sent: Wednesday, June 30, 2004 5:01 PM
To: vlc-devel at videolan.org
Subject: [vlc-devel] Re: My experience building VLC 0.7.2 from source RPMs
on FC2

On 30 jun 2004, at 18:56, Gabriel L. Somlo wrote:
> Hi,
> Mainly because I wanted the --enable-pvr flag turned on, but also just 
> to see if I could do it, I decided to build VLC 0.7.2 
> <http://download.videolan.org/pub/vlc/0.7.2/rpm/fedora/fc2/vlc/> from 
> source RPMs, including all other packages it depends on.
> Now, since the canonical places to get extra rpms for Fedora Core 2 
> <http://fedora.redhat.com> are Fedora.us 
> <http://download.fedora.us/fedora/fedora/2/i386/> and Livna.org 
> <http://rpm.livna.org/fedora/2/i386/> in that order, I decided to try 
> and use those RPMs instead of the ones provided with VLC, whenever 
> available.

It personally encourage this. Though some libs might not have ALL the
features enabled that some of our rpm's have (i suspect).

> Here's the list of what I needed:
>     * Fedora.US (stable)
>       <http://download.fedora.us/fedora/fedora/2/i386/SRPMS.stable/>:
>       aalib-1.4.0-0.fdr.0.8.rc5.2.src.rpm
>       libmodplug-0.7-0.fdr.1.2.src.rpm
>       graphviz-1.10-0.fdr.3.2.src.rpm
>       libsndfile-1.0.4-0.fdr.1.2.src.rpm
>       id3lib-3.8.3-0.fdr.9.2.src.rpm
>       imlib2-1.0.6-0.fdr.3.2.src.rpm
>       libtar-1.2.11-0.fdr.3.2.src.rpm
>       libebml-0.6.5-0.fdr.1.2.src.rpm
>       lzo-1.08-0.fdr.2.2.src.rpm
>       openslp-1.0.11-0.fdr.6.1.90.src.rpm
>       libid3tag-0.15.1-0.fdr.1.b.2.src.rpm
>       wxGTK-2.4.2-0.fdr.1.2.src.rpm
>       libmatroska-0.6.3-0.fdr.3.2.src.rpm
>       xosd-2.2.7-0.fdr.1.2.src.rpm

some of these have to be secondary dependencies of packages in use by vlc i
guess. wtf is graphviz?

>     * Livna.ORG (stable)
>       <http://rpm.livna.org/fedora/2/i386/SRPMS.stable/>:
>       a52dec-0.7.4-0.lvn.6.2.src.rpm
>       libdvdnav-0.1.9-0.lvn.2.2.src.rpm
>       djbfft-0.76-0.lvn.1.2.src.rpm
>       libdvdplay-1.0.1-0.lvn.3.2.src.rpm
>       faad2-2.0-0.lvn.0.2.rc1.2.src.rpm
>       libdvdread-0.9.4-0.lvn.1.2.src.rpm
>       ffmpeg-0.4.8-0.lvn.5.2.src.rpm
>       libmad-0.15.1-0.lvn.1.b.2.src.rpm
>       libdvbpsi-0.1.3-0.lvn.4.2.src.rpm
>       mpeg2dec-0.4.0-0.lvn.2.2.src.rpm
>       libdvdcss-1.2.8-0.lvn.5.2.src.rpm

all vlc required stuff yes.

>     * Livna.ORG (testing)
>       <http://rpm.livna.org/fedora/2/i386/SRPMS.testing/>:
>       lame-3.96-0.lvn.1.2.src.rpm
>       xvidcore-1.0.1-0.lvn.1.2.src.rpm

lame is required by ffmpeg (and vlc) for mp3 encoding our xvid module isn't
being updated anymore, and we use ffmpeg for that now. I guess it could be
done with....

>     * Then, here's the list of packages that I couldn't find anywhere
>       else and had to take from VLC's 0.7.2 download site
>       <http://download.videolan.org/pub/vlc/0.7.2/rpm/fedora/fc2/vlc/>:
>       faac-1.24-1.1.fc2.fr.src.rpm
>       flac-1.1.0-4.fr.src.rpm
>       libcddb-0.9.4-1.src.rpm
>       libdts-0.0.2-1.src.rpm
>       lirc-0.6.6-2.1.fc2.fr.src.rpm
>       speex-1.1.5-1.src.rpm

there is no lirc package for fedora? how lame.
I'm actually missing things like faad, ogg, vorbis, caca, liveMedia
(live.com), mad, theora, freetype, sdl, fribidi, alsa, ncurses, goom, slp,

Some of them may be installed on fc by default i guess.

> The packages listed so far were build without any kind of trouble.
> Now, here's the list of things where I had some (minor) trouble:
> live
> ----
> The VLC 0.7.2 download site
> <http://download.videolan.org/pub/vlc/0.7.2/rpm/fedora/fc2/vlc/> does 
> not provide sources for libpostproc. This is a byproduct of the 
> mplayer source RPM, which requires the live package. The only place I 
> could find this was Axel Thimm's atrpms.net <http://www.atrpms.net> 
> site. I grabbed live-2004.04.09-6.rhfc2.at.src.rpm
> <http://download.atrpms.net/production/sources/fedora-2-i386/atrpms/
> live-2004.04.09-6.rhfc2.at.src.rpm>
> from there but couldn't build it because Axel uses some proprietary 
> rpm build macros. So I created the modified 
> live-2004.04.09-6gls.src.rpm package with the atrpm macros removed so 
> I could build it on my own box.

first of all, though mplayer provides the postproc header, it is actually
part of ffmpeg now. The ffmpeg package needs to be adapted (or
split) to provide this lib correctly.

Second, VLC can use liveMedia as well, however liveMedia is only release in
a 'daily' snapshot manner. Also VLC needs a link to the source dir of this
package i think, I don't think it will work if it is installed.

> mplayer (for libpostproc)
> -------------------------
> When I tried to build mplayer-1.0-0.lvn.0.10.pre4.2.src.rpm
> <http://rpm.livna.org/fedora/2/i386/SRPMS.unstable/mplayer-1.0
> -0.lvn.0.10.pre4.2.src.rpm>
> from Livna.org's unstable, there were two problems. First, the build 
> barfed on my hyperthreaded P4 which thinks it's an SMP machine. I had 
> to remove the -j2 argument to make to get around this. More troubling, 
> the resulting libpostproc package had an undefined reference to 
> fast_memcpy. To fix this, I had to add --disable-fastmemcpy to the 
> list of configure flags, to make it use glibc's memcpy routine. The 
> modified source RPM is here: mplayer-1.0-0.lvn.0.10.pre4.2gls.src.rpm.

The libpostproc problem (still being provided by mplayer, though it's part
of ffmpeg now, yet not yet provided by ffmpeg installs) is something that
really should be fixed. It took a long time before it was fixed in Gentoo as
well, but now finally is.

> vcdimager and libcdio
> ---------------------
> There were no source packages for vcdimager-0.7.20 and libcdio. For 
> the former, I grabbed vcdimager-0.7.20-0.pm.1.src.rpm 
> <http://packman.iu-bremen.de/suse/8.1/SRPMS/vcdimager-0.7.20
> -0.pm.1.src.rpm>
> from packman.iu-bremen.de. For the latter, I grabbed an old source RPM 
> form VLC 0.7.1 and used its spec file with the libcdio-0.69.tar.gz 
> <http://ftp.gnu.org/gnu/libcdio/libcdio-0.69.tar.gz> source tarball.
> These two packages have a circular dependency going on, so I had to 
> install the binaries from VLC first, in order to build them both from 
> source. Then, I removed both packages and reinstalled the new stuff I 
> had built myself. This was some sort of primitive bootstrap operation, 
> but it was a fast and easy way to deal with the circular dependency :) 
> Before I could build these two, I had to add a small fix to both of 
> them that resolved a conflict with the /usr/share/info/dir file. The 
> cdinfo package also had to be told to install binaries as root -- I 
> build my packages as a regular user, and this user ended up owning the 
> binaries after the RPM got installed :) The fixed packages are 
> available here:
> libcdio-0.69-2gls.src.rpm, and vcdimager-0.7.20-0.pm.1gls.src.rpm.

Ah. well fortunately you only need this for vcd menu support which isn't
used by a lot yet. Good though that you could work around it.

> vlc itself
> ----------
> Finally, the vlc package itself. The specfile as shipped causes the 
> mozilla plugin to be installed in /usr/lib/mozilla-1.6/plugins. I'd 
> rather have it go into /usr/lib/mozilla/plugins, where it would 
> survive an upgrade of Mozilla to a new version.

Unfortunately in the past the Mozilla headers have proven to be SO instable
that any oldder plugin is mostly useless after an upgrade, so until this all
stabilizes, it's not that big a thing.

> Also, the build kept failing due to linking errors against libpostproc.
> I had to add a patch that explicitly added --lpostproc to the linker 
> command line.
> The modified source RPM for VLC 0.7.2 is here: vlc-0.7.2-2gls.src.rpm.

This is strange, since VLC depends on this functionality quite badly, I'm
unsure why this problem exists on FC and not elsewhere. Maybe when i see the
spec later i will see.

> In conclusion, after using stock fedora.us and livna.org packages 
> first, and videolan.org packages as a last resort, I got away with 
> most of it, except that I had to tweak the following packages:
>     * live-2004.04.09-6gls.src.rpm
>     * mplayer-1.0-0.lvn.0.10.pre4.2gls.src.rpm
>     * libcdio-0.69-2gls.src.rpm
>     * vcdimager-0.7.20-0.pm.1gls.src.rpm
>     * vlc-0.7.2-2gls.src.rpm
> This whole story (in HTML with downloadable links :) can be viewed at 
> http://www.cs.colostate.edu/~somlo/vlc/

Nice work. I hope the maintainer will use part of your experiments.

Videolan - VLC media player
Derk-Jan Hartman (hartman at videolan dot org) http://www.videolan.org/vlc

This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/ To
unsubscribe, please read http://developers.videolan.org/lists.html
If you are in trouble, please contact <postmaster at videolan.org>

This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html
If you are in trouble, please contact <postmaster at videolan.org>

More information about the vlc-devel mailing list