Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#43404 closed defect (fixed)

gawk links with mpfr but doesn't declare a dependency on it

Reported by: zulus@… Owned by: Schamschula (Marius Schamschula)
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), cooljeanius (Eric Gallager)
Port: gawk

Description

GMP require MPFR MPFR require GMP so I'm unable to install ImageMagick

Attachments (2)

main.log (23.9 KB) - added by zulus@… 11 years ago.
log from sudo port install mpfr
Portfile-gawk.diff (1.2 KB) - added by Schamschula (Marius Schamschula) 11 years ago.

Download all attachments as: .zip

Change History (9)

Changed 11 years ago by zulus@…

Attachment: main.log added

log from sudo port install mpfr

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

Cc: ryandesign@… added
Owner: changed from macports-tickets@… to mschamschula@…
Port: gawk added; gmp removed
Summary: Circural dependency between gmp and mpfrgawk links with mpfr but doesn't declare a dependency on it

gmp does not require mpfr; gmp has no dependencies at all:

$ port deps gmp
gmp @6.0.0_0 has no dependencies.

The error I see in the log is:

:info:configure dyld: Library not loaded: /opt/local/lib/libmpfr.4.dylib
:info:configure   Referenced from: /opt/local/bin/gawk
:info:configure   Reason: image not found

So gmp, like most other ports with a configure script, uses an awk program. In this case, it detected that you have the gawk port installed, and decided to use that. gawk is linked with mpfr on your system (as I see it is on my system), but the mpfr library is missing.

It turns out that gawk does not declare a dependency on mpfr:

$ port deps gawk
Full Name: gawk @4.1.0_0
Extract Dependencies: xz
Library Dependencies: readline, gettext

This dependency needs to be added, and the revision increased.

comment:2 in reply to:  1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

Replying to ryandesign@…:

It turns out that gawk does not declare a dependency on mpfr:

$ port deps gawk
Full Name: gawk @4.1.0_0
Extract Dependencies: xz
Library Dependencies: readline, gettext

This dependency needs to be added, and the revision increased.

I added the dependency in r119178. A new version of gawk was available, so I updated the port to that version.

You should wait 30 minutes, then run:

sudo port clean gawk gmp mpfr
sudo port selfupdate
sudo port -f deactivate gawk
sudo port -u upgrade gawk

That should take care of it.

comment:3 Changed 11 years ago by neverpanic (Clemens Lang)

Can we instead prevent gawk from linking with gmp and mpfr and avoid the dependency? I really don't think we need arbitrary precision arithmetics in gawk and it adds a dependency a lot of people will have to install.

comment:4 Changed 11 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:5 in reply to:  3 Changed 11 years ago by cooljeanius (Eric Gallager)

Replying to cal@…:

Can we instead prevent gawk from linking with gmp and mpfr and avoid the dependency? I really don't think we need arbitrary precision arithmetics in gawk and it adds a dependency a lot of people will have to install.

How about making it a variant? I agree that since gawk is usually one of the first ports that I install on a new install of MacPorts, I would also prefer that its dependency list be kept short, but only for the first time that I install it. After I have my normal list of ports installed, it might be nice to then be able to experiment with gawk's gmp/mpfr support by installing it with a new variant.

comment:6 Changed 11 years ago by Schamschula (Marius Schamschula)

I agree. So now mpfr (and gmp as dependancy) is an optional variant.

Changed 11 years ago by Schamschula (Marius Schamschula)

Attachment: Portfile-gawk.diff added

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

Note: See TracTickets for help on using tickets.