Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: aoTuV on Debian (Read 17299 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

aoTuV on Debian

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/)

?

aoTuV on Debian

Reply #1
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:

Code: [Select]
LD_LIBRARY_PATH=/path/to/aoTuv/libraries oggenc

Try ogginfo on the encoded files. It should say "aoTuv" somewhere.

aoTuV on Debian

Reply #2
Excellent!
Thanks for the tip

aoTuV on Debian

Reply #3
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.

Code: [Select]
#!/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.

aoTuV on Debian

Reply #4
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/) 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.

aoTuV on Debian

Reply #5
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.