From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <460F885C.6070109@stc.donpac.ru> Date: Sun, 01 Apr 2007 14:24:28 +0400 From: Eugene Prokopiev User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.7.2) Gecko/20040808 X-Accept-Language: ru-ru, ru MIME-Version: 1.0 To: ALT Devel discussion list References: <200703301449.13176.ashen@nsrz.ru> <460E58F7.8090407@stc.donpac.ru> <200703311820.23216@ruslandh> <460EB74E.2050200@stc.donpac.ru> In-Reply-To: <460EB74E.2050200@stc.donpac.ru> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [devel] [sisyphus] dbmail-2.2.4 X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Apr 2007 09:25:44 -0000 Archived-At: List-Archive: List-Post: > gcc -g -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include > -I/usr/include/gmime-2.0 -I/usr/include/glib-2.0 > -I/usr/lib/glib-2.0/include -W -Wall -Wpointer-arith -Wstrict-prototypes > -o .libs/dbmail-smtp main.o -Wl,--export-dynamic -lcrypt -lgmime-2.0 > -lz -lnsl -lgobject-2.0 -lglib-2.0 ./.libs/libdbmail.so -lldap > -Wl,--rpath -Wl,/usr/local/lib/dbmail > ./.libs/libdbmail.so: undefined reference to `g_module_build_path' > ./.libs/libdbmail.so: undefined reference to `g_module_symbol' > ./.libs/libdbmail.so: undefined reference to `g_module_supported' > ./.libs/libdbmail.so: undefined reference to `g_module_open' > ./.libs/libdbmail.so: undefined reference to `g_module_error' > collect2: ld returned 1 exit status > make[2]: *** [dbmail-smtp] Error 1 > > Ищем, что прилинковать: > > $ find -name *.so | xargs grep g_module_build_path > Binary file ./.libs/libdbmail.so matches > $ nm -CD ./.libs/libdbmail.so | grep g_module_build_path > U g_module_build_path > > Итак, у нас в коде нет библиотек, экспортирующих g_module_build_path, > поэтому таковые следует искать в /usr/lib, в нашем случае это > libgmodule-2.0.so, т.е. дописывать надо -lgmodule-2.0 > > Ищем, куда дописывать: > > $ find -name Makefile.am | xargs grep libdbmail_la_LIBADD > ./Makefile.am:libdbmail_la_LIBADD = @MYSQLLTLIB@ @PGSQLLTLIB@ > @SQLITELTLIB@ @SORTLTLIB@ @AUTHLTLIB@ Дописывание -lgmodule-2.0 в AM_LDFLAGS в Makefile.am и autoreconf -fisv ./configure --with-mysql --with-pgsql --with-auth-ldap --with-sieve make проходят без ошибок. Дописывание -lgmodule-2.0 в libdbmail_la_LIBADD в Makefile.am приводит к undefined reference. Почему? Куда и в каких случаях положено добавлять недолинкованные библиотеки? -- С уважением, Прокопьев Евгений