Opened 13 years ago

Closed 13 years ago

#30697 closed defect (invalid)

gperf: C compiler cannot create executables because of libnotify

Reported by: will.pearse@… Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.0.1
Keywords: lion Cc: ryandesign (Ryan Carsten Schmidt), jeremyhu (Jeremy Huddleston Sequoia)
Port: gperf libnotify

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Hello,

Following on from a previous ticket (#30668) which was closed, I contacted the user group list, who told me I should file another ticket with some more information. Here it is.

When I attempt to load gperf on OS Lion:

sudo port uninstall gperf
--->  Deactivating gperf @3.0.4_2
--->  Cleaning gperf
--->  Uninstalling gperf @3.0.4_2
--->  Cleaning gperf
lb-wdp08maclap:~ will$ sudo port clean gperf
--->  Cleaning gperf
lb-wdp08maclap:~ will$ sudo port clean gperf
--->  Cleaning gperf
lb-wdp08maclap:~ will$ sudo port install gperf +universal
--->  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)
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: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

...I get the above issues. I'm on a 2.66 GHz Intel Core 2 Duo MacBook Pro, with XCode 4.1 installed, running OS Lion. I've attached my main.log file.

Thanks for your time and for making MacPorts so useful!

Will

Attachments (3)

main.log (14.9 KB) - added by will.pearse@… 13 years ago.
config.log (3.7 KB) - added by will.pearse@… 13 years ago.
config.2.log (6.1 KB) - added by will.pearse@… 13 years ago.
from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gperf/gperf/work/gperf-3.0.4-i386/lib

Download all attachments as: .zip

Change History (10)

Changed 13 years ago by will.pearse@…

Attachment: main.log added

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

Cc: ryandesign@… added
Description: modified (diff)
Keywords: lion added
Owner: changed from macports-tickets@… to mcalhoun@…
Port: gperf added
Summary: Gperf 3.0.4_2 - OS Lion - universal binary won't compilegperf: C compiler cannot create executables

Don't forget to fill in the Port field and to Cc the maintainer of that port.

So the log says:

error: C compiler cannot create executables

Often this means Xcode is not installed, but that doesn't seem like the correct diagnosis here, because we note that gperf uses the muniversal portgroup, which means it separately handles x86_64 and i386 architectures, and we see that it correctly configured the x86_64 part and is just having trouble with the i386 part. The log also says:

See `config.log' for more details.

So let's have a look at the i386 config.log; please attach it. It's inside the directory identified by the command:

echo $(port work gperf)/*-i386

Changed 13 years ago by will.pearse@…

Attachment: config.log added

comment:2 Changed 13 years ago by will.pearse@…

Hello,

Attached the file; apologies for not filling in the cc details correctly.

Thanks again for your time,

Will

comment:3 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

All that config.log seems to say is:

=== configuring in lib (/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gperf/gperf/work/gperf-3.0.4-i386/lib)
running /bin/sh ./configure '--prefix=/opt/local'  '--infodir=/opt/local/share/info' '--disable-dependency-tracking' --cache-file=/dev/null --srcdir=.
error: ./configure failed for lib

Is there another config.log in /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gperf/gperf/work/gperf-3.0.4-i386/lib? It might tell us the real error.

Changed 13 years ago by will.pearse@…

Attachment: config.2.log added

from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gperf/gperf/work/gperf-3.0.4-i386/lib

comment:4 Changed 13 years ago by will.pearse@…

Hello,

Attached is the second config.log - sorry not to have got back to you all sooner, I was on a work trip without my laptop!

Thanks again for the help,

Will

comment:5 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: jeremyhu@… added
Port: libnotify added
Summary: gperf: C compiler cannot create executablesgperf: C compiler cannot create executables because of libnotify

That config.log says:

configure:2046: checking for C compiler default output file name
configure:2073: /Developer/usr/bin/llvm-gcc-4.2 -pipe -O2 -arch i386 -I/opt/local/include -L/opt/local/lib -arch i386 conftest.c  >&5
ld: in /opt/local/lib/libnotify.dylib, file was built for unsupported file format which is not the architecture being linked (i386) for architecture i386

Aha! This is very interesting... It seems that it's trying to use libnotify. And on your system libnotify is presumably only installed for x86_64, so it can't be used from i386. The thing is, there is no reason why gperf should be trying to use libnotify. Furthermore, you are on Lion, and the libnotify port cannot be installed on Lion; it was disabled because its presence was known to cause build failures in other ports. See r79720. Is it possible that you had installed the libnotify port on Snow Leopard, then upgraded to Lion, then did not uninstall libnotify? Or that you installed libnotify on Lion before r79720 was committed on June 23? Or that you followed the steps listed in the "dangerous workaround" in r79720?

Either way I think the solution will be to uninstall libnotify. If you followed the "dangerous workaround" to get libnotify installed in the first place, you'll have to return to those instructions to see how to properly uninstall it now. Otherwise, if it's just a leftover from Snow Leopard, or Lion before June 23, you can just sudo port uninstall libnotify . Then sudo port clean gperf and try again.

comment:6 Changed 13 years ago by will.pearse@…

Hello,

Sorry for the delay in replying; thank you for the work you've put in! I have indeed updated from Snow Leopard, so that must be the issue.

To get rid of libnotify I had to remove winetricks, then zenity, but it's all working like a charm now! Thanks so much for the effort you've all put in - I'm happily updating on Lion now! It's taking a blooming age, but it's working!

I will happily continue recommending MacPorts to all around me!

Thanks again for all your help and time,

Will

comment:7 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: invalid
Status: newclosed

Glad you got it working. Yes, winetricks uses zenity as a convenience, but since zenity needs libnotify, and libnotify cannot presently be installed on Lion, winetricks on Lion does not use zenity anymore (r81444/r81555). So this is slightly less convenient, but at least it can be used.

Note: See TracTickets for help on using tickets.