Page 1 of 1

Perl versions Mac OS X 10.6 x86_64

Posted: 03 Feb 2012, 05:35
by madd
Hi,

What is the tested/approved version of perl to be using?

There seems to be no fink package for perl-5.10.0 and using the existing package (5.8.8) yields the expected unhappiness

Code: Select all

$ ./configure PERL=/sw/bin/perl /sw/lib/perl5 dyld: lazy symbol binding failed: Symbol not found: _Perl_Istack_sp_ptr Referenced from: /sw/lib/perl5/5.10.0/darwin-thread-multi-2level/auto/XML/LibXML/LibXML.bundle Expected in: flat namespace dyld: Symbol not found: _Perl_Istack_sp_ptr Referenced from: /sw/lib/perl5/5.10.0/darwin-thread-multi-2level/auto/XML/LibXML/LibXML.bundle Expected in: flat namespace Trace/BPT trap
However, using the system perl (5.10.0), which is a fat file is also unhappy:

Code: Select all

$ ./configure WARNING: perl module XML::LibXML required for polymake seems to be unusable. An attempt to load it has failed because of the following: Can't load '/sw/lib/perl5/5.10.0/darwin-thread-multi-2level/auto/XML/LibXML/LibXML.bundle' for module XML::LibXML: dlopen(/sw/lib/perl5/5.10.0/darwin-thread-multi-2level/auto/XML/LibXML/LibXML.bundle, 1): no suitable image found. Did find: /sw/lib/perl5/5.10.0/darwin-thread-multi-2level/auto/XML/LibXML/LibXML.bundle: mach-o, but wrong architecture Please be sure to rectify the problem prior to starting to use polymake. WARNING: perl module XML::LibXSLT required for polymake seems to be unusable. An attempt to load it has failed because of the following: Attempt to reload XML/LibXML.pm aborted. Compilation failed in require Please be sure to rectify the problem prior to starting to use polymake. WARNING: perl module Term::ReadLine::Gnu required for polymake seems to be unusable. An attempt to load it has failed because of the following: Cannot do `initialize' in Term::ReadLine::Gnu Please be sure to rectify the problem prior to starting to use polymake. Configuration goes on, nevertheless.
Regards,
Matt

Re: Perl versions Mac OS X 10.6 x86_64

Posted: 03 Feb 2012, 11:07
by gawrilow
polymake can be used with any perl starting with 5.8.1, but the following should be observed:
  • Using the system's own perl is the preferred way to work with polymake. perl packages provided by Fink may or may not work, they are too numerous to be conscientiously supported by our team
  • The architecture of the chosen perl installation must be identical to, or in the case of a fat /usr/bin/perl, include the architecture of Fink
  • The perl installation must be chosen at the moment of configuration of polymake and can't be arbitrarily changed later. If you decide to switch to another perl, please 'make distclean' and re-configure. If you configured polymake without specifying an absolute path to perl interpreter, avoid silent changes to your PATH in between, so that unqualified 'perl' command call always runs the same executable.
If you followed these rules, but the configuration is nevertheless messed up, this is obviously an issue for us to look closer in. In this case please provide the complete log of your session.

Re: Perl versions Mac OS X 10.6 x86_64

Posted: 03 Feb 2012, 15:34
by madd
For reference, the thing that I needed was to add the following line to my .profile

Code: Select all

export VERSIONER_PERL_PREFER_32_BIT=no
To recap:
Mac OS X 10.6.8
Perl 5.10.0 (system, fat file containing x86_64, i386 and powerPC)
clean install of fink (64 bit only)

Regards,
Matt

Re: Perl versions Mac OS X 10.6 x86_64

Posted: 03 Feb 2012, 18:26
by paffenholz
For reference, the thing that I needed was to add the following line to my .profile

Code: Select all

export VERSIONER_PERL_PREFER_32_BIT=no
Many thanks for finding the problem, and for telling us the solution! Enjoy polymake.

The above option should have been the default, but there is more than one place to change it... I have added a note on the polymake installation page if someone else runs into this problem.