Opened 10 days ago

Last modified 10 days ago

#59599 assigned defect

kubectl-1.16 @1.16.2: dyld: Symbol not found: _unlinkat

Reported by: ryandesign (Ryan Schmidt) Owned by: patarra@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: mavericks mountainlion lion snowleopard leopard tiger Cc: lbschenkel (Leonardo Brondani Schenkel), pedrohdz (Pedro)
Port: kubectl

Description

kubectl-1.16 doesn't build on Mavericks at least:

DEBUG: Executing org.macports.destroot (kubectl-1.16)
xinstall: /opt/local/var/macports/distfiles/kubectl/1.16.2/kubectl -> /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_sysutils_kubectl/kubectl-1.16/work/destroot/opt/local/bin/kubectl1.16
xinstall: mkdir /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_sysutils_kubectl/kubectl-1.16/work/destroot/opt/local/share/kubectl-1.16
xinstall: mkdir /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_sysutils_kubectl/kubectl-1.16/work/destroot/opt/local/share/kubectl-1.16/completion
Error: Failed to destroot kubectl-1.16: dyld: Symbol not found: _unlinkat
  Referenced from: /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_sysutils_kubectl/kubectl-1.16/work/destroot/opt/local/bin/kubectl1.16
  Expected in: flat namespace

DEBUG: Error code: NONE
DEBUG: Backtrace: dyld: Symbol not found: _unlinkat
  Referenced from: /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_sysutils_kubectl/kubectl-1.16/work/destroot/opt/local/bin/kubectl1.16
  Expected in: flat namespace

    while executing
"$procedure $targetname"
Error: See /opt/local/var/macports/logs/_opt_bblocal_var_buildworker_ports_build_ports_sysutils_kubectl/kubectl-1.16/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port kubectl-1.16 failed

Change History (4)

comment:1 Changed 10 days ago by ryandesign (Ryan Schmidt)

Keywords: mavericks mountainlion lion snowleopard leopard tiger added

Same with kubectl-1.15 and kubectl-1.14.

Seems linke unlinkat appeared in OS X 10.10. Builds on 10.10 and later are working.

The legacysupport portgroup could be used to provide an implementation of unlinkat on older systems.

comment:2 Changed 10 days ago by lbschenkel (Leonardo Brondani Schenkel)

We're not building those from source, the binaries are downloaded straight from Google. I considered building from source, but last time I checked it did not look obvious to me, someone who is not well-versed in Go nor its build process. Due to inertia we kept shipping the binary.

I could give it a new shot in the next 1-2 weeks but if that doesn't prove to be trivial, I don't think I'll be able to spend the necessary effort to do it in the short term. I am going to have limited time to dedicate to MacPorts.

comment:3 Changed 10 days ago by ryandesign (Ryan Schmidt)

Ah, I did not know this port installs a binary. This bug demonstrates one of the reasons why we would rather build from source. I can't advise you on go's build process though. We do have a go-1.0 portgroup which is designed to help with that.

comment:4 Changed 10 days ago by lbschenkel (Leonardo Brondani Schenkel)

I get it, I'm not quite happy about it either. I would definitely prefer to build from source. The decision to ship the binary is a pragmatic one, to offer something rather than nothing, but I'm fully aware that we may get caught in situations like this.

Note: See TracTickets for help on using tickets.