Quote:
|
dominic@Floreffe:~/fst-1.8$ echo winegcc -mwindows -o fst.exe audiomaster.o fst.o fstinfofile.o gtk.o jfst.o vsti.o vstwin.o `pkg-config --libs gtk+-2.0` `pkg-config --libs jack` `pkg-config --libs alsa` `pkg-config --libs lash-1.0` -L/usr/X11R6/lib -lX11 -luuid
|
The command you echoed is ok: indeeed this is a single long command line that has been wrapped from the terminal. The echo command simply echoes the same line without doing anything but the expansion of the pkg-config "inline" commands.
Quote:
|
winegcc -mwindows -o fst.exe audiomaster.o fst.o fstinfofile.o gtk.o jfst.o vsti.o vstwin.o -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -ljack -lasound -llash -ljack -lasound -L/usr/X11R6/lib -lX11 -luuid
|
Here the -lpthread option does not appear! To be sure you can verify also the lines:
Code:
echo winegcc -c `pkg-config --cflags gtk+-2.0` `pkg-config --cflags jack` `pkg-config --cflags jack` `pkg-config --cflags lash-1.0` -DHAVE_LASH -I. -o jfst.o jfst.c
echo winegcc -c `pkg-config --cflags gtk+-2.0` `pkg-config --cflags jack` `pkg-config --cflags jack` `pkg-config --cflags lash-1.0` -DHAVE_LASH -I. -o vsti.o vsti.c
that make the compilation of the two wrong object files: jfst.o and vsti.o (the ones for which you got the "undefined symbol" errors).
To edit the make file you can try to add
Code:
-L/usr/lib -lpthread
to some variable in the header (LIBRARIES may be good) or - as alternative - you can leave the Makefile unchanged and define an environment variable called CFLAGS, e.g. by the command
Code:
export CFLAGS="-L/usr/lib -lpthread"
This is because most likely the make process will look for this (and other) variables and add their value as options to the compiler. You will see the differences in the output from make.
To reply to your last questions: the syntax pkg-config --libs libpthread.so is wrong because pkg-config is a utility that look for config files with the .pc extension. These files are named as the application to which they are associated and contain information about includes, library paths, dependencies and so on. Usually they are in /usr/lib/pkgconfig/. You may have a look at "man pkg-config" for details.