#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. Спасибо!