Я хотел бы скомпилировать imgcnv , чтобы я мог нарезать изображения для panojs . Направления imgcnv
INSTALL чрезвычайно кратки:
$ pwd
/home/$USER/src/imgcnv
$ ls
build-imgcnv-cygwin.sh INSTALL matlab msvc2010_bimread src_bimread
build-imgcnv-linux.sh libs msvc2008 msvc2010_gobjects src_gobjects
build-imgcnv-macosx.sh libsrc msvc2008_bimread readme.txt testing
changelog.txt LICENCE.txt msvc2008_gobjects scripts
generated Makefile msvc2010 src
$ cat INSTALL
Welcome to imgcnv. A utlity for reading and converting
biological image formats.
1. To install just execute,
$ make install
2. Sit back
qt4-qmake
пакет (или если это недоступно, qt3-dev-tools
пакет). Также установите libbz2-dev
пакет. (Можно установить обоих от командной строки путем выполнения sudo apt-get update
сопровождаемый sudo apt-get install qt4-qmake libbz2-dev
.)imgcnv
установленный в /usr/bin
(который является местоположением по умолчанию), редактирование Makefile
и измените первую строку (который читает prefix=/usr
). Например, если Вы хотите это в /usr/local/bin
, который является нормальным местом для программного обеспечения, Вы создаете и устанавливаете из источника (а не через диспетчер пакетов Ubuntu), заставляете эту строку сказать prefix=/usr/local
. Если Вы хотите установить imgcnv
в Вашем корневом каталоге затем создайте $HOME/bin
если это уже не существует и редактирует Makefile
первая строка, которая будет читать $HOME
.make
.sudo make install
(если Вы не устанавливаете в своем корневом каталоге; затем выполненный make install
).Это работало на меня для создания imgcnv 1.52 на Ubuntu 11.10 Сновещательный Оцелот amd64 (т.е. 64-разрядный) система. Если это не работает на Вас, прокомментируйте с деталями (включая сообщения об ошибках и версию и архитектуру Вашей системы Ubuntu).
Если это не работает на Вас, Вы могли бы попытаться удалить Ваш imgcnv
папка и запускающийся, повторно извлекая архив. Возможно, запущение скрипта вручную, поскольку Вы сделали, испортило что-то, что это предотвратило make
от работы.
Стандартный способ создать программное обеспечение из источника, который имеет хорошие инструкции, что работа должна следовать за ними. К сожалению, это не делает.
Стандартный способ создать программное обеспечение из источника без инструкций (или с нерабочими инструкциями) состоит в том, чтобы видеть, существует ли названный сценарий configure
. Если существует, выполнено ./configure --help
видеть, какие параметры командной строки это берет. Затем запустите скрипт, с любыми опциями подходят для Ваших потребностей. Часто можно работать ./configure
без опций, поскольку значения по умолчанию часто приемлемы. После выполнения ./configure
, Вам можно дать инструкции. Если Вам говорят работать make
, или если Вам не дают инструкции, необходимо затем работать make
.
Если существует нет configure
сценарий (как имеет место здесь), посмотрите, существует ли названный файл Makefile
. Если существует, то выполнено make
. (Когда существует a configure
сценарий, этот сценарий будет часто генерировать Makefile
, или в редком случае может изменить его.) Можно сначала хотеть отредактировать Makefile
настроить опции для создания или установки. Одна цель a configure
сценарий должен представить это ненужное путем создания a Makefile
это настраивается согласно Вашим спецификациям. Одна из обычно специализированных переменных в make-файле prefix
, который управляет, где программное обеспечение будет установлено. (См. "Короткий ответ" выше для определенного примера этого.)
Выполнение ./configure
или make
иногда перестанет работать, говоря Вам, что у Вас нет чего-то, в чем Вы нуждаетесь. Когда, который происходит, необходимо установить ту вещь. Когда я работал make
, все, казалось, подходило, пока это в конечном счете не перестало работать потому что qmake
команда не присутствовала в моей системе. С тех пор qmake
команда, я пытался выполнить ее вручную, который дал мне подробное сообщение, говоря мне, у меня не было ее (который я уже знал), и какие пакеты я мог установить для получения ее. Затем я установил один из тех пакетов (qt4-qmake
) и работал make
снова. (Если бы это была библиотека или заголовочные файлы, то я, возможно, должен был искать по http://packages.ubuntu.com для наблюдения то, что обеспечивает его.)
Выполнение make
снова будет часто мочь взять, где это кончило (или даже если не, то от где-нибудь позже, чем начало). Некоторое программное обеспечение - включая imgcnv - может занять некоторое время для создания, таким образом, это - хорошая идея попытаться взять, где Вы кончили. Иногда это вызывает проблемы, хотя, поэтому если Вы работаете make
снова и это перестало работать, можно работать make distclean
для возвращения вещей пути, они были перед выполнением make
, затем выполненный make
. (Если make distclean
не работает, работать make clean
.)
Иногда исходное распределение имеет сценарии сборки, как build-imgcnv-linux.sh
в imgcnv. Если существует и сценарии сборки и a Makefile
, и документация не говорит Вам запускать скрипт сборки вручную, желательно попытаться работать make
во-первых, особенно если инструкции говорят Вам работать make install
. В правильно настроенном исходном распределении, которое имеет a Makefile
, выполнение make install
сделал бы то же самое как выполнение make
сопровождаемый make install
(т.е. это видело бы, что программное обеспечение еще не было создано, и это создаст его прежде, чем попытаться установить его). Но иногда который не работает, таким образом необходимо работать make
сначала.
Желательно работать make
прежде make install
так или иначе, даже если Вы знаете выполнение make install
отдельно заботился бы о make
ступите автоматически. Существует три причины этого:
Если что-нибудь происходит во время make
шаг, который вызывает Вас предупреждение (даже если это не ошибка), Вы не устанавливаете программное обеспечение, которое не могло бы быть создано путем, Вы хотите это. Например, могли быть предупреждения, сообщив Вам о потенциальных проблемах.
Это не относится imgcnv
. Но много исходных дистрибутивов идут с testsuites, чтобы видеть, будет ли созданная программа, вероятно, работать правильно. Можно создать и выполнить их с также make check
или make test
. (Если в документации ничто не говорится о них, я рекомендую пробовать те команды в том порядке.) Они не становятся выполненными автоматически путем выполнения make install
, и в то время как Вы смогли просто работать make check
или make test
без выполнения make
во-первых, это - нежелательный, потому что не могло бы быть ясно, произошла ли ошибка при создании программного обеспечения или при создании/выполнении testsuite (который является важной информацией для поиска и устранения неисправностей проблемы).
Если Вы устанавливаете программное обеспечение для целой системы (а не просто Ваш пользователь), который является почти всегда конфигурацией по умолчанию, то make install
потребности, которые будут выполнены как root
. На Ubuntu надлежащий способ сделать это путем выполнения sudo make install
вместо make install
. Но Вы не должны на самом деле создавать программное обеспечение как root
, таким образом, можно создать программное обеспечение как сами с make
и затем установите его как root
с sudo make install
.
Если Вы уверены, что хотите и создать и установить (из какого вида страшных предупреждений выходят создающий), и make install
не работает, можно использовать идиому make && make install
. Это также обращается root
/non-root
проблема, поскольку можно работать make && sudo make install
. &&
оператор, используемый таким образом, заставляет команду направо от него работать, только если команда слева от него, кажется, успешно выполнилась.
(Я намеренно не учел обсуждение того, как создать программное обеспечение, которое требует, чтобы пользователь вызвал autoconf
, automake
, и/или autogen.sh
сценарий, поскольку исходный код стабильных версий очень редко требует этого. Однако, если бы кто-то хочет отредактировать это сообщение добавить инструкции, касающиеся тех ситуаций, менее чем третьей тематической рубрики, у меня не было бы возражения.)