Opened 10 years ago

Closed 10 years ago

#28892 closed defect (fixed)

gmp @5.0.1 fix for i7 MacBook Pro

Reported by: nils.ohlmeier@… Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc:
Port: gmp

Description

gmp @5.0.1 still fails on configure on a recent MacBook Pro, because config.guess identifies the CPU as i386. The attached patch adds the CPU id of the i7 to the list of know CPU's of gmp's config.guess.

Attachments (4)

patch-config.guess.i7.diff (550 bytes) - added by nils.ohlmeier@… 10 years ago.
Patch which adds i7 CPU id to config.guess
Portfile.patch (334 bytes) - added by nils.ohlmeier@… 10 years ago.
Lame patch of the gpm @5.0.1 Portfile to include the i7 patch
main.log (4.7 KB) - added by nils.ohlmeier@… 10 years ago.
The main.log from the install with universal
config.log (8.2 KB) - added by nils.ohlmeier@… 10 years ago.
The config.log from trying to compile with universal activated

Download all attachments as: .zip

Change History (7)

Changed 10 years ago by nils.ohlmeier@…

Attachment: patch-config.guess.i7.diff added

Patch which adds i7 CPU id to config.guess

Changed 10 years ago by nils.ohlmeier@…

Attachment: Portfile.patch added

Lame patch of the gpm @5.0.1 Portfile to include the i7 patch

comment:1 Changed 10 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to mcalhoun@…

Please remember to cc the maintainer.

There's already code in place that's meant to work around this, so it would be good if we could figure out why it isn't working for you. Please start by attaching the log.

comment:2 Changed 10 years ago by nils.ohlmeier@…

After trying to reproduce the problem it turns out the build fails only if I use the universal variant. So without any special flags the existing patch seems to work, but when I try to compile with universal I get this:

$ sudo port -v build gmp +universal
--->  Fetching gmp
--->  Verifying checksum(s) for gmp
--->  Checksumming gmp-5.0.1.tar.bz2
--->  Extracting gmp
--->  Extracting gmp-5.0.1.tar.bz2
--->  Applying patches to gmp
--->  Applying /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/gmp/files/patch-gmp-h.in.diff
patching file gmp-h.in
--->  Configuring gmp
--->  Configuring gmp for architecture x86_64
checking build system type... i386-apple-darwin10.7.3
checking host system type... i386-apple-darwin10.7.3
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
configure: error: ABI=64 is not among the following valid choices: 32
shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gmp/work/gmp-5.0.1-x86_64" && ./configure --prefix=/opt/local --infodir=/opt/local/share/info --enable-cxx  " returned error 1
Error: Target org.macports.configure returned: configure failure: shell command failed (see log for details)
Warning: the following items did not execute (for gmp): org.macports.build org.macports.configure
Log for gmp is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gmp/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

Changed 10 years ago by nils.ohlmeier@…

Attachment: main.log added

The main.log from the install with universal

Changed 10 years ago by nils.ohlmeier@…

Attachment: config.log added

The config.log from trying to compile with universal activated

comment:3 Changed 10 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: newclosed

Should be fixed in r77717.

The code meant to work around this does not run when universal is set.
Recognizing Sandy Bridge is probably a better fix since it allows more processor dependent code to be used.

Thanks for the patch.

Note: See TracTickets for help on using tickets.