Compile/Link program static in Gtk



Hello all,

I need to know how to compile/link an application that the interface was made using glade in static form, I looked for this in web but I can't found nothing conclusive. The Makefile files in directories was made by Glade and I change all -rdynamic to -static inside these files, but I had the error bellow :


flavio flaviocomputer:~/Projetos/ihmserial$ make
make  all-recursive
make[1]: Entrando no diretório `/home/flavio/Projetos/ihmserial'
Making all in intl
make[2]: Entrando no diretório `/home/flavio/Projetos/ihmserial/intl'
make[2]: Nada a ser feito para `all'.
make[2]: Saindo do diretório `/home/flavio/Projetos/ihmserial/intl'
Making all in po
make[2]: Entrando no diretório `/home/flavio/Projetos/ihmserial/po'
make[2]: Nada a ser feito para `all'.
make[2]: Saindo do diretório `/home/flavio/Projetos/ihmserial/po'
Making all in macros
make[2]: Entrando no diretório `/home/flavio/Projetos/ihmserial/macros'
make[2]: Nada a ser feito para `all'.
make[2]: Saindo do diretório `/home/flavio/Projetos/ihmserial/macros'
Making all in src
make[2]: Entrando no diretório `/home/flavio/Projetos/ihmserial/src'
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -I/usr/include/gtk-1.2 -I/usr/X11R6/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -g -O2 -Wall -Wunused -c main.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -I/usr/include/gtk-1.2 -I/usr/X11R6/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -g -O2 -Wall -Wunused -c support.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -I/usr/include/gtk-1.2 -I/usr/X11R6/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -g -O2 -Wall -Wunused -c ihmserial.c
ihmserial.c: In function `file_operation':
ihmserial.c:1048: warning: deprecated use of label at end of compound statement gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -I/usr/include/gtk-1.2 -I/usr/X11R6/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -g -O2 -Wall -Wunused -c serial.c
serial.c: In function `abre_com':
serial.c:171: warning: implicit declaration of function `memset'
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -I/usr/include/gtk-1.2 -I/usr/X11R6/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -g -O2 -Wall -Wunused -c interface.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -I/usr/include/gtk-1.2 -I/usr/X11R6/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -g -O2 -Wall -Wunused -c callbacks.c gcc -g -O2 -Wall -Wunused -o ihmserial main.o support.o ihmserial.o serial.o interface.o callbacks.o -static -L/usr/lib -L/usr/X11R6/lib -static -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lICE -lgtk -lgdk -lgmodule -ldl -lXi -lXext -lX11 -lgnome -lgnomesupport -lesd -laudiofile -lm -ldb-3 -lglib
/usr/lib/libgmodule.a(gmodule.o)(.text+0x36): In function `_g_module_open':
: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/bin/ld: cannot find -ldb-3
collect2: ld returned 1 exit status
make[2]: ** [ihmserial] Erro 1
make[2]: Saindo do diretório `/home/flavio/Projetos/ihmserial/src'
make[1]: ** [all-recursive] Erro 1
make[1]: Saindo do diretório `/home/flavio/Projetos/ihmserial'
make: ** [all-recursive-am] Erro 2
flavio flaviocomputer:~/Projetos/ihmserial$


Someone knows what is the parameter to put in ./configure (or whatever) to specify to system that I want my program compiled static ?


Thanks for all help

Flavio Alberto Lopes Soares
flavio maqplas com br



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