On Fri, Mar 12, 2010 at 01:10:35PM +0300, Kirill Maslinsky wrote: > Коллеги, нужна ваша помощь и совет: > http://git.altlinux.org/people/kirill/packages/?p=perl-Text-BibTeX.git;a=summary > > Собирается, но на стадии verify-elf обнаруживается странная проблема с линковкой с библиотекой > libbtparse.so. На обычный случай --as-needed не похоже, т.к. в строке > линковки все указано в нужном порядке. Но очень сильно смущает то, что > в процессе сборки эта самая линковка происходит _трижды_. (в логе можно > поискать по строке: '** Creating libbtparse.so') > > Полный лог сборки в аттаче, для сборки требует perl-Config-AutoConf, > он есть у меня в гите. > Verifying ELF objects in /usr/src/tmp/perl-Text-BibTeX-buildroot (arch=normal,fhs=normal,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) > verify-elf: WARNING: ./usr/lib/perl5/vendor_perl/x86_64-linux/auto/Text/BibTeX/BibTeX.so: not found: libbtparse.so > verify-elf: WARNING: ./usr/lib/perl5/vendor_perl/x86_64-linux/auto/Text/BibTeX/BibTeX.so: undefined symbol: bt_initialize > verify-elf: WARNING: ./usr/lib/perl5/vendor_perl/x86_64-linux/auto/Text/BibTeX/BibTeX.so: undefined symbol: bt_next_field > verify-elf: ERROR: ./usr/bin/bibparse: not found: libbtparse.so > verify-elf: ERROR: ./usr/bin/bibparse: undefined symbol: bt_initialize > verify-elf: ERROR: ./usr/bin/bibparse: undefined symbol: bt_next_field There's a problem with hardcoded /usr/lib. Build.PL: 53 ## HACK HACK HACK HACK 54 my $libdir = $builder->install_destination("bin"); 55 if ($^O =~ /mswin32/i) { 56 $libdir = $ENV{WINDIR} || 'c:\\WINDOWS\\'; ## HACK HACK HACK 57 } else { 58 $libdir =~ s/\bbin\b/lib/; 59 } 60 $builder->add_build_element('usrlib'); 61 $builder->install_path( 'usrlib' => $libdir ); 62 63 $builder->create_build_script; So the $libdir is "/usr/bin" with "bin" compomnent changed to "lib" (line 58). On x86_64, that should be "lib64". --- a/perl-Text-BibTeX.spec +++ b/perl-Text-BibTeX.spec @@ -57,6 +57,8 @@ manual pages in the library). %prep %setup -q -n %m_distro-%version +perl -pi -e 's|/lib/|/%_lib/|' Build.PL + %build %add_optflags %optflags_shared %perl_vendor_build