[devel] нужна помощь (похоже, --as-needed)

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Июн 18 14:41:52 MSD 2006


On Sun, Jun 18, 2006 at 12:59:35PM +0400, Kirill Maslinsky wrote:
> Всем привет!
> 
> Я тут взялся за сборку одного замшелого, но лингвистически интересного
> проекта -- emdros -- и, естественно, тут же натолкнулся на проблемы
> при сборке, скорее всего вызванные линковкой с --as-needed. 
> 
> Поскольку я в этом совсем профан, может быть, кто подскажет? 
> 
> Диагностика такая:
> 
> ----------------
> g++ -pipe -Wall -O2 -march=pentium3 -mtune=pentium4 -g -Wall -pipe -Wall -O2 -march=pentium3 -mtune=pentium4 -o .libs/mql mql.o  -L/usr/lib/ ../MQL/.libs/libmql.so /home/gc/RPM/BUILD/emdros-1.2.0.pre206/EMdF/.libs/libemdf.so ../pcre/.libs/libpcre_emdros.so ../EMdF/.libs/libemdf.so -lmysqlclient -Wl,--rpath -Wl,/usr/local/lib/emdros
> ../MQL/.libs/libmql.so: undefined reference to `pcre_fullinfo'
> ../MQL/.libs/libmql.so: undefined reference to `pcre_compile'
> ../MQL/.libs/libmql.so: undefined reference to `pcre_study'
> ../MQL/.libs/libmql.so: undefined reference to `pcre_free'
> ../MQL/.libs/libmql.so: undefined reference to `pcre_exec'
> collect2: ld returned 1 exit status
> make[2]: *** [mql] Error 1
> make[2]: Leaving directory `/home/gc/RPM/BUILD/emdros-1.2.0.pre206/src'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/gc/RPM/BUILD/emdros-1.2.0.pre206/src'
> make: *** [all-recursive] Error 1
> make: Leaving directory `/home/gc/RPM/BUILD/emdros-1.2.0.pre206'
> ошибка: Неверный код возврата из /home/gc/tmp/rpm-tmp.69536 (%build)

У меня раньше не собирается:

/bin/sh ../libtool --tag=CXX --mode=link g++ -g -Wall    -L/usr/lib -o libmql.la -rpath /usr/local/lib/emdros -version-info 3:0:0  mql_yylex.
lo mql_parser.lo mql_lexer.lo mql_get_query.lo emdros_environment.lo mql_database_statements.lo mql_enumeration_statements.lo mql_error.lo mql_execute.lo mql_execution_environment.lo mql_features_statements.lo mql_helper_classes.lo mql_meta_statements.lo mql_monads_statements.lo mql_object.lo mql_object_statements.lo mql_object_type_statements.lo mql_query.lo mql_R.lo mql_result.lo mql_segment_statements.lo mql_select_statements.lo mql_sheaf.lo mql_statement.lo mql_symboltable.lo mql_utility.lo ../EMdF/libemdf.la
g++ -shared -nostdlib /usr/lib/gcc/i586-alt-linux/4.1.1/../../../crti.o /usr/lib/gcc/i586-alt-linux/4.1.1/crtbeginS.o  .libs/mql_yylex.o .libs/mql_parser.o .libs/mql_lexer.o .libs/mql_get_query.o .libs/emdros_environment.o .libs/mql_database_statements.o .libs/mql_enumeration_statements.o .libs/mql_error.o .libs/mql_execute.o .libs/mql_execution_environment.o .libs/mql_features_statements.o .libs/mql_helper_classes.o .libs/mql_meta_statements.o .libs/mql_monads_statements.o .libs/mql_object.o .libs/mql_object_statements.o .libs/mql_object_type_statements.o .libs/mql_query.o .libs/mql_R.o .libs/mql_result.o .libs/mql_segment_statements.o .libs/mql_select_statements.o .libs/mql_sheaf.o .libs/mql_statement.o .libs/mql_symboltable.o .libs/mql_utility.o  -Wl,--rpath -Wl,/home/at/RPM/BUILD/emdros-1.2.0.pre206/EMdF/.libs -Wl,--rpath -Wl,/usr/local/lib/emdros -L/usr/lib ../EMdF/.libs/libemdf.so -L/usr/lib/gcc/i586-alt-linux/4.1.1 -L/usr/lib/gcc/i586-alt-linux/4.1.1/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i586-alt-linux/4.1.1/crtendS.o /usr/lib/gcc/i586-alt-linux/4.1.1/../../../crtn.o  -Wl,-soname -Wl,libmql.so.3 -o .libs/libmql.so.3.0.0
.libs/mql_parser.o:(.data+0x0): multiple definition of `_ZN11SmartVectorIT_T0_E10no_elementE'
.libs/mql_yylex.o:(.data+0x0): first defined here
.libs/mql_lexer.o:(.data+0x0): multiple definition of `_ZN11SmartVectorIT_T0_E10no_elementE'
.libs/mql_yylex.o:(.data+0x0): first defined here
.libs/mql_get_query.o:(.data+0x0): multiple definition of `_ZN11SmartVectorIT_T0_E10no_elementE'
.libs/mql_yylex.o:(.data+0x0): first defined here
.libs/emdros_environment.o:(.data+0x0): multiple definition of `_ZN11SmartVectorIT_T0_E10no_elementE'
.libs/mql_yylex.o:(.data+0x0): first defined here
.libs/mql_database_statements.o:(.data+0x0): multiple definition of `_ZN11SmartVectorIT_T0_E10no_elementE'
.libs/mql_yylex.o:(.data+0x0): first defined here
.libs/mql_enumeration_statements.o:(.data+0x0): multiple definition of `_ZN11SmartVectorIT_T0_E10no_elementE'
.libs/mql_yylex.o:(.data+0x0): first defined here
.libs/mql_execute.o:(.data+0x0): multiple definition of `_ZN11SmartVectorIT_T0_E10no_elementE'
.libs/mql_yylex.o:(.data+0x0): first defined here
.libs/mql_execution_environment.o:(.data+0x0): multiple definition of `_ZN11SmartVectorIT_T0_E10no_elementE'
.libs/mql_yylex.o:(.data+0x0): first defined here
.libs/mql_features_statements.o:(.data+0x0): multiple definition of `_ZN11SmartVectorIT_T0_E10no_elementE'
.libs/mql_yylex.o:(.data+0x0): first defined here
.libs/mql_helper_classes.o:(.data+0x0): multiple definition of `_ZN11SmartVectorIT_T0_E10no_elementE'
.libs/mql_yylex.o:(.data+0x0): first defined here
.libs/mql_meta_statements.o:(.data+0x0): multiple definition of `_ZN11SmartVectorIT_T0_E10no_elementE'
.libs/mql_yylex.o:(.data+0x0): first defined here
.libs/mql_monads_statements.o:(.data+0x0): multiple definition of `_ZN11SmartVectorIT_T0_E10no_elementE'

> Или, наоборот, здесь?
> 
> ==MQL/Makefile.am==
> 
> pkglib_LTLIBRARIES = libmql.la
> 
> 
> #
> # libmql.la
> #
> libmql_la_SOURCES = $(mqllib_src)
> 
> libmql_la_LIBADD = @EMDFDEPS@

Вот здесь попробуй добавить -lpcre.

  libmql_la_LIBADD = @EMDFDEPS@ -lpcre
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060618/c8e1987c/attachment-0001.bin>


Подробная информация о списке рассылки Devel