[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