Problems Compiling Fuse 0.9.0 on Ubuntu 8.04

Help
safetycopy
2008-08-07
2013-01-01
  • safetycopy
    safetycopy
    2008-08-07

    Hi,

    I seem to have hit a problem compiling fuse-0.9.0 on Ubuntu 8.04.
    I successfully compiled and installed libspectrum-0.4.0, lib765_0.3.4.orig and libdsk3_1.1.10.orig and have run ./configure on the main Fuse source successfully. However, running make ends with the following (edited - if you need more of the output let me know):

    machines/libmachines.a(specplus3.o): In function `specplus3_disk_insert':
    /home/safetycopy/Downloads/Source/fuse-0.9.0/machines/specplus3.c:555: undefined reference to `fdl_settype'
    /home/safetycopy/Downloads/Source/fuse-0.9.0/machines/specplus3.c:556: undefined reference to `fdl_setfilename'
    machines/libmachines.a(specplus3.o): In function `specplus3_765_init':
    /home/safetycopy/Downloads/Source/fuse-0.9.0/machines/specplus3.c:224: undefined reference to `fd_newldsk'
    /home/safetycopy/Downloads/Source/fuse-0.9.0/machines/specplus3.c:224: undefined reference to `fd_newldsk'
    collect2: ld returned 1 exit status
    make[2]: *** [fuse] Error 1
    make[2]: Leaving directory `/home/safetycopy/Downloads/Source/fuse-0.9.0'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/safetycopy/Downloads/Source/fuse-0.9.0'
    make: *** [all] Error 2

    I'm relatively new to Linux and the whole process of compiling source, etc, so forgive me if I'm missing something obvious. Any help would be greatly appreciated!

     
    • Philip Kendall
      Philip Kendall
      2008-08-07

      It looks like libdsk couldn't be found by the linker. If you installed it to a custom path, you'll need to specify that path --with-plus3-disk-prefix option to Fuse's configure script. If you installed to the default location, ensure /usr/local/lib is specified in /etc/ld.so.conf and then run `ldconfig' as root.

      Hope this helps!

       
    • safetycopy
      safetycopy
      2008-08-07

      Thanks for the reply. I'm new to Linux, so your instructions are a little confusing to me. I checked /etc/ld.so.conf and it contains one line which reads 'include /etc/ld.so.conf.d/*.conf'. If I need to add /usr/local/lib to that (I didn't do anything special when installing libdsk3 so I'm assuming it installed to the default location) do I just need to add that to a new line?

       
    • Philip Kendall
      Philip Kendall
      2008-08-07

      Not a problem - your system (Ubuntu?) is just set up slightly differently.

      1) Have a look through the files in the /etc/ld.so.conf.d/ directory and see if any of them contain the line "/usr/local/lib". If any of them do, skip to step (3).
      2) Execute "sudo echo /usr/local/lib > /etc/ld.so.conf.d/local.conf" (without the quotes). Type in your password if prompted.
      3) Execute "sudo ldconfig" (without the quotes)

      Now try rebuilding Fuse again :-)

       
    • safetycopy
      safetycopy
      2008-08-20

      Thanks Philip - I think my problem was not installing libdsk properly... I recompiled and installed that and Fuse worked great!