Thanks, David; this worked perfectly.  So, here are my updated
instructions for building FluidSynth on 64-bit Ubuntu:

 1. No need to remove the Ubuntu packages of FluidSynth!

 2. Build the FluidSynth RC.  From the FluidSynth source directory:

    mkdir build
    cd build
    cmake -DLIB_SUFFIX= ..
    make
    sudo make install

 3. Update the library cache:

    sudo ldconfig

This works for me.  After uninstalling FluidSynth, make sure to manually
delete the *libfluidsynth.so* and *libfluidsynth.so.1* symlinks from
*/usr/local/lib/* and run *sudo ldconfig* again.

-~Chris



On 07/30/2012 04:51 PM, David Henningsson wrote:
> On 07/30/2012 07:41 PM, S. Christian Collins wrote:
>> On 07/28/2012 11:59 PM, David Henningsson wrote:
>>> 4) Run
>>> sudo make install
>>> ...to install the new version. Once you have finished testing, run
>>> sudo make uninstall
>>> ...to revert to the version that comes with Ubuntu.
>> On my system (Kubuntu 64-bit), this resulted in version 1.1.6 of the
>> FluidSynth binary using the 1.1.5 libraries.
>
> Thanks for noticing!
> I've tried to sort this stuff out, all this linking can be a bit hairy
> :-/
>
> There seem to be two problems here:
>
> 1) We install things into /usr/local/lib64 by default, which is wrong
> under Debian systems (see
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=612000 )
>
> Workaround:
>
> Run cmake with
> "cmake -DLIB_SUFFIX= .."
> Note the space between "=" and "..", and that
> -DCMAKE_INSTALL_PREFIX=/usr is *not* specified.
>
> This causes the library to be installed into /usr/local/lib.
>
> 2) The ld.so.cache is not updated
>
> Workaround:
>
> Run "sudo ldconfig" after "sudo make install" or "sudo make uninstall"
> to update the cache.
>
> After that, things seem to be in order:
> * "which fluidsynth" returns /usr/local/bin
> * "ldd /usr/local/bin/fluidsynth" returns "libfluidsynth.so.1 =>
> /usr/local/lib/libfluidsynth.so.1"
>
> As for fixing these issues long-term:
>
> 1) I'm not aware of the standards of when to use lib or lib64 for
> non-Debian systems, but if it's important to install into lib64 in e g
> Fedora, maybe we could detect whether our target is Debian based, and
> if so, skip the LIB_SUFFIX?
>
> 2) I think cmake's make file should call ldconfig after
> install/uninstall, so this seems to be a bug in cmake? I think
> "libtool finish" does that.
>
>> I also had a problem with OSS support causing
>> make to abort, so I edited the *CMakeLists.txt* file in the source
>> directory by changing line 328 from:
>>
>> set ( OSS_SUPPORT ${OSS_FOUND} )
>>
>> ...to:
>>
>> set ( OSS_SUPPORT 0 )
>>
>> ...and then I was able to compile.
>
> Hmm, it seems like we're missing an enable-oss (to go with
> enable-alsa, enable-jack etc) to make it easy to leave out.
>
>> After testing, you will need to manually remove the library files you
>> copied to */usr/lib/x86_64-linux-gnu* and "sudo make uninstall" from the
>> FluidSynth build directory should remove the rest.  I say "should"
>> because it actually leaves the */usr/lib64/libfluidsynth.so* and
>> */usr/lib64/libfluidsynth.so.1* symlinks behind, so you will have to
>> remove those manually as well.
>
> Yeah, as for cleaning the symlinks, I ran into that as well. Seems to
> be another cmake bug?
>
>

_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fluid-dev

Reply via email to