2

I'm trying to build fsthost on 64-bit Debian Stable and the last (linking) step fails:

m@debian:~/Downloads/fsthost-1.5.4$ make
winegcc -m32 -o fsthost32 amc_32.o jackamc_32.o fst_32.o gtk_32.o jackvst_32.o \
    jfst_32.o fxb_32.o fps_32.o vstwin_32.o cpuusage_32.o info_32.o \
    midifilter_32.o list_32.o -m32 -mwindows -L/usr/lib/i386-linux-gnu/wine \
    -lpthread -lX11 -ljack -lxml2 -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 \
    -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo \
    -lgobject-2.0 -lglib-2.0
/usr/bin/ld: cannot find -lX11
/usr/bin/ld: cannot find -ljack
/usr/bin/ld: cannot find -lxml2
/usr/bin/ld: cannot find -lgtk-3
/usr/bin/ld: cannot find -lgdk-3
/usr/bin/ld: cannot find -latk-1.0
/usr/bin/ld: cannot find -lgio-2.0
/usr/bin/ld: cannot find -lpangocairo-1.0
/usr/bin/ld: cannot find -lgdk_pixbuf-2.0
/usr/bin/ld: cannot find -lcairo-gobject
/usr/bin/ld: cannot find -lpango-1.0
/usr/bin/ld: cannot find -lcairo
/usr/bin/ld: cannot find -lgobject-2.0
/usr/bin/ld: cannot find -lglib-2.0
collect2: error: ld returned 1 exit status
winegcc: gcc failed
make: *** [fsthost32] Error 2
m@debian:~/Downloads/fsthost-1.5.4$

Notice, that winegcc is being used here, not gcc.

So, ld claims there's no libX11.so, let's check it:

m@debian:~$ locate libX11.so
/usr/lib/i386-linux-gnu/libX11.so.6
/usr/lib/i386-linux-gnu/libX11.so.6.3.0
/usr/lib/x86_64-linux-gnu/libX11.so
/usr/lib/x86_64-linux-gnu/libX11.so.6
/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
m@debian:~$ 

Bingo! There's no /usr/lib/***i386***-linux-gnu/libX11.***so***! When I manually add a symlink from /usr/lib/i386-linux-gnu/libX11.so to /usr/lib/i386-linux-gnu/libX11.so.6, the line:

/usr/bin/ld: cannot find -lX11

obviously disappears from ld's output.

Why are there no *.so symlinks in i386-linux-gnu directory and how should I proceed from here?

Michal Rus
  • 1,796
  • 2
  • 18
  • 27
  • Did you ever figure out how to overcome this? I'm having the same problem. – olfek Jul 11 '16 at 15:57
  • @sudoman, if I remember correctly, I built it in a 32-bit chroot. But later moved to a saner distro → NixOS. Highly recommended. – Michal Rus Jul 20 '16 at 21:42

1 Answers1

0

If you have the shared libraries but are missing the *.so symlinks that seems to indicate that you have installed the runtime library package but not the dev library package. What was the name of the package that you installed to create the i386-linux-gnu directory? I'd search for related packages that have 'dev' or similar in the name and try installing them.

Just a guess here, but the package you may be missing is ia32-libs-dev

Brandon Yates
  • 2,022
  • 3
  • 22
  • 33
  • 1
    I did install all the `-dev:i386` versions. :( After suggestion on #debian @ Freenode, I set up an i386 chroot to compile the app. Works now. :) Thank you! – Michal Rus Jul 02 '14 at 18:20