Я создаю что-то, что устанавливает стек высокого уровня, и для этого мне нужно установить вещи более низкого уровня.
Самый простой способ проверить, установлена ли, скажем, Java, это просто выложить which java
в сценарии оболочки и проверить, может ли он его найти.Теперь я нахожусь в точке, где мне нужно сделать некоторые библиотеки без очевидного двоичного кода - в основном, например, include
изнутри C. libxml.
Я ужасно зеленый для C вВообще, так что для меня это немного сложно.:) В идеале я мог бы просто создать сценарий оболочки, который вызывает небольшое приложение C, которое вызывает #include <xxxx>
, где xxxx
- это библиотека, которую я проверяю на существование.Если он не может его найти, он выдает ошибку.К сожалению, конечно, все, что происходит до компиляции, так что это не так динамично, как хотелось бы.
Я делаю это в системе, в которой, вероятно, ничего не установлено (будь товысокоуровневые менеджеры по языку или пакетам или что там у вас), так что я больше ищу способ сценариев основного сценария оболочки (или, может быть, какие-то хитрые опции gcc для C или командной строки)Или, может быть, просто вручную искать пути включения, которые gcc будет искать в любом случае /usr/local/include
, /usr/include
и т. Д.).Есть мысли?