es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Symlink se hace como gmake en Mac.

Estoy ejecutando un programa (OpenModelica OMEdit 1.18.0~dev-109-ged8ef0a) que requiere gmake para una de sus operaciones. gmake no está instalado en mi Mac (Big Sur 11.5.2), pero make sí lo está. Intenté crear un enlace simbólico para que gmake apunte a make, pero no funciona:

➜  where make         
/usr/bin/make
➜  make -v | HEAD -n 1
GNU Make 3.81
➜  pwd
/opt/openmodelica/bin
➜  sudo ln -s /usr/bin/make /opt/openmodelica/bin/gmake
➜  ls -lh gmake
lrwxr-xr-x  1 root  wheel    13B 13 Dec 09:15 gmake -> /usr/bin/make
➜  /opt/openmodelica/bin/gmake -v
gmake: error: sh -c '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -find gmake 2> /dev/null' failed with exit code 17664: (null) (errno=Invalid argument)
xcode-select: Failed to locate 'gmake', requesting installation of command line developer tools.

Cada vez solicita la instalación de las herramientas de desarrollador de línea de comandos de XCode, las cuales ya he instalado. ¿Por qué parece estar intentando encontrar gmake a pesar de haber creado un enlace al ejecutable de make? (¿Por qué está dando error?) ¿Hay alguna forma de hacer que esto funcione como esperaba o tengo que instalar gmake utilizando brew y luego crear un enlace simbólico a esa versión?

Versión de las herramientas de línea de comandos:

➜ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
package-id: com.apple.pkg.CLTools_Executables
version: 12.5.1.0.1.1623191612
volume: /
location: /
install-time: 1639360537
groups: com.apple.FindSystemFiles.pkg-group

* edición *

Estoy usando zsh 5.8 (x86_64-apple-darwin20.0), no sé si eso influye en el hecho de que el enlace simbólico de gmake a make no funcione correctamente.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que, aunque has creado un enlace simbólico de gmake a make, el programa todavía busca específicamente gmake. Esto puede ser un problema con el programa en sí o con la forma en que está configurado para encontrar gmake.

    Una solución sería instalar gmake utilizando brew y luego crear un enlace simbólico hacia él, como sugeriste. Otra posibilidad es investigar la configuración o documentación del programa para ver si hay alguna forma de configurarlo para usar make en lugar de gmake.

    El tipo de tu shell (zsh) es poco probable que sea un factor en este problema en particular.

Comments are closed.