0 votos

tar está dando un error de símbolo en un bash install script?

He estado tratando de instalar meteor y como parte del proceso de instalación descarga nodo de un archivo tar que tuberías a tar. Pero el comando tar extracto es un error con un símbolo que falta?

Utilicé homebrew para brew install gnu-tar --with-default-names

NODE_URL="https://nodejs.org/dist/v8.1.3/node-v8.1.3-darwin-x64.tar.gz" 
curl "${NODE_URL}" | tar zx --strip-components 1 

Devolveré esto:

lazy symbol binding failed: Symbol not found:
_utimensat   
Referenced from: /usr/local/bin/tar    
Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: 
_utimensat   
Referenced from: /usr/local/bin/tar   
Expected in: /usr/lib/libSystem.B.dylib

1voto

dinesh Puntos 389

En tu ejemplo estás usando curl bsd/MacOS con gnu tar, eso no funcionará. Desafortunadamente muchos programas de desarrollo se basan en el bash de apple y tratar de actualizar las cosas a gnu puede romper bash scripts.

brew ni siquiera te deja instalar curl "nativamente"

brew install curl
==> Downloading https://homebrew.bintray.com/bottles/curl-7.54.1.sierra.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

para solucionar su problema con el bash script querrá cambiar el nombre de gnu-tar de tar a gtar, lo siguiente hará el truco

brew uninstall gnu-tar
brew install gnu-tar

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X