«создание зависимостей» на Mac выдает ошибку -> «make: lsb_release: команда не найдена»

#macos #makefile #terminal #zsh #gnu-make

#macos #makefile #терминал #zsh #gnu-make

Вопрос:

 $ make dependencies 
  

в моем терминале на Mac выдает

 make: lsb_release: Command not found
  

Вот полное сообщение:

 make: lsb_release: Command not found
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c  /4.2.1
/bin/bash: md5sum: command not found
mldb/ext/tinyxml2//tinyxml2.mk:1: *** hash_command1 didnt set variable g  _-fPIC_-m64_-fno-omit-frame-pointer_-msse3_-msse4.2_-Imldb_-Wall_-Werror_-Wno-sign-compare_-Woverloaded-virtual_-Wno-deprecated-declarations_-Wno-deprecated_-Winit-self_-Wno-unused-but-set-variable_-Wno-psabi_-Wno-unknown-pragmas_-pipe_-ggdb_-std_c  0x_-D_GLIBCXX_USE_NANOSLEEP_1_-D_GLIBCXX_USE_SCHED_YIELD_1_-fno-builtin-malloc_-fno-builtin-calloc_-fno-builtin-realloc_-fno-builtin-free_-o_build/x86_64/obj/mldb/ext/tinyxml2/tinyxml2.cpp.lo_-c_./mldb/ext/tinyxml2/tinyxml2.cpp_-MP_-MMD_-MF_build/x86_64/obj/mldb/ext/tinyxml2/tinyxml2.cpp.d_-MQ_build/x86_64/obj/mldb/ext/tinyxml2/tinyxml2.cpp.lo_-O3_-DBOOST_DISABLE_ASSERTS_-DNDEBUG_hash.  Stop.
  

У меня установлен GNU Make 3.81. Кроме того, я сделал:

 $ xcode-select -p
/Applications/Xcode.app/Contents/Developer


$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c  /4.2.1
Apple LLVM version 7.3.0 (clang-703.0.29)
Target: x86_64-apple-darwin15.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
  

Я нахожусь на Mac OS X. Это может быть связано с zsh, поскольку я установил его не так давно, и я считаю, что все мои инструменты, связанные с xcode, раньше работали просто отлично.

Спасибо за любую помощь или указание, которые могут указать мне правильное направление, чтобы исправить это.

Обновление кода c , который я пытался создать, предназначено для ubuntu 14

Ответ №1:

lsb_release это команда, которая выполняется только в Linux: «LSB» означает «стандартную базу Linux», и это относится к стандартному базовому набору инструментов и библиотек, которые могут поддерживать дистрибутивы Linux.

Ваш makefile не должен вызывать эту команду, поскольку он не переносится в OS X. Я бы сказал, что любой код, который вы пытаетесь создать, не переносится на OS X и будет создаваться только на Linux. Но поскольку вы не предоставили никаких других подробностей, мы не можем сказать наверняка.

Комментарии:

1. Я пытался собрать код, который нашел на github. Я связался с командой, которая ее разработала, и вы правы. Код предназначен для Ubuntu 14.04. Спасибо!