Название: Заблудился с джунглях скриптов Отправлено: Igors от Сентябрь 30, 2014, 10:44 Добрый день
Xcode на фазе "Run custom shell script" выдает такую бяку (километровые пути заменил для простоты) Цитировать mkdir -p <dir_name> ; ispc -I <dir_name> -I <dir_name> -I <dir_name> --arch=x86-64 --pic -O3 --target=sse2,sse4,avx,avx2 --woff --opt=fast-math -h <file_name> -MMM <file_name> -o <file_name> <file_name> ; Прочитал ReadMe, там сказано что надо ставить ispc. Хорошо, поставил и прописал путь в $PATH перманентно. Этот путь виден если печатать $PATH. Также если я в терминале наберу ispc - он запускается. Но не из скрипта. Делаю copy/paste текста выше в терминал, запускаю - неск секунд молчит и выходит на bash, никаких ошибок не выдает и в рез-те появляются новые файлы - ну наверное работает. /bin/sh: ispc: command not found Ладно, делаю алиас на ispc и помещаю его в /usr/bin. Теперь скрипт видит его но вякает Цитировать Permission denied Хотя из Finder'а алиас прекрасно стартуетВзял текст исходного скрипта, но там безнадюга, запускается CMake, он создает файлы с именами типа Script-2BEEB6D13E7744B089616EA6.sh, а они уже исполняются. То ли CMake "обрезал" path, то ли есть какие-то др правила path что мне неизвестны. Как разрулить такую ситуевину, и почему она возникает? Спасибо Название: Re: Заблудился с джунглях скриптов Отправлено: kambala от Сентябрь 30, 2014, 14:15 Цитировать Хорошо, поставил и прописал путь в $PATH перманентно. Этот путь виден если печатать $PATH. в каком месте это прописано? надо в ~/.bash_profile (текстовый файл)Цитировать Permission denied можно попробовать chmod +x <файл> (ну или руками в свойствах файла выставить разрешение на запуск всем)Название: Re: Заблудился с джунглях скриптов Отправлено: Igors от Сентябрь 30, 2014, 14:52 в каком месте это прописано? надо в ~/.bash_profile (текстовый файл) Да, там. Немного подразобрался: Xcode (когда запускает скрипт) юзает свой path, его можно посмотреть включив "Show Environment variables in Build Log" в опциях скрипта. Конечно там нет того пути что я прописал для терминала. Следующие 3 часа были посвящены нагугливанию как же изменить "тот" path - ну пока безуспешноможно попробовать chmod +x <файл> (ну или руками в свойствах файла выставить разрешение на запуск всем) Пробовал, так говорит "cannot execure binary file", наверное это правильно т.к. алиас сам по себе не исполняемый, его надо резолвить.В конце-концов скопировал сам файл ispc в /usr/bin - и вроде захавал, но ведь так делать нехорошо, приложение может требовать файло в своем фолдере. Сейчас отдохну, буду дальше "собирать" :'( Название: Re: Заблудился с джунглях скриптов Отправлено: Alex Custov от Сентябрь 30, 2014, 17:47 в каком месте это прописано? надо в ~/.bash_profile (текстовый файл) .bash_profile - это для интерактивного bash шелла, а скрипт выполняется наверняка в каком-то другом маленьком шелле типа dash, либо в самом bash но в режиме POSIX-совместимости, в таком случае должна помочь установка PATH не в .bash_profile, а в .bashrc . Но думаю, что по хорошему нужно искать где поменять PATH как это принято в Макоси. Название: Re: Заблудился с джунглях скриптов Отправлено: kambala от Сентябрь 30, 2014, 19:48 как раз недавно гуглил этот вопрос (для терминала правда, а не для Xcode) — рекомендовали прописывать именно в .bash_profile. возможно после изменения этого файла надо перезапустить Xcode.
Название: Re: Заблудился с джунглях скриптов Отправлено: Old от Сентябрь 30, 2014, 19:50 возможно после изменения этого файла надо перезапустить Xcode. Скорее всего перелогиниться.Название: Re: Заблудился с джунглях скриптов Отправлено: kambala от Сентябрь 30, 2014, 19:52 только что проверил — таки не читает он .bash_profile. тогда решением будет в Run Script Phase первой строкой написать
Код
Название: Re: Заблудился с джунглях скриптов Отправлено: Alex Custov от Сентябрь 30, 2014, 19:59 как раз недавно гуглил этот вопрос (для терминала правда, а не для Xcode) — рекомендовали прописывать именно в .bash_profile. Ну да, .bash_profile используется для интерактивного bash шелла, XCode о .bash_profile вообще ничего не знает. PATH унаследуется только если запускать XCode из bash (и только если XCode сам себе не меняет environment). Название: Re: Заблудился с джунглях скриптов Отправлено: kambala от Сентябрь 30, 2014, 20:01 http://stackoverflow.com/a/25578150 какое-то решение
и вот еще: http://blog.manbolo.com/2012/04/25/xcode-4-vs-me-running-custom-scripts-after-build (раздел The hard way), хотя по ссылке выше пишут, что вроде не работает этот способ PATH Xcode'a такой:<куча его путей>:/usr/bin:/bin:/usr/sbin:/sbin Название: Re: Заблудился с джунглях скриптов Отправлено: Igors от Октябрь 05, 2014, 10:29 Извиняюсь что "пропал", со вторника не было света (все стреляют, никак не уймутся)
только что проверил — таки не читает он .bash_profile. тогда решением будет в Run Script Phase первой строкой написать Пробовал вбить это первым скриптом Xcode, не понимает, показывает тот же "свой" path Код
PATH Xcode'a такой:<куча его путей>:/usr/bin:/bin:/usr/sbin:/sbin Да, этот, "куча" - внутренние пути Xcode (Content)Ладно, попробую продвинуться дальше, сейчас он запускает ispc, но потом не видит .a файла (разбираюсь) Название: Re: Заблудился с джунглях скриптов Отправлено: kambala от Октябрь 05, 2014, 15:19 > Извиняюсь что "пропал", со вторника не было света (все стреляют, никак не уймутся)
вряд ли это скоро закончится, лучше перебираться с востока > Пробовал вбить это первым скриптом Xcode, не понимает, показывает тот же "свой" path не отдельным скриптом, а строчкой выше запуска команды Название: Re: Заблудился с джунглях скриптов Отправлено: Igors от Октябрь 06, 2014, 13:33 В конце-концов прорвался, все "собралось", и я получил все проекты в Xcode!!!!! Помимо заморочки с путем было еще 2
1) Xcode не создает статик либу если нет компилируемых исходников (хотя объектные файлы в проект подключены). Добавил пустой cpp и Build Phase 2) ispc получал не тот ключ (X86-64, а надо X86). Надо в ccmake включить advanced (t) и там указать i386 (по умолчанию в этом поле пусто) Ну вот, всего 3 дня - и "разобрался". Дней правда жалко :'( |