Gperf 3.0.4_2 - OS Lion - universal binary error?

Ryan Schmidt ryandesign at macports.org
Wed Aug 10 07:53:04 PDT 2011


On Aug 10, 2011, at 09:19, Will Pearse wrote:

> Sorry to bother everyone, but I'm having trouble loading gperf, and would really appreciate some help as I can't update all of my ports until I fix this error!
> 
> When I clean, and then install gperf (having earlier uninstalled it):
> 
> {{{
> sudo port clean gperf
> --->  Cleaning gperf
> lb-wdp08maclap:~ will$ sudo port install gperf
> --->  Fetching archive for gperf
> --->  Attempting to fetch gperf-3.0.4_2.darwin_11.x86_64.tbz2 from http://packages.macports.org/gperf
> --->  Fetching gperf
> --->  Verifying checksum(s) for gperf
> --->  Extracting gperf
> --->  Applying patches to gperf
> --->  Configuring gperf
> --->  Building gperf
> --->  Staging gperf into destroot
> --->  Installing gperf @3.0.4_2
> --->  Activating gperf @3.0.4_2
> --->  Cleaning gperf
> }}}
> 
> All goes well.

Yup, I see gperf was installed successfully (non-universally).


> But then I attempt to update all my ports:
> 
> {{{
> sudo port upgrade outdated
> --->  Computing dependencies for libiconv
> --->  Dependencies to be installed: gperf
> --->  Fetching archive for gperf
> --->  Attempting to fetch gperf-3.0.4_2+universal.darwin_11.i386-x86_64.tbz2 from http://packages.macports.org/gperf
> --->  Fetching gperf
> --->  Verifying checksum(s) for gperf
> --->  Extracting gperf
> --->  Applying patches to gperf
> --->  Configuring gperf
> Error: Target org.macports.configure returned: configure failure: shell command failed (see log for details)
> Error: Failed to install gperf
> Log for gperf is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gperf/gperf/main.log
> Error: The following dependencies were not installed: gperf
> Error: Problem while installing libiconv
> To report a bug, see <http://guide.macports.org/#project.tickets>
> }}}
> 
> ...and ports attempts to install a a universal.darwin variant (I think?).

universal variant, actually. "darwin_11" on that line refers to your operating system version (i.e. Mac OS X Lion).

Looks like you have a universal libiconv installed, and since libiconv requires gperf, you'll need a universal gperf.


> No amount of cleaning, using the force option

The force option is almost never what you want to use. Don't use it unless you understand why you're using it.

> or re-installing would fix this issue, and I don't know how to update all ports bar gperf so I can't upgrade until this is sorted.

Since libiconv depends on gperf, and most ports depend on libiconv eventually, I agree that would be hard to do. So let's get gperf fixed.

> I found a few people with the same problem online, and couldn't find a solution, so I logged this as a bug, and was told (as the bug was closed) that:
> 
>> "You have a partially completed build of gperf. Do what the message says:
>> either continue the build with the same variants it was started with, or
>> clean."

You're referring to this ticket:

https://trac.macports.org/ticket/30668


> I'm very happy to do that, but I've tried cleaning and don't know how to specify the correct variant. How do I specify variants? Googling around found one site, but I didn't have any luck following their instructions.

Specifying variants is easy. For example to install gperf with the universal variant:

sudo port install gperf +universal

If you get the message from the above ticket that the requested variants don't match the original selection, "sudo port clean gperf" first.

The problem is that gperf is failing to build with the +universal variant on your system for some reason. We need to see the complete main.log file from that failed run to be able to figure out why that is. Please file a ticket and attach it.


> PS - I'm on a 2.66 GHz Intel Core 2 Duo MacBook Pro, with XCode 4.1 installed, running OS Lion (OS Lion being a mistake... :p)

I'm sure Lion will be fine in the long run, but at this point in time, many ports are broken on it, until we can sort it all out. So yes, upgrading to Lion now means you'll get to be part of that fun.






More information about the macports-users mailing list