Предотвратить установку MacPorts предварительно установленного пакета?
Я пытаюсь установить libiconv с помощью MacPorts. Мне нужно создать его для запуска в OS X 10.5, пока мой Mac работает 10.6. Поэтому я добавил это как macports.conf
:
macosx_deployment_target 10.5
Это якобы заставляет MacPorts строить порт с 10,5 SDK. Однако установленные библиотеки по-прежнему содержат команду LC_DYLD_INFO
load, доступную только в 10.6.
Я переустановил порт с опцией -v и обнаружил, что он загружает и устанавливает готовый пакет без компиляции. Пакет, очевидно, был построен на 10,6 машинах.
Вопрос: как заставить MacPorts построить порт на моей машине с моими настройками? Спасибо.
Изменить: я создаю универсальные двоичные файлы x86/x64 с помощью этой команды:
sudo port -v install libiconv +universal
Ответы
Ответ 1
Как и в MacPorts 2.1.0, в файле конфигурации /opt/local/etc/macports/macports.conf
есть новый параметр buildfromsource
, который управляет использованием предварительно созданных архивов:
# When to build ports from source. Default is 'ifneeded', which downloads an
# archive if available or builds from source otherwise. 'always' has the same
# effect as -s on the command line, and 'never' is likewise the same as -b.
#buildfromsource ifneeded
Ответ 2
Duh! Я смотрел вверх и вниз в течение большей части дня. И сразу после того, как я опубликовал вопрос, я сам это выясню.
Добавьте команду -s
в port
, и она потянет и скомпилирует источник локально:
sudo port -s -v install libiconv +universal