Thanks much, Orcan. Here's the output of the commands you suggested:
[jeb@youngdavid src]$ file mixer
mixer: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses
shared libs), for GNU/Linux 2.6.18, not stripped
[jeb@youngdavid src]$ file /usr/lib64/ladspa/ladspa-rubberband.so
/usr/lib64/ladspa/ladspa-rubberband.so: ELF 64-bit LSB shared object, x86-64, version 1
(SYSV), dynamically linked, stripped
So I think I'm doing 64-bit OK. I don't really mind the environment
variables; in fact, what I ended up doing was creating an /etc/profile.d
file with the two needed variables:
[jeb@youngdavid src]$ cat /etc/profile.d/jeb*
export LADSPA_PATH=/usr/lib64/ladspa
export LADSPA_RDF_PATH=/usr/share/ladspa/rdf
I'd love to see that made part of CCRMA, as something like
/etc/profile.d/ladspa.sh. It could simplify lots of things.
I'll study the makefiles more, see if I can find a rogue -m32 or something.
J.E.B.
On Fri, Aug 27, 2010 at 8:44 AM, Jonathan E. Brickman
wrote:
I have got non-mixer to compile and run on
F13-64. I had to add
/lib64/libpthread.so.0 to the LIBS variables in all of the
makefile.inc's, and /lib64/libdl.so.2 also to the LIBS variable in the
mixer makefile.inc, and then I had to set LADSPA_PATH, but that's not so
bad. What's left is a run-time issue; I don't think non-mixer is
finding rubberband:
[jeb@youngdavid mixer]$ non-mixer
WARNING: File /usr/lib64/ladspa/ladspa-rubberband.cat could not be examined
dlerror() output:
/usr/lib64/ladspa/ladspa-rubberband.cat: invalid ELF header
130 plugins found in 103 libraries
[non-mixer] Your fun is over
[jeb@youngdavid mixer]$
The rubberband rpm is installed. Anyone have a suggestion?
First, of all, since you are using x86_64, you have the option of
compiling and using 64 bit or 32 bit non-mixer. Which one is your
choice? In either case, you need to make sure that the libraries that
you are using match the architecture. If you don't do anything fancy
the 64 bit ones will be installed by default.
I am assuming you want the 64bit non-mixer. Make sure that the 64 bit
rubberband is installed
$ rpm -qa |grep rubberband
You can also check if rubberband is installed properly
$ file /usr/lib64/ladspa/ladspa-rubberband.so
should tell you that the shared library is 64 bit.
If everything seems fine so far and you are still getting "invalid ELF
header" messages for libraries in /usr/lib64/ladspa/, then maybe you
are compiling non-mixer as 32 bit. What does
$ file daw/mixer/src/mixer
tell you?
A couple of hints: remove the @'s from the Makefile so that you can
see what is actually going on. If -m32 is passed to the compiler, that
means you are compiling 32bit.
Also in src/LADSPAInfo.C , I modified the line ~84
ScanPathList("/usr/lib/ladspa:/usr/local/lib/ladspa",
&LADSPAInfo::ExaminePluginLibrary);
to
ScanPathList("/usr/lib64/ladspa:/usr/lib/ladspa:/usr/local/lib/ladspa",
&LADSPAInfo::ExaminePluginLibrary);
and now the mixer works for me without setting any environtment variables.
Orcan