since we are tracking very bleeding edge stuff, i recommend pulling everything from http://svn.xiph.org.
rather than describing all you need in words, i cooked a little bash script that is more-or-less self-explaining (see below)
users who just want to have the latest xiph stuff to build their own client software only need the XIPH_TRUNK_MODULES.
requirements: recent autotools, pkgconfig, a working gcc environment; theora needs x11 and slang devel packages as well
for servers, please enable the appropriate additional packages in the script.
requirements: libxml2, libxslt, libcurl
note: most distros differentiate between user and devel packages. you will need both in order to compile software yourself.
make sure you have /usr/local/lib early in /etc/ld.so.conf, so that your custom libs are found by the linker before any pre-installed ones. run ldconfig afterwards. (this works for me, but i'm no linker guru. can anyone confirm this makes sense?)
if you notice dependencies i forgot, or have any other remarks, please add them here, and say which distro you're using...
eric dantan rzewnicki writes:
I just compiled everything using joern's script on Debian Sarge. I'm building 2 boxes specifically for this so this list of dependencies should be pretty complete. These boxes have not yet been used for anything else, so I'm starting from clean sarge installs.
packages needed for getting and compiling xiph.org code:
libcurl3-dev libxml2 libxslt1-dev subversion autoconf automake1.9 autotools-dev libtool
apt-get install'ing the above will install all of these (above packages included):
autoconf automake1.9 autotools-dev db4.2-util libapr0 libcurl3 libcurl3-dev libexpat1 libgcrypt11-dev libglib2.0-0 libgpg-error-dev libidn11-dev libneon24 libssl-dev libsvn0 libtool libxml2 libxml2-dev libxslt1-dev libxslt1.1 pkg-config subversion zlib1g-dev
A few other things I ran into ....
edited /root/.bashrc
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
I had to:
export LD_LIBRARY_PATH=/usr/local/lib/
before running xiph-build.sh
I'm not sure why creating /etc/ld.so.conf with the following entry:
/usr/local/lib/
and then running ldconfig did not take care of this as it should have, I think(?).
(Jörn)
i built and tested the script on suse 9.2, so for this distro the docs should be fairly accurate.
!!! copy the file from edit mode. some closing tags are missing in the rendered wiki display.
kleineronkel:/local/build/test # cat xiph-build #!/bin/bash # xiph libraries installation script, blame <nettings@folkwang-hochschule.de> # version 0.5.4 (works for me) # # you can run this script multiple times without generating unnecessary network traffic. # it will only re-fetch files that have changed. # you might want to uncomment the "make clean" lines below to make sure everything gets # recompiled as it should. # # you can omit the CFLAGS setting if you don't know what it's for #TWEAK_CFLAGS="-O3 -fPIC -march=k8" # how many parallel make processes? # use <number of cpus plus one> or even <number of cpus times 2> # unless you're tight with memory MAKE_PROCS=2 # if you don't want run this script as root, use the second setting: # (you will have to type in a lot of passwords...) MAKEINSTALL="make install" #MAKEINSTALL='su -c "make install"' mkdir svn.xiph.org mkdir svn.xiph.org/trunk mkdir svn.xiph.org/icecast # these modules are provide basic libraries and command-line tools to decode and encode # ogg files containing vorbis, speex and theora data. ao is a generic i/o library providing # sound card support via ALSA, OSS and a number of other backends. # do not change the order, the modules depend on one another. XIPH_TRUNK_MODULES="ao ogg ogg2 vorbis speex theora ogg-tools vorbis-tools" # theora-tools are useful, but theora123 depends on SDL. XIPH_TRUNK_MODULES="$XIPH_TRUNK_MODULES theora-tools" # if you want to encode your own theora movies, grab ffmpeg2theora as well. it depends on # ffmpeg which is really tricky to compile... # ezstream is a simple stream source for icecast that supports theora. see # http://www.oddsock.org/guides/video.php #XIPH_TRUNK_MODULES="$XIPH_TRUNK_MODULES ffmpeg2theora ezstream" # if you want to build the official icecast release, uncomment this: #XIPH_ICECAST_MODULES="icecast_2_2_0" # if you want to build karl heyes' icecast branch (recommended for use as a lac2005 stream # relay), leave this uncommented. KARLH_MODULES="icecast-2.2-kh2.tar.gz" # if you want to build the ices stream source with jack support, uncomment this # (not needed for stream relays) #KARLH_MODULES="$KARLH_MODULES ices-2.0-kh60.tar.bz2" # this is also mandatory for ices: #XIPH_ICECAST_MODULES="$XIPH_ICECAST_MODULES libshout-2_1" SVN_ACTION=checkout #SV_ACTION=update START_DIR=`pwd` ####### download ####### cd ${START_DIR}/svn.xiph.org/trunk for i in $XIPH_TRUNK_MODULES ; do svn $SVN_ACTION http://svn.xiph.org/trunk/$i done cd ${START_DIR}/svn.xiph.org/icecast for i in $XIPH_ICECAST_MODULES ; do svn $SVN_ACTION http://svn.xiph.org/icecast/tags/$i done cd $START_DIR for i in $KARLH_MODULES ; do wget -N http://mediacast1.com/~karl/$i echo $i | grep '.gz' && tar xvzf $i && continue echo $i | grep '.bz2' && tar xvjf $i && continue echo "Don't know how to handle $i. Skipping." done # ####### build ####### cd ${START_DIR}/svn.xiph.org/trunk for i in $XIPH_TRUNK_MODULES ; do cd $i if [ "$i" == "ogg-tools" ] ; then for k in ogg* ; do cd $k # make clean CFLAGS="$TWEAK_CFLAGS" ./autogen.sh && make -j$MAKE_PROCS && $MAKEINSTALL cd .. done else CFLAGS="$TWEAK_CFLAGS" ./autogen.sh && make -j$MAKE_PROCS && $MAKEINSTALL fi cd .. done cd ${START_DIR}/svn.xiph.org/icecast for i in $XIPH_ICECAST_MODULES ; do cd $i; # make clean CFLAGS="$TWEAK_CFLAGS" ./autogen.sh && make -j$MAKE_PROCS && $MAKEINSTALL cd .. done cd ${START_DIR} for i in $KARLH_MODULES ; do i=`echo $i | sed 's/\.tar\..*//'` cd $i # make clean CFLAGS="$TWEAK_CFLAGS" ./configure && make -j$MAKE_PROCS && $MAKEINSTALL cd .. done
if you make changes in the script, please make them bold.
currently vorbis-tools will not find speex.h and thus be built w/o speex support. i sent a patch upstream on april 07:
\--- vorbis-tools/configure.in~ 2005-04-07 20:28:23.460547245 +0200 +++ vorbis-tools/configure.in 2005-04-07 20:28:23.460547245 +0200 @@ -161,7 +161,7 @@ AC_MSG_WARN(libspeex missing) have_libspeex=no, [$SPEEX_LIBS] ) -AC_CHECK_HEADER(speex.h,, +AC_CHECK_HEADER(speex/speex.h,, AC_MSG_WARN(libspeex headers missing) have_libspeex=no,[ ])
don't know when/if it will be applied.
BuildingFromXiphSvn
FindPage - Search.
Recent Changes here.
Older versions:
34 | 35 | 36 | 37 | 38 | all
Last modified: Mon 11 Apr 2005 22:18 CEST