On Sun, Jun 18, 2006 at 12:57:25AM +0400, Alexey Tourbin wrote: > On Sun, Jun 18, 2006 at 12:43:12AM +0400, Upravdom Team Robot wrote: > Похоже, что все перловые arch-пакеты теперь не собираются. Нет, только С+плюсные. > Кажется это из-за gcc4.1-4.1.1-alt2 (с alt1 у меня локально собралось). > > c++ -c -I/usr/include/rpm -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -pipe -Wall -Os -march=i586 -mtune=pentium4 -D_GNU_SOURCE -momit-leaf-frame-pointer -DVERSION=\ > "1.11\" -DXS_VERSION=\"1.11\" -fPIC -DPIC "-I/usr/lib/perl5/i386-linux/CORE" AptPkg.c > /usr/lib/perl5/i386-linux/CORE/thrdvar.h:34: error: invalid use of 'register' in linkage specification > /usr/lib/perl5/i386-linux/CORE/thrdvar.h:38: error: invalid use of 'register' in linkage specification > /usr/lib/perl5/i386-linux/CORE/thrdvar.h:40: error: invalid use of 'register' in linkage specification > /usr/lib/perl5/i386-linux/CORE/thrdvar.h:42: error: invalid use of 'register' in linkage specification > /usr/lib/perl5/i386-linux/CORE/thrdvar.h:43: error: invalid use of 'register' in linkage specification > /usr/lib/perl5/i386-linux/CORE/thrdvar.h:45: error: invalid use of 'register' in linkage specification > /usr/lib/perl5/i386-linux/CORE/thrdvar.h:46: error: invalid use of 'register' in linkage specification > /usr/lib/perl5/i386-linux/CORE/thrdvar.h:47: error: invalid use of 'register' in linkage specification > /usr/lib/perl5/i386-linux/CORE/thrdvar.h:49: error: invalid use of 'register' in linkage specification # 34 "/usr/lib/perl5/i386-linux/CORE/thrdvar.h" extern "C" SV *** Perl_Tstack_sp_ptr(register PerlInterpreter *my_perl __attribute__((unused))); С+плюс теперь такие декларации не хочет понимать. $ gcc -I/usr/lib/perl5/i386-linux/CORE -include EXTERN.h -include perl.h -include XSUB.h ~/ldtest.c $ c++ -I/usr/lib/perl5/i386-linux/CORE -include EXTERN.h -include perl.h -include XSUB.h ~/ldtest.c /usr/lib/perl5/i386-linux/CORE/thrdvar.h:34: error: invalid use of 'register' in linkage specification /usr/lib/perl5/i386-linux/CORE/thrdvar.h:38: error: invalid use of 'register' in linkage specification /usr/lib/perl5/i386-linux/CORE/thrdvar.h:40: error: invalid use of 'register' in linkage specification /usr/lib/perl5/i386-linux/CORE/thrdvar.h:42: error: invalid use of 'register' in linkage specification /usr/lib/perl5/i386-linux/CORE/thrdvar.h:43: error: invalid use of 'register' in linkage specification /usr/lib/perl5/i386-linux/CORE/thrdvar.h:45: error: invalid use of 'register' in linkage specification /usr/lib/perl5/i386-linux/CORE/thrdvar.h:46: error: invalid use of 'register' in linkage specification /usr/lib/perl5/i386-linux/CORE/thrdvar.h:47: error: invalid use of 'register' in linkage specification $ Это точно в C+плюсе такие объявление запрещены? Но ведь с extern "C" объявлено!