[MacPorts] #43809: port selfupgrade to base v2.3.0 fails on G4
MacPorts
noreply at macports.org
Sat May 24 08:37:09 PDT 2014
#43809: port selfupgrade to base v2.3.0 fails on G4
--------------------------+--------------------------------
Reporter: paulccobb@… | Owner: macports-tickets@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: base | Version: 2.3.0
Resolution: | Keywords:
Port: |
--------------------------+--------------------------------
Old 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.
> }}}
New 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.
--
Comment (by ryandesign@…):
MacPorts does not support Tcl 8.6. Mac OS X 10.4 and 10.5 ship with Tcl
8.4. Mac OS X 10.6, 10.7, 10.8 and 10.9 ship with Tcl 8.5. MacPorts 2.3.0
for the first time includes its own copy of Tcl 8.5, which is what we
intend to use to avoid differences between Tcl versions and insulate
ourselves from a hypothetical future version of OS X in which Apple
upgrades Tcl to 8.6.
It seems you have installed a version of Tcl 8.6 into /usr/bin. That's
probably a bad idea, and you should uninstall it. Possibly it has
overwritten Apple's copy of Tcl 8.4 that was there. If so, you should put
that back by reinstalling your OS and combo updates.
It does seem like a bug that we're trying to use /usr/bin/tclsh8.6-64 (or
any tclsh from /usr/bin) and we should fix that if we can figure out a way
to do so.
--
Ticket URL: <https://trac.macports.org/ticket/43809#comment:1>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list