Bug 3288 - undefined symbol: Perl_Gthr_key_ptr error message while starting programm compiled under perl-5.6.1
Summary: undefined symbol: Perl_Gthr_key_ptr error message while starting programm com...
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: perl (show other bugs)
Version: unstable
Hardware: all Linux
: P4 normal
Assignee: at@altlinux.org
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-11-19 12:52 MSK by Alexander V. Schukin
Modified: 2003-11-22 18:23 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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) - всё заработало.