Opened 2 years ago

Closed 2 years ago

#63933 closed defect (fixed)

ipmitool has implicit dependency on wget

Reported by: michael-j-oconnor Owned by: drkp (Dan Ports)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cjones051073 (Chris Jones)
Port: ipmitool

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

ipmitool broke because wget had not yet been built with openssl3

:info:destroot Downloading IANA PEN database...
:info:destroot dyld: Library not loaded: /opt/local/lib/libssl.1.1.dylib
:info:destroot   Referenced from: /opt/local/bin/wget
:info:destroot   Reason: image not found
:info:destroot /bin/sh: line 1: 33384 Abort trap: 6           wget -c -nd -O - "http://www.iana.org/assignments/enterprise-numbers" > tmpfile.$PPID

I think the problem is that ipmitool build relies on wget, but that's not directly expressed as a dependency.

Change History (10)

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

Description: modified (diff)
Owner: set to drkp
Port: ipmitool added
Status: newassigned

It already declares a dependency on curl. Surely one downloading program should be enough... it can't need wget as well...

comment:2 Changed 2 years ago by cjones051073 (Chris Jones)

Whether or not ipmitool should have a build dep on wget or not, the issue here leading to the error above is the fact wget has a non-default ssl variant, that uses openssl, that the OP must be using. This port, because it was a non-default variant, was not detected as a port using openssl and thus was not rev-bumped with the openssl3 switch. I'll check if it works with openssl and commit a bump.

Last edited 2 years ago by cjones051073 (Chris Jones) (previous) (diff)

comment:3 Changed 2 years ago by cjones051073 (Chris Jones)

Configuration script does indeed check for curl and wget, i.e. without having wget installed

checking for wget... no
checking for curl... curl

with it

checking for wget... wget
checking for curl... curl

I guess the question is how does having wget or not affect the build ? If it only changes *how* certain entities are fetched, and not the end result, it can remain an opportunistic dep. The safer option though is to add it..

comment:4 Changed 2 years ago by Chris Jones <jonesc@…>

In 5811fb702337e5981698c94d1aa1989cad5a9040/macports-ports (master):

wget: Update ssl variant to use openssl PG, rev-bump
See: #63933

comment:5 Changed 2 years ago by michael-j-oconnor

I rebuilt wget first, and then ipmitool rebuilt without incident. I figured ipmitool didn't have a proper dependency which is why it built before wget. Thus, this bug.

I have both wget and curl. I'm using the wget gnutls variant for some-odd reason -- don't recall ever specifying that, but this MacPorts installation dates back a decade. Even if I did have the (open)ssl version installed, would it have ended up built before ipmitool?

comment:6 Changed 2 years ago by cjones051073 (Chris Jones)

You must be using the ssl variant, and not the gnutls variant, with wget, as there is no other way it would be linked against libssl.1.1 as the above error shows.

If you do not know why you are using this, try just removing wget and reinstalling it with the current default variants.

Last edited 2 years ago by cjones051073 (Chris Jones) (previous) (diff)

comment:7 Changed 2 years ago by cjones051073 (Chris Jones)

Cc: cjones051073 added

comment:8 Changed 2 years ago by michael-j-oconnor

Ahh... I mixed up the default port variants with what I actually had installed. I don't normally do much with MacPorts until I hit bugs.

I addressed the problem by explicitly building wget before ipmitool. I think the only thing that's left is why wget (regardless of variant) wouldn't have been built before ipmitool, if wget is invoked by ipmitool as part of build.

comment:9 in reply to:  8 Changed 2 years ago by cjones051073 (Chris Jones)

I addressed the problem by explicitly building wget before ipmitool. I think the only thing that's left is why wget (regardless of variant) wouldn't have been built before ipmitool, if wget is invoked by ipmitool as part of build.

That bit is easy. As I said above ipmitool doesn't declare wget as a dependency, so port does not know it is going to be used.

comment:10 Changed 2 years ago by Chris Jones <jonesc@…>

Resolution: fixed
Status: assignedclosed

In b80d6f242d1436fe1e0159985f1d7815033042a0/macports-ports (master):

ipmitool: Add wget as a build dep
Closes: #63933

Note: See TracTickets for help on using tickets.