Bug 3288

Summary: undefined symbol: Perl_Gthr_key_ptr error message while starting programm compiled under perl-5.6.1
Product: Sisyphus Reporter: Alexander V. Schukin <sysadmin>
Component: perlAssignee: at <at>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P4 CC: at, crux, viy
Version: unstable   
Hardware: all   
OS: Linux   

Description Alexander V. Schukin 2003-11-19 12:52:01 MSK
Пытаюсь запустить программу, скомпилированную на perl-5.6.1 (программа, если 
кому-то интересно, биллинг UTM 3.0 http://www.netup.ru) Под любым ALT Linux 
(Master 2.2, Junior, Compact обновлённый из свежайшего Sysiphus - не имеет 
значения) получаю следующую ошибку:

/netup/utm/bin/main: realocation error:
/usr/lib/perl5/site_perl/i386-linux/auto/DBI/DBI.so: undefined
symbol: Perl_Gthr_key_ptr

Под RedHat 7.3, RedHat 9.0 (с новой версией perl) и FreeBSD подобных проблем 
нет, всё работает на ура, проверено. По заключению специалистов NetUP и 
собственному разумению причина в perl от ALTLinux. Предлагают из-за этого 
перейти на RedHat - сопротивляюсь, надеюсь на решение проблемы/объяснение 
причины ;)

PS поскольку вышеозначенный файл ищется именно в 
директории /usr/lib/perl5/site_perl пришлось создать симлинк site_perl -> 
vendor_perl
Comment 1 Alexander V. Schukin 2003-11-22 18:23:06 MSK
Огромное спасибо Алексею Турбину за оперативное и подробное разъяснение причины 
проблемы ! А причина в том, что сам новый perl (5.8.x)не совместим с 
программами компилированными своими ранними версиями:

man perl58delta:

Incompatible Changes
	Binary Incompatibility

	Perl 5.8 is not binary compatible with earlier releases of Perl.
	You have to recompile your XS modules.
	(Pure Perl modules should continue to work.)

	The major reason for the discontinuity is the new IO architecture
	called PerlIO

Свою проблему решил установкой perl 5.6.1 (нашёл в интернете дистрибутив Junior 
2.0) - всё заработало.