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)
Change History (10)
Changed 13 years ago by will.pearse@…
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 compile → gperf: C compiler cannot create executables |
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 executables → gperf: 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: | new → closed |
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.
Don't forget to fill in the Port field and to Cc the maintainer of that port.
So the log says:
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:
So let's have a look at the i386 config.log; please attach it. It's inside the directory identified by the command: