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