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