> On Apr 02 02:34:13, Jerry wrote:
>> On Mar 31, 2012, at 2:14 AM, Jan Stary wrote:
>>> On Mar 31 09:20:46, Jan Stary wrote:
>>>> On Mar 30 17:44:03, Jerry wrote:
>>>>> I recently changed os from OS X 10.6.8 to 10.7.(2|3).
>>>>> Upon doing this, sox quit working.
>>>>> My first inclination was to get a new sox
>>>>> but it doesn't really look like a sox problem:
>>>>> MBPro:~ me$ sox
>>>>> dyld: Library not loaded: /usr/lib/libltdl.3.dylib
>>>>> Referenced from: /usr/local/bin/sox
>>>>> Reason: image not found
>>>>> Trace/BPT trap: 5
>>>>> I do have /usr/lib/libltdl.7.dylib, howeer.
>>>> The upgrade of your OS provided some new versions of libraries,
>>>> but probably removed the old version of those libraries, quite foolishly.
>>>> (Using sox under both MacOS nad OpenBSD, on the same MacBook,
>>>> i cannot but compare and see that OpenBSD upgrades leave the
>>>> old libraries untouched, precisely for this reason.)
>>>> So you are probably right, it's not a SoX problem -
>>>> it's your OS that has broken your SoX installation.
>>>> Doesn't matter. Your sox was compiled with a dependency
>>>> on libtdl.3 - and that's missing now.
>>> To make sure about this, can you 'ls /usr/lib/libltdl*'
>>> (and possible other places such as /usr/local, /opt/local etc)?
>> OK--possibly too much information (and hope that the lines don't wrap) (See notes below the list):
> The SoX build does not look into /Applications or /Developer
> This is relevant. Indeed, there is no libtdl.3
> which is what your SoX binary was built against.
>> * /opt/local is MacPorts (which I installed today for unrelated purposes). (My approach toward MacPorts is that I prefer to not use it if possible because I get angry/frustrated with it and delete it from time to time--too many out-of-date dependencies, usually.)
> Well, macports also contains a port of SoX,
> if you are interested :-)
>> * /usr/lib/libltdl.7.2.2.dylib and /usr/lib/libltdl.dylib are both symlinks pointing to /usr/lib/libltdl.7.dylib. ***Shouldn't sox just use /usr/lib/libltdl.dylib and let the OS take care of pointing to the correct library?***
> This is decided at compile time, not runtime. The build process
> recognizes libltdl.N if found and links the sox binary to it; this
> information, including the library version, is stored in the sox binary,
> and that particular version is requested at runtime.
> This is nothing specific to SoX; that's how dynamic libraries work.
> Just recompile against the libltdl you have now.
> (BTW, why are you using libltdl at all? Do you configure SoX
> to dlopen() the helper libraries?)
I don't know. My notes to myself say that I compiled without any optional libraries--not sure if that is relevant or not.
Attached as a zip is the result of installing from sox-14.4.0.tar.gz (after errors resulting from spaces in the path to the sources were fixed), trying to test, and trying to run. The text output in this file is the result of typing
sudo make install
As you can see, make -s resulted in 386 warnings. When trying to run, I have no idea why it is trying to load /usr/local/gnat/lib/libgomp.1.dylib -- gnat is the gcc Ada compiler which I do have installed but NOT at /usr/local/gnat/ (that directory does not exist). The mysteriously-referenced library does exist at /usr/local/adacore-gnat-2010/lib/libgomp.1.dylib.
The pre-compiled binary sox-14.4.0-macosx.zip seems to run OK--it plays a .wav file for me.