Opened 10 years ago

Last modified 4 years ago

#43809 closed defect

port selfupgrade to base v2.3.0 fails on G4 — at Initial Version

Reported by: paulccobb@… Owned by: macports-tickets@…
Priority: Normal Milestone: MacPorts 2.4.0
Component: base Version: 2.3.0
Keywords: Cc:
Port:

Description

Today I've been trying to run 'port selfupgrade' on my PowerBook G4.  It has Mac OS 10.5.8, and XCode version 3.1.4

After the command failed on several attempts, I reran with -v to get some information; at the outset, I see:

MacPorts base version 2.2.1 installed,
MacPorts base version 2.3.0 downloaded.

All appears to proceed ok until:

===> staging to destroot in vendor/tcllib-1.15
/usr/bin/tclsh8.6-64 `echo ./installer.tcl` \
		-pkg-path   /opt/local/var/macports/sources/rsync.macports.org/release/base/vendor/vendor-destroot/opt/local/libexec/macports/lib/. \
		-no-examples -no-html -no-nroff \
		-no-wait -no-gui -no-apps
/bin/sh: /usr/bin/tclsh8.6-64: Bad CPU type in executable
make[2]: *** [install-libraries] Error 126
make[1]: *** [destroot-tcllib] Error 2
make: *** [all] Error 1
Command failed: cd /opt/local/var/macports/sources/rsync.macports.org/release/base && CC=/usr/bin/cc OBJC=/usr/bin/cc ./configure --prefix=/opt/local --with-tclpackage=/Library/Tcl --with-install-user=root --with-install-group=admin --with-directory-mode=0755 --enable-readline && make SELFUPDATING=1 && make install SELFUPDATING=1
Exit code: 2
Error: Error installing new MacPorts base: command execution failed

The invocation of /usr/bin/tclsh8.6-64 seems incorrect; the 'file' command says:

/usr/bin/tclsh8.6-64: Mach-O universal binary with 2 architectures: [ppc64: Mach-O ppc64 executable] [x86_64: Mach-O 64-bit x86_64 executable]

On my PowerBook G4, clearly neither of those architectures is going to be any help.

Looks like a better choice would be:

/usr/bin/tclsh8.6:    Mach-O universal binary with 2 architectures: [ppc: Mach-O ppc executable] [i386: Mach-O i386 executable]

I'll continue to pursue this myself, in an effort to understand why the 64-bit tclsh8.6 is being selected on what's clearly a 32-bit host; but I'm sure someone familiar with MacPorts internals could get there much more quickly. I can provide more info if needed.

Change History (0)

Note: See TracTickets for help on using tickets.