[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: libforms?



>I try to compile the multiple sequence alignment editor Seaview by
>Manolo Gouy. The archive contains several *.c files and some headers. 

Well, I don't know seaview, so handle my suggestions with care ;-)

>My potato contains only a libform.so. Do I have to use the static lib?

The dynamic lib should do as well.

>Compiling of the single *.c files works fine, but during linking process
>I always get a heap of error messages with "undefined references to"
>whatever kind of (fl_get_menu_item, fl_set_menu_item_mode,
>fl_redraw_object etc). I was told, that presumably a library does not
>fit here.

That means that you don't link against the library with these symbols.

>I copied the Makefile of another program, exchanged the file
>names and put in the compiler and linker flags:
># Compiler-Flags
>CC = gcc -O3 -Wa,-m21164a -mieee -funroll-all-loops
># Libs
>LIBS = -L./forms.h -L/usr/lib/libform.so.5 -L./seaview.h \
>-L/usr/X11R6/lib/libX11.so -L/usr/local/lib/libffm.so -lm

Sorry, this line is competely wrong. Behind -L should be only
directories listed, where the compiler should search for libs.


LIB_PATH = -L/usr/X11R6/lib -L/usr/local/lib

is probably overkill already. To link against libform, you have to
use -l:

LIBS = -lm -lform -lX11 -lffm

So, you have to change your linking statement:

>	$(CC) -o $@ align.o seaview.o load_seq.o use_mase_files.o \
>comlines.o xfmatpt.o regions.o $(LIB_PATH) $(LIBS)

Dipl. Inf. Ulrich Teichert|e-mail: Ulrich.Teichert@gmx.de
Stormweg 24               |listening to: Speed Of Life (Buzzcocks),
24539 Neumuenster, Germany|Cheap Excitement (Stratford Mercenaries)

Reply to: