I got nero, and lame setup and now I want aoTuV
Googling I found that RareWares has Debian repository, but unfortunately this now probably serves as historic archive, no longer maintained for some reasons, so nothing there
I downloaded latest aoTuV src and build those libraries
What to do now?
I then downloaded vorbis-tools 1.4.0 but just can't see how to compile oggenc with auTuV libraries (/usr/local/lib/) instead default ones (those that come with Debian in /usr/lib/)
?
The aoTuV libraries can be used as a drop in replacement for the official ones.
The oggenc binary is dynamically linked against libvorbis, so you should be able to do something like this:
LD_LIBRARY_PATH=/path/to/aoTuv/libraries oggenc
Try ogginfo on the encoded files. It should say "aoTuv" somewhere.
Excellent!
Thanks for the tip
I wrote this script to automate creating a static oggenc build. [1] I call it "mkoggenc.sh".
You are supposed to unpack the aoTuV and vorbis-tools tarballs, and run it like this: "./mkoggenc.sh aotuv-b6.02_20110227 vorbis-tools-1.4.0" (the directories they unpacked to). It worked for me at least on aoTuV 6.02 and vorbis-tools 1.4.0, on Debian Squeeze.
#!/bin/sh
set -e
# a directory containing vorbis lib (aotuv) source code
# and vorbis-tools source code
LIB=$1
TOOLS=$2
BASE=`pwd`
LIB_FULL=$BASE/$LIB
if [ "x$LIB" = "x" ] || [ "x$TOOLS" = "x" ]; then
echo "syntax: $0 <aotuv-dir> <vorbis-tools-dir>"
fi
# aotuv
cd $LIB
sh configure
make
# vorbis-tools
cd $BASE/$TOOLS
./configure \
--with-vorbis-libraries=$LIB_FULL/lib/.libs/ \
--with-vorbis-includes=$LIB_FULL/include/ \
--disable-shared \
--enable-static
sed -i 's/^LDFLAGS =/LDFLAGS = -static /' oggenc/Makefile
make
if [ -x oggenc/oggenc ]; then
echo "Your shiny new oggenc is located at:"
echo $BASE/$TOOLS/oggenc/oggenc
fi
I notice it breaks if there's any whitespace in the directory path. Ah well.
[1] It's not completely static -- but at least the aoTuV library is linked to statically, which should be enough. And you do need the relevant dev packages installed, e.g. to compile in FLAC support. "apt-get build-dep libvorbis vorbis-tools" should do it.
I've just found this thread after compiling the AotuV b6.03 for my old ibook with new debian installed. After installing the AotuV version of libvorbis on /usr/local I had the same problem: the old oggenc would use the libraries supplied by the debian libvorbis package (on /usr/lib). Googling I just found this page (http://www.cyberciti.biz/faq/linux-setting...g-library-path/ (http://www.cyberciti.biz/faq/linux-setting-changing-library-path/)) which explains how to specify the libraries you want to use with oggenc.
Assuming you've installed the libraries on /usr/local you have to:
1. Create and edit the file /etc/ldso.conf/oggenc.conf:
# nano /etc/ld.so.conf.d/oggenc.conf
2. Write in the file the path to the libraries:
/usr/local/lib
3. Activate the library path:
# dconfig
And now it should work.
If you have two libraries with the same name then the path is evaluated in a series of steps. You can override the whole lot by specifying the preffered order in LD_LIBRARY_PATH, but that's best kept for testing.
After that, ldconfig evaluates paths starting with the system defaults in /etc/ld.so.conf and moving on to paths in /etc/ld.so.conf.d/. You can edit these to have /usr/local/lib come first. Remember to run ldconfig (as root) afterwards. Adding a file with /usr/local/lib into /etc/ld.so.conf.d/ probably won't do the trick since it will still come after the default path where the original libraries live. Possibly on your machine the system libraries are in an architecture-specific path such as /usr/lib/i386-linux-gnu, set from a file in /etc/ld.so.conf.d/, in which case the path order depends on alphabetical order of the filenames. You can use a file with a number on the front to make sure you come first.
All of which is great fun and I hope you learned something, but it would be so much better to be able to uninstall the old libraries because you just don't want to use them. You probably can't because there are dependencies on them, for example the libavcodec libraries need them, probably others too. To replace them you would need to create three deb packages called libvorbis0a, libvorbisenc3, and libvorbisfile2, containing your new builds. Then install those which will replace the originals and you'll have no worries about paths.