Opened 10 years ago

Closed 9 years ago

#29862 closed defect (fixed)

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

Reported by: james@… Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc:
Port: gperf


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 (4)

comment:1 Changed 10 years ago by ryandesign (Ryan Schmidt)

Cc: mcalhoun@… added
Port: gperf added
Resolution: invalid
Status: newclosed

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 10 years ago by james@…

Resolution: invalid
Status: closedreopened

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 10 years ago by ryandesign (Ryan Schmidt)

Cc: mcalhoun@… removed
Owner: changed from macports-tickets@… to mcalhoun@…
Status: reopenednew

comment:4 Changed 9 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.