New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #29862 (closed defect: fixed)

Opened 2 years ago

Last modified 13 months ago

gperf +universal fails to install on CoreDuo+OS X 10.6.6

Reported by: james@… Owned by: mcalhoun@…
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc:
Port: gperf

Description

This is an addendum to Ticket #23359, which I found when I ran into the same problem. Ticket #23359 was closed because it couldn't be reproduced, but I think I have.

I was setting up a test system on a USB thumb drive. I performed a virgin install of 10.6, and then updated to 10.6.6 (I deliberately avoided updating to 10.6.7 because of video driver issues).

The system was being set up to run the Kinect and OpenNI software, so I performed the following, in order on 17" MacBook Pro, 2.16 GHz Intel Core Duo:

  • Installed Mac OS X 10.6 (9a581)
  • Installed Mac OS X 10.6.6 delta update
  • Install Xcode 3.2.5 (minimal install, no extra SDKs, no docs).
  • Installed MacPorts 1.9.2 from SnowLeopard install dmg.
  • sudo port selfupdate
  • sudo port install libtool
  • sudo port install libusb-devel +universal

The last command failed when it tried to build gperf with the same error and log messages described in Ticket #23359. The problem is that it was building gperf +universal and the build would fail every time. The native version of gperf builds OK.

I fiddled around with it for the better part of an afternoon, but could never get the +universal varient of gperf to build. I suspect that is was trying to link against a universal library that didn't exist because the Intel Core Duo processor can't run 64-bit binaries, and I think that the OS installer excludes some 64-bit binaries when installing on a Core Duo.

I eventually retrenched, wiped the USB drive, and performed the exact sames steps again, using the same installers, but this time running from a 15" MacBook running a Core 2 Duo (which can run 64-bit). The install and builds ran flawlessly.

Change History

comment:1 Changed 2 years ago by ryandesign@…

  • Cc mcalhoun@… added
  • Status changed from new to closed
  • Resolution set to invalid
  • Port set to gperf

Of course universal i386 x86_64 won't work on a Core Duo since as you already know a Core Duo can't do x86_64. Don't do that.

comment:2 Changed 2 years ago by james@…

  • Status changed from closed to reopened
  • Resolution invalid deleted

I never said it should run in 64-bit, but it should build 64-bit. Every other package that includes the +universal varient builds just fine on a 32-bit system, just as I can compile all of 32-bit code on a 64-bit system (which is what I eventually had to do).

I was building this system to run on multiple computers, so it was important that everything was built +universal. And everything did, except gperf.

comment:3 Changed 2 years ago by ryandesign@…

  • Owner changed from macports-tickets@… to mcalhoun@…
  • Cc mcalhoun@… removed
  • Status changed from reopened to new

comment:4 Changed 13 months ago by jmr@…

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.