Opened 13 years ago

Closed 13 years ago

#28304 closed defect (fixed)

p5-svn-simple fails on 10.6, build_arch i386

Reported by: andrebragareis@… Owned by: danielluke (Daniel J. Luke)
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc:
Port: p5-svn-simple

Description

Very similar to other tickets, such as #20373. Building p5-svn-simple fails with:

===> Warning: SVN::Core missing or outdated.
Please manually install SVN::Core by compiling Subversion
(version 0.31.0 or above) with SWIG/Perl bindings,
and try this installation process again.

But perl reports:

[andrer ~]$ perl -e 'use SVN::Core; print "$SVN::Core::VER_MAJOR.$SVN::Core::VER_MINOR.$SVN::Core::VER_MICRO"'
1.6.5

This is a standard install except for 'build_arch i386' in macports.conf.

MacPorts is v.1.9.2 and selfupdate'd on Feb 6th 2011. Log is attached.

Attachments (2)

log-p5-svn-simple.txt (24.1 KB) - added by andrebragareis@… 13 years ago.
Log of port -dv install p5-svn-simple
log-subversion-perlbindings.txt (139.2 KB) - added by andrebragareis@… 13 years ago.
Log of port -dv install subversion-perlbindings

Download all attachments as: .zip

Change History (12)

Changed 13 years ago by andrebragareis@…

Attachment: log-p5-svn-simple.txt added

Log of port -dv install p5-svn-simple

comment:1 Changed 13 years ago by andrebragareis@…

Cc: andrebragareis@… added

Cc Me!

comment:2 Changed 13 years ago by andrebragareis@…

Crap, forgot to CC dluke. A little help here, please :\

Also, attaching full log for subversion-perlbindings too in a bit.

Changed 13 years ago by andrebragareis@…

Log of port -dv install subversion-perlbindings

comment:3 Changed 13 years ago by jmroot (Joshua Root)

Cc: andrebragareis@… removed
Owner: changed from macports-tickets@… to dluke@…

comment:4 Changed 13 years ago by danielluke (Daniel J. Luke)

Looks like p5-svn-simple is perhaps not respecting the build arch (and so, it's trying to build 64 bit, but you only have the 32 bit version of subversion-perlbindings installed).

comment:5 Changed 13 years ago by andrebragareis@…

Thank you for your help. I'm a bit out of my league here, but: I tried adding '-march=i386 -m32' to the *FLAGS environment variables, and then re-running:

cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_perl_p5-svn-simple/work/SVN-Simple-0.28" && /opt/local/bin/perl Makefile.PL INSTALLDIRS=vendor

No luck, same error.

comment:6 Changed 13 years ago by danielluke (Daniel J. Luke)

Status: newassigned

Macports sanitizes the environment variables for builds, so that wouldn't have worked anyway...

I need to take a look at the perl5 portgroup (and maybe the perl5.8 port) to see why build_arch isn't being respected, since the p5-svn-simple port isn't doing anything that should affect it.

comment:7 Changed 13 years ago by danielluke (Daniel J. Luke)

Can you double-check that you don't have another SVN::Core installed that may be confusing p5-svn-simple?

Also, run:

file /opt/local/lib/libsvn_swig_perl-1.0.0.0.dylib file /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle

and make sure that the perl you can successfully load SVN::Core with is the macports perl (try your test with the full path to macports perl, /opt/local/bin/perl)

comment:8 Changed 13 years ago by andrebragareis@…

First two look good:

$ file /opt/local/lib/libsvn_swig_perl-1.0.0.0.dylib 
/opt/local/lib/libsvn_swig_perl-1.0.0.0.dylib: Mach-O dynamically linked shared library i386

$ file /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle
/opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle: Mach-O bundle i386

But I think you nailed it here:

$ /opt/local/bin/perl -e 'use SVN::Core; print "$SVN::Core::VER_MAJOR.$SVN::Core::VER_MINOR.$SVN::Core::VER_MICRO"'
Can't load '/opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle' for module SVN::_Core: dlopen(/opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle, 1): no suitable image found.  Did find:
	/opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/SVN/_Core/_Core.bundle: mach-o, but wrong architecture at /opt/local/lib/perl5/5.8.9/darwin-2level/DynaLoader.pm line 230.
 at /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/SVN/Base.pm line 59
BEGIN failed--compilation aborted at /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/SVN/Core.pm line 5.
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.

It's the MacPorts perl arch:

$ file /opt/local/bin/perl
/opt/local/bin/perl: Mach-O 64-bit executable x86_64

More in a minute.

So I'm guessing it's perl5/perl5.8 which is ignoring build_arch i386.

comment:9 Changed 13 years ago by andrebragareis@…

Okay it's solved, I uninstalled everything perl in macports, reinstalled, and this time around it compiled as i386.

I honestly don't understand, this was a clean install and the first thing I did was to uncomment the build-arch line. Plus, it looks like perl was the only one that got compiled x86_64.

Must have been them elves and gnomes inside my computer, what else.

Much obliged for the help, dluke!

comment:10 Changed 13 years ago by danielluke (Daniel J. Luke)

Resolution: fixed
Status: assignedclosed

Glad you were able to get it working.

Note: See TracTickets for help on using tickets.