Opened 6 years ago

Last modified 6 years ago

#46461 new defect

p5.16-macosx-file @0.710.0_4: tests fail

Reported by: larryv (Lawrence Velázquez) Owned by: larryv (Lawrence Velázquez)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cooljeanius (Eric Gallager)
Port: p5-macosx-file

Description

Lots of this, probably because 64-bit Perl is being invoked to run tests requiring 32-bit bundles:

:info:test PERL_DL_NONLAZY=1 /opt/local/bin/perl5.16 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
:info:test Can't load '/opt/local/var/macports/build/_Users_larryv_Projects_MacPorts_git-svn_trunk_dports_perl_p5-macosx-file/p5.16-macosx-file/work/MacOSX-File-0.71/blib/arch/auto/MacOSX/File/Catalog/Catalog.bundle' for module MacOSX::File::Catalog: dlopen(/opt/local/var/macports/build/_Users_larryv_Projects_MacPorts_git-svn_trunk_dports_perl_p5-macosx-file/p5.16-macosx-file/work/MacOSX-File-0.71/blib/arch/auto/MacOSX/File/Catalog/Catalog.bundle, 2): no suitable image found.  Did find:
:info:test 	/opt/local/var/macports/build/_Users_larryv_Projects_MacPorts_git-svn_trunk_dports_perl_p5-macosx-file/p5.16-macosx-file/work/MacOSX-File-0.71/blib/arch/auto/MacOSX/File/Catalog/Catalog.bundle: mach-o, but wrong architecture at /opt/local/lib/perl5/5.16.3/darwin-thread-multi-2level/DynaLoader.pm line 194.
:info:test  at t/catalog.t line 18.
:info:test Compilation failed in require at t/catalog.t line 18.
:info:test BEGIN failed--compilation aborted at t/catalog.t line 18.
:info:test t/catalog.t .. 
:info:test Dubious, test returned 2 (wstat 512, 0x200)
:info:test Failed 7/7 subtests 

Shoehorning an arch -i386 in front of the Perl invocation doesn’t work, even though I have perl5.16 @5.16.3_0+universal installed. I suspect that each test is run by a new Perl process, and those are being invoked 64-bit.

Not sure how to make this work without learning some Perl (ugh).

Change History (3)

comment:1 Changed 6 years ago by cooljeanius (Eric Gallager)

At least with the system perl, Apple has some sort of shim called "versioner" that handles 64/32-bit issues. E.g. setting the environment variable VERSIONER_PERL_PREFER_32_BIT=yes will force the system perl to do everything 32-bit. Perhaps the MacPorts perl could use a similar shim? The source can be found in Apple's release of perl: http://www.opensource.apple.com/source/perl/perl-103/versioner/versioner.c

Last edited 6 years ago by cooljeanius (Eric Gallager) (previous) (diff)

comment:2 Changed 6 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:3 in reply to:  1 Changed 6 years ago by larryv (Lawrence Velázquez)

Wouldn’t be a bad idea. And it would make things (read: using Perl on OS X) more consistent.

Note: See TracTickets for help on using tickets.