Opened 3 years ago

Last modified 3 years ago

#63581 assigned defect

conf2struct does not lock down which perl version it uses

Reported by: pagecp (Christian) Owned by: amake (Aaron Madlon-Kay)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc:
Port: conf2struct

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

sslh cannot build because it depends on conf2struct that depends on p5.26-conf-libconfig that is not available on macports 2.7.1 (Mac OS X 10.14.6)

% port -v install sslh
--->  Computing dependencies for sslh..
Error: Dependency 'p5.26-conf-libconfig' not found.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port sslh failed
% port info sslh
sslh @1.22c (net, security, www)

Description:          sslh lets one accept both HTTPS and SSH connections on the same port. It makes it possible to connect to an SSH server
                      on port 443 (e.g. from inside a corporate firewall) while still serving HTTPS on that port.
Homepage:             http://rutschle.net/tech/sslh/README.html

Build Dependencies:   conf2struct
Library Dependencies: libconfig-hr, pcre
Platforms:            darwin
License:              GPL-2+
Maintainers:          Email: amake@macports.org, GitHub: amake
                      Policy: openmaintainer
% port info conf2struct
conf2struct @1.5 (devel)

Description:          Create C parsers for libconfig and command-line, which get read directly to a `struct`
Homepage:             https://github.com/yrutschle/conf2struct

Library Dependencies: libconfig-hr, p5.26-conf-libconfig
Platforms:            darwin
License:              BSD
Maintainers:          Email: amake@macports.org, GitHub: amake
                      Policy: openmaintainer
% port info  p5.26-conf-libconfig
Error: Port p5.26-conf-libconfig not found

Change History (2)

comment:1 Changed 3 years ago by pagecp (Christian)

Description: modified (diff)
Summary: sslh cannot build because it depends on conf2struct that depends on p5.26-conf-libconfigsslh cannot build because it depends on conf2struct that depends on p5.26-conf-libconfig (port not available)

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

Description: modified (diff)
Owner: set to amake
Port: conf2struct added; sslh removed
Status: newassigned
Summary: sslh cannot build because it depends on conf2struct that depends on p5.26-conf-libconfig (port not available)conf2struct does not lock down which perl version it uses

On my system, conf2struct depends on p5.28-conf-libconfig which does exist.

The conf2struct portfile does not mention a perl version explicitly; it just uses whatever value of perl5.major is exported by the perl5 portgroup. That value is based on the variant of the perl5 port that you have installed, so you have likely installed the perl5 port with the +perl5_26 variant. To fix the problem, reinstall the perl5 port with the +perl5_28 variant. Since that is currently its default variant, you can accomplish this by just running sudo port install perl5. This would probably be a good idea to do anyway since perl 5.26 is old. (Perl 5.28 is old too but it is still the default version used in MacPorts. Once MacPorts moves to a newer default version, the perl5 port should automatically upgrade to that new variant for you when you upgrade ports, now that MacPorts distinguishes between variants you requested explicitly and variants which were merely selected by default.)

In fact the conf2struct port probably should mention a perl version (such as 5.28) specifically since the perl version does get baked into the files that conf2struct installs.

Note: See TracTickets for help on using tickets.