LINUX.ORG.RU

emerge. Продолжить прерванную компиляцию

 


3

2

Возможно ли продолжить прерванную компиляцию и установку пакета в генте? Краем уха вроде слышал, что можно.

А то в процессе компиляции файерфокса комп чего-то подвис, и пришлось делать хард ресет. Уже было накомпилировано больше 3Гб, жалко терять :)

★★★★★
Ответ на: комментарий от iVS

а сам emerge по-твоему, как компилирует и собирает? Чёрной магией? Тоже ./configure и make install вызывает, но с определёнными параметрами

Harald ★★★★★
() автор топика

Нафлудили то, нафлудили. Осиль ccache, сильно помогает при перекомпиляциях.

Jameson ★★★★★
()
Ответ на: комментарий от iVS

Ты слил, раз не понял главного - так вручную делать нельзя.

Я хочу вручную (точнее полуавтоматически) выполнить те же действия, что делает emerge, чтоб результат не отличался от обычного emerge -av firefox, так понятно?

Harald ★★★★★
() автор топика
Ответ на: комментарий от Harald

Я хочу вручную (точнее полуавтоматически) выполнить те же действия

Э, ну попробуй повтори. Пробуешь повторить вручную действия в ebuild? вот ссылка:
http://gpo.zugaina.org/www-client/firefox

iVS ★★★★★
()
Последнее исправление: iVS (всего исправлений: 1)
Ответ на: комментарий от iVS

я верю в важность и нужность пакетного менеджера и ни в коем случае не собираюсь устанавливать что-то в обход Portage. Но топик совсем не об этом

Harald ★★★★★
() автор топика
Ответ на: комментарий от ubiquitine

что-то

ebuild /usr/portage/www-client/firefox/firefox-19.0.ebuild compile

фейлится

/var/tmp/portage/www-client/firefox-19.0/work/mozilla-release/obj-x86_64-unknown-linux-gnu/_virtualenv/bin/python /var/tmp/portage/www-client/firefox-19.0/work/mozilla-release/config/pythonpath.py -I../../config /var/tmp/portage/www-client/firefox-19.0/work/mozilla-release/config/expandlibs_exec.py --depend .deps/libxpcom.so.pp --target libxpcom.so --uselist --  x86_64-pc-linux-gnu-g++  -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Wtype-limits -Wempty-body -Wno-ctor-dtor-privacy -Wno-overlength-strings -Wno-invalid-offsetof -Wno-variadic-macros -Wcast-align -march=native -pipe -mno-avx -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -std=gnu++0x -pthread -pipe  -DNDEBUG -DTRIMMED -g -Os -freorder-blocks  -fomit-frame-pointer -fPIC -shared -Wl,-z,defs -Wl,--gc-sections -Wl,-h,libxpcom.so -o libxpcom.so  nsXPComStub.o    -lpthread -Wl,-O1 -Wl,--as-needed -Wl,-z,noexecstack   -Wl,-rpath-link,/var/tmp/portage/www-client/firefox-19.0/work/mozilla-release/obj-x86_64-unknown-linux-gnu/dist/bin -Wl,-rpath-link,/usr/lib    -L../../dist/bin -L../../dist/lib ../../dist/lib/libxul.a -Wl,-R/usr/lib64 -L/usr/lib64 -lplds4 -lplc4 -lnspr4 -lpthread -ldl ../../dist/lib/libmozalloc.a   -ldl    
../../dist/lib/libxul.so: file not recognized: File format not recognized
collect2: ld returned 1 exit status
make[5]: *** [libxpcom.so] Error 1
make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-19.0/work/mozilla-release/obj-x86_64-unknown-linux-gnu/xpcom/stub'
make[4]: *** [libs_tier_platform] Error 2
make[4]: Leaving directory `/var/tmp/portage/www-client/firefox-19.0/work/mozilla-release/obj-x86_64-unknown-linux-gnu'
make[3]: *** [tier_platform] Error 2
make[3]: Leaving directory `/var/tmp/portage/www-client/firefox-19.0/work/mozilla-release/obj-x86_64-unknown-linux-gnu'
make[2]: *** [default] Error 2
make[2]: Leaving directory `/var/tmp/portage/www-client/firefox-19.0/work/mozilla-release/obj-x86_64-unknown-linux-gnu'
make[1]: *** [realbuild] Error 2
make[1]: Leaving directory `/var/tmp/portage/www-client/firefox-19.0/work/mozilla-release'
make: *** [build] Error 2
emake failed
 * ERROR: www-client/firefox-19.0 failed (compile phase):
 *   emake failed
 * 
 * Call stack:
 *     ebuild.sh, line  93:  Called src_compile
 *   environment, line 4910:  Called die
 * The specific snippet of code:
 *           CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" MOZ_MAKE_FLAGS="${MAKEOPTS}" emake -f client.mk || die "emake failed";
 * 

use-флаги как оно должно подхватить?

Harald ★★★★★
() автор топика
Ответ на: комментарий от iVS

ccache не продолжит мне компиляцию с прерванного места, он немного ускорит повторную сборку за счёт того, что результаты предыдущей где-то ccache-м сохранились

Harald ★★★★★
() автор топика
Ответ на: комментарий от Harald

Ты слишком упрям, но вот сделаешь ты оставшиеся шаги в Makefile, установить make install. И сломаешь систему, поскольку Portage не имеет никакого представления о файлах, установленных так.

iVS ★★★★★
()
Ответ на: комментарий от Harald

use-флаги на данном этапе уже не важны. Сорцы уже распакованы и сконфигурены в соответствии с ними.

/dist/lib/libxul.so: file not recognized: File format not recognized

Я бы на твоем месте сперва обновил мир и прогнал revdep-rebuild, a потом либо продолжил компилюцию либо на4ал бы все сначала. Еще проверь что у тебя не выставленны какие нибудь «флаги оптимизеции» в make.conf.

ubiquitine
()
Ответ на: комментарий от ubiquitine

я этот файлик /dist/lib/libxul.so просто удалил и запустил команду заново, вроде всё успешно завершилось. Будем считать, что предыдущая сборка сдохла именно на этом файле и он не до конца слинковался

продолжаю эксперимент дальше :)

Harald ★★★★★
() автор топика
Ответ на: комментарий от Harald

всё, ништяк, файерфокс установился, пишу с него :)

ebuild /usr/portage/www-client/firefox/firefox-19.0.ebuild compile

ebuild /usr/portage/www-client/firefox/firefox-19.0.ebuild install

ebuild /usr/portage/www-client/firefox/firefox-19.0.ebuild merge

установили прерванный пакет

emerge --search firefox
Searching...    
[ Results for search key : firefox ]
[ Applications found : 2 ]

*  www-client/firefox
      Latest version available: 19.0
      Latest version installed: 19.0
      Size of files: 97,128 kB
      Homepage:      http://www.mozilla.com/firefox
      Description:   Firefox Web Browser
      License:       MPL-2.0 GPL-2 LGPL-2.1


Harald ★★★★★
() автор топика
Последнее исправление: Harald (всего исправлений: 1)
Ответ на: комментарий от iVS

твой ответ на вопрос

Возможно ли продолжить прерванную компиляцию и установку пакета в генте?

не верен.

x0r ★★★★★
()
Ответ на: комментарий от x0r

твой ответ на вопрос

Возможно ли продолжить прерванную компиляцию и установку пакета в генте?

не верен.

Согласен, вон Harald доказал это на деле. Единственно, после ebuild install, должны идти ebuild qmerge (а не ebuild merge) и потом - ebuild clean. Сознаюсь, не знал, что так можно. Поэтому приношу извинения тем, кого мог обидеть :)

iVS ★★★★★
()
Ответ на: комментарий от iVS

должны идти ebuild qmerge (а не ebuild merge)

можно и ebuild merge - если файлы состояний не удалены - он просто пропустит prepare, configure и т.д. и выполнит недостающее(compile,postinst,qmerge)

Pinkbyte ★★★★★
()
Ответ на: комментарий от Harald


всё, ништяк, файерфокс установился, пишу с него :)

ebuild /usr/portage/www-client/firefox/firefox-19.0.ebuild compile

ebuild /usr/portage/www-client/firefox/firefox-19.0.ebuild install

ebuild /usr/portage/www-client/firefox/firefox-19.0.ebuild merge

установили прерванный пакет

Ну и что, Firefox действительно начал собираться с того момента, где отвалился в прошлый раз? Или сборка началась с самого начала?

blackst0ne ★★★★★
()
Последнее исправление: blackst0ne (всего исправлений: 1)
Ответ на: комментарий от blackst0ne

да, с того момента, где отвалился

Harald ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.