Перейти к содержимому

Make j4 что это

  • автор:

Как указать параметры сборки программы linux?

на вопрос дан вполне конкретный и (надеюсь) верный ответ. по-моему, его сто́ит его открыть — возможно кто-то даст более полный и более правильный ответ.

24 сен 2015 в 10:22

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

писать makefile для этого не надо.

можно программе make передать необходимые опции и параметры:

$ make -j4 V=1 
  • опция -jn — сборка в несколько потоков, n должно быть в два раза больше количества процессоров: для двухпроцессорной машины — -j4 . опции относятся к самой программе make и подробности можно прочитать, например, с помощью команды man make .
  • параметр V=1 — подробный (verbose) вывод информации. параметр относится непосредственно к makefile и про поддерживаемые параметры для сборки программы linux можно прочитать, например, с помощью команды make help (запущенной в корне каталога с исходниками), или здесь.

Отслеживать
ответ дан 24 сен 2015 в 7:36
aleksandr barakin aleksandr barakin
68k 218 218 золотых знаков 79 79 серебряных знаков 221 221 бронзовый знак

Может также использовать алиас для make вида alias make=’make -j4 V=1′ ? @Stein_, похожий вопрос был задан здесь stackoverflow.com/questions/2527496/… и здесь stackoverflow.com/questions/4778389/…. Возможно вам будут интересны ответы.

24 сен 2015 в 12:23

@zombic, так напишите ещё один ответ на основе упомянутых вами вопросов (не просто ссылки, а «на основе»: ну, хотя бы перевод). здесь такой подход только приветствуется.

24 сен 2015 в 12:29
Я как раз думал, что не стоит плодить двойников.
24 сен 2015 в 12:41

@zombic, двойников, слово-в-слово, конечно, не стоит делать. но по приведённым ссылкам ведь есть много чего полезного.

24 сен 2015 в 12:45
Wow! Не знал, что для make help сделали специальный файл в документации.
26 авг 2016 в 17:32

Предлагаю разные возможные варианты:

1. Можно использовать такой код

MAKEFLAGS += -rR --no-print-directory NPROCS := 1 OS := $(shell uname) export NPROCS ifeq ($J,) ifeq ($(OS),Linux) NPROCS := $(shell grep -c ^processor /proc/cpuinfo) else ifeq ($(OS),Darwin) NPROCS := $(shell system_profiler | awk '/Number of CPUs/ ') endif # $(OS) else NPROCS := $J endif # $J all: @echo "running $(NPROCS) jobs. " @$(MAKE) -j$(NPROCS) -f Makefile.goals $@ %: @echo "building in $(NPROCS) jobs. " @$(MAKE) -j$(NPROCS) -f Makefile.goals $@ 
MAKEFLAGS += -rR --no-print-directory NPROCS ?= 1 all: subgoal @echo "$(MAKELEVEL) nprocs = $(NPROCS)" subgoal: @echo "$(MAKELEVEL) subgoal" 

Но! make придётся запускать в виде make -f Makefile.goals

2. В начале Makefile добавить строку

MAKEFLAGS+=»-j -l $(shell grep -c ^processor /proc/cpuinfo) «

3. Использование алиаса для запуска make

alias make=’make -j4 V=1′

или более автоматизированного варианта — запись из ~/.bashrc :

# parallel make export NUMCPUS=`grep -c '^processor' /proc/cpuinfo` alias make='make -j$NUMCPUS -V=1 --load-average=$NUMCPUS' 

Также просмотрите варианты ответов на похожие вопросы здесь и здесь.

Прошу рассматривать написанное лишь как возможное решение и поправить, если где-то в коде есть неточности.

openoffice MAKEOPT=-j4

Ленты новостей

Сборка оффиса идет только в один поток. При этом MAKEOPT=-j4 в /etc/make.conf игнорируется.
На форуме я нашел мнение, что сборка оффиса в несколько потоков проходит с ошибками.
Я так и не смог придумать пирчины такого эфекта. Поэтому очень хотел бы увидеть это своими глазами.
Кроме того, для оффиса, сборка в несколько потоков особо актуальна.

Подскажите пожайлуста: как собрать оффис несколькими потоками.

ewarn » Also if you

Автор krigstask, дата создания 14 ноября, 2009 — 15:08.

ewarn " Also if you experience a build break, please make sure to retry " ewarn " with MAKEOPTS="-j1" before filing a bug. "

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Ну и что? По аглицкий и я

Автор xen740, дата создания 14 ноября, 2009 — 15:36.

Ну и что? По аглицкий и я умею читать. Сам то ты офис собирал или тебя бинарники устроили? Если собирал, то какой MAKEOPTS у тебя был, и солько g++ работало одновременно?

Автор Agressor, дата создания 14 ноября, 2009 — 16:03.

Я собирал с -j5
Все прекрасно собирается в несколько потоков.
g++ работало одновременно 4-5 штук.

Очень интересно, но, если я

Автор xen740, дата создания 14 ноября, 2009 — 16:51.

Очень интересно, но, если я Вас правильно понял, Вы тоже совершенно не в курсе этого вопроса?

Мне наплевать, правильно я

Автор krigstask, дата создания 14 ноября, 2009 — 16:57.

Мне наплевать, правильно я Вас понял или нет, но если Вы не перестанете хамить всем подряд, я приму меры.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Пожалуйста приведите пример

Автор xen740, дата создания 14 ноября, 2009 — 17:01.

Пожалуйста приведите пример хамства с моей стороны

Самый яркий:

Автор krigstask, дата создания 14 ноября, 2009 — 17:02.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Тогда прошу прощения а юзер

Автор xen740, дата создания 14 ноября, 2009 — 17:16.

Тогда прошу прощения
а юзер patamooshta имет осбый статус и может хамить кагда захочет и кому захоче?

Нет, но он, в общем-то, и не

Автор krigstask, дата создания 14 ноября, 2009 — 17:33.

Нет, но он, в общем-то, и не хамит.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Тогда и я не хамил

Автор xen740, дата создания 14 ноября, 2009 — 17:39.

Тогда и я не хамил

Это уж как-нибудь оставьте

Автор krigstask, дата создания 14 ноября, 2009 — 17:40.

Это уж как-нибудь оставьте решать модераторам. Предупреждение вынесено, вопрос закрыт.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Скажите хоть когда и какую

Автор xen740, дата создания 14 ноября, 2009 — 16:59.

Скажите хоть когда и какую версию openoffice Вы собирали?
Использовали особые USE флаги?
make.conf можно поросить?

xen740 написал(а): Очень

Автор Agressor, дата создания 14 ноября, 2009 — 17:23.
xen740 написал(а):

Очень интересно, но, если я Вас правильно понял, Вы тоже совершенно не в курсе этого вопроса?

Мне не надо быть в курсе этого вопроса — у меня ОО 3.1.1 собирается в 5 (да ПЯТЬ) потоков. Времени на это уходит около
одного часа 15 мин.
Никаких «особых» USE флагов (и причем они кстати?) не использую.
Почему у вас этого не происходит — я не знаю, так как никаких данных вы не предоставили.

Насколько я понял USE флаги

Автор xen740, дата создания 14 ноября, 2009 — 17:37.

Насколько я понял USE флаги основной способ управления компиляцией в GENTOO.
Раз не в курсе знчит не в курсе, честное слова я несобирался над Вами учинять
никакого насилия :)))
Но тогда непонятно зачем вы пишите?
Просто по общаться со мной захотелось? :))))

xen740 написал(а): Насколько

Автор slepnoga, дата создания 14 ноября, 2009 — 17:49.
xen740 написал(а):

Насколько я понял USE флаги основной способ управления компиляцией в GENTOO.

В цитатник, однозначно 🙂
use флаги — основной способ управления __зависимостями/возможностями__ собираемого софта.К компиляции как таковой имеют очень опосредованное отношение.

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD — 70 kg,210 FLOPS 😉

Автор Agressor, дата создания 14 ноября, 2009 — 17:50.

Ну. пообщаться с вами тоже можно 🙂
У вас в make.conf так же написано как в первом посте?
MAKEOPT=-j4
Есл да, то напишите правильно
MAKEOPTS=»-j4″
и наступит вам счастье 🙂

Нет уменя написано MAKEOPTS=

Автор xen740, дата создания 14 ноября, 2009 — 18:34.

Нет уменя написано MAKEOPTS= —jobs 4

Кавычки лишними не будут.

Автор krigstask, дата создания 14 ноября, 2009 — 19:03.

Кавычки лишними не будут.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

xen740 написал(а): Нет уменя

Автор evadim, дата создания 14 ноября, 2009 — 21:09.
xen740 написал(а):

Нет уменя написано MAKEOPTS= —jobs 4

один я думаю что —jobs 4 неотносится к опциям make, а скорее к emerge ?

Автор patamooshta, дата создания 14 ноября, 2009 — 22:10.

я ему говорил, что у него отломан MAKEOPTS,
но он утверждает, что у него всё работает.

Это подпись, которую невозможно истолковать неправильно

Это потому что ты хамишь (-;Е

Автор krigstask, дата создания 14 ноября, 2009 — 23:00.

Это потому что ты хамишь (-;Е

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

От тебя не ожидал

Автор slepnoga, дата создания 14 ноября, 2009 — 23:25.

От тебя не ожидал телепатии:

-j [jobs], --jobs[=jobs] Specifies the number of jobs (commands) to run simultaneously. If there is more than one -j option, the last one is effective. If the -j option is given without an argument, make will not limit the number of jobs that can run simultaneously.

Это же гнутая утиль — ежли есть короткие , то есть и длинные обычно

П.С:Да, я тоже привык к по хендбуку.

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD — 70 kg,210 FLOPS 😉

ну, тогда его подвели

Автор evadim, дата создания 14 ноября, 2009 — 23:27.

ну, тогда его подвели кавычки.

У меня в make.conf кавычки на

Автор xen740, дата создания 14 ноября, 2009 — 23:50.

У меня в make.conf кавычки на месте
если бы и небыло могла быть другая проблемма
—jobs был бы без параметра это вызвало бы неограниченный рост процессов что подвесило бы комп и возможно
убило бы компиляцию на другом пакете на пакете boost я это наблюдал причем ядро компилюруется нормально
и плоско сишние пакеты тоже
я компилировал другие пакете и видел несколько компилирующих процесов

да

Автор a_v, дата создания 15 ноября, 2009 — 01:49.
Автор patamooshta, дата создания 14 ноября, 2009 — 16:16.

Представители «Усиленных параллельщиков», самого радикального крыла Любителей Сборки Пакетов Из Исходных Кодов, в порыве собирать так, как диктует им вера, готовы идти против воли авторов пакета.

Сама формулировка задачи «как собрать оффис несколькими потоками» предполагает, что ОО у топикстартера собирается, но ему этого мало!

Я — нормальный гентушник, веру представителей радикального крыла не одобряю.

Сам я собирал OO с MAKEOPTS=»-j4″ но мне в голову не пришло СЛЕДИТЬ, «сколько g++ работало одновременно»

Это подпись, которую невозможно истолковать неправильно

Если ума нет вообразить

Автор xen740, дата создания 14 ноября, 2009 — 16:46.

Если ума нет вообразить другие причины кроме «религиозных» то сиди и молчи. И не делай мне нервы.

Автор patamooshta, дата создания 14 ноября, 2009 — 18:09.

Прошу прощения, но только пост Agressor -а натолкнул на мысль, что у вас отломан MAKEOPTS
До этого ваш пост создавал впечатление, что у вас MAKEOPTS работает, а вам именно ОО приспичило собрать в несколько потоков.
Так что я, возможно, был в какой-то мере действительно неправ.
А Agressor -у +1 за внимательность

Это подпись, которую невозможно истолковать неправильно

MAKEOPTS работает на других

Автор xen740, дата создания 14 ноября, 2009 — 18:43.

MAKEOPTS работает на других пакетах я наблюдал множество потоков сборки спомщью комады ps -A

xen740 написал(а): Сборка

Автор slepnoga, дата создания 14 ноября, 2009 — 18:01.
xen740 написал(а):

Сборка оффиса идет только в один поток. При этом MAKEOPT=-j4 в /etc/make.conf игнорируется.
На форуме я нашел мнение, что сборка оффиса в несколько потоков проходит с ошибками.
Я так и не смог придумать пирчины такого эфекта. Поэтому очень хотел бы увидеть это своими глазами.

Подскажите пожайлуста: как собрать оффис несколькими потоками.

Если не доверяeте девам Гентоо и хотите граблями по лбу — напишите свой ебилд для ОО. Я его с удовольствием потестирую :-D.

«Я так и не смог придумать пирчины такого эфекта.» Я тоже не любитель писать правильно, потому юзаю спеллчекер.
А до причины — сборка в несколько потоков не может собирать не в том порядке , что нужен для линковки

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD — 70 kg,210 FLOPS 😉

Цитата: А до причины —

Автор xen740, дата создания 14 ноября, 2009 — 23:29.

А до причины — сборка в несколько потоков не может собирать не в том порядке , что нужен для линковки

Дорогой slepnoga, если бы Вы больше размышляли а не выискивали ошибки орфографические в моем тексте, то Вы бы неприменно догадались, что make не запустит линковку до тех пор, пока не будут получены все модули для нее нобходимые. Кроме того,
Дорогой slepnoga, непрменно бы вспомнил, что много веков прошло с тех пор, как зависимости в Makefile перестали писать руками.
Так что вопос о причине по сложней будет. И меня безмерно огорчает, что Вас этот вопрос не только не интересует, но и раздражает. Где ваш дух исследователя? Для чего Вы вообще занимаетесь Gentoo?

У меня остался большой вопрос к Agressor-у. Ваши слова расходятся со словами slepnoga. Он сказал, что девы генту не благословляют компиляцию офффффиса в несколько потоков. А у Вас без специальных усилий (ПЯТЬ) подчеркиваю (ПЯТЬ) потоков. Вы, извините, либо врете, либо не понимаете, что творите. Возможно вы как-то случайно вкючили компиляцию offica в несколько потоков, а теперь не понимаете как это произошло?

Особо к patamooshta, я искренне сожалею о своей грубости. Но я не ожидал такого потока ничем не мотиврованног хамства и сорвался.

Объясню почему я считаю Ваши слова хамскими. Во-первых, вы с ходу выдаете человеку некоторую уничижительную оценку ни на чем не обоснованную. Во-вторых, Ваши слова не имеют никакго отношения к теме вопроса. Вы высказали некий идеологизм, отношение которого к реальности весма сомнительно. Высказали этот идеологизм весма надменнным менторским тоном. В-третьих, это самое главное содержимое этого идеолгизма не совместимо с образом человека мыслящего творчески сремящегося понять Истину. Таким образом одной, фразой Вы позиционировали себя, как моего злейшего, непремиримейшего врага. Мои нервишки не выдержали и я сорвался. В дальнещем я подумал, что
не все так плохо. Просто у вас большой талант к гуманитарным наукам там к истории,философии,политологи. Там действительно существуют правые и левые, опозиция, радикалы и т.д. А тут их нет. Когда мне был нужен офис я просто поставил его из бинарников. А теперь мне нужна компиляция в несколько потоков именно офиса. Вот и все. А что до вас, мне непонятно зачем вы заниметесь Gentoo. Знамлись бы историеей, философией, политологией, граматикой страной руководили бы на худой конец что ли. Для чего Вам грязные технические форумы,
на которых обсуждаются темы в которых вы ничего не смыслите?

В завершении вопль души:

evadim капс вытерт, в следующий раз следим за эмоциями.

Gentoo люди ставят для разных

Автор evadim, дата создания 15 ноября, 2009 — 00:00.

Gentoo люди ставят для разных целей, она им соответствует.
Openoffice — огромная куча кода, которая через раз собирается, и в ебилде ейном фильтруют некоторые флаги, а бывает и в его make-файлах. И независимо от логики бывает такая штука что он собирается только в один поток, про это и пишут каментарии разработчики.

P.S. Поток немотивированного хамства начался с топикстартера

xen740 написал(а):Цитата:

Автор slepnoga, дата создания 15 ноября, 2009 — 00:39.

Дорогой slepnoga, если бы Вы больше размышляли а не выискивали ошибки орфографические в моем тексте, то Вы бы неприменно догадались, что make не запустит линковку до тех пор, пока не будут получены все модули для нее нобходимые. Кроме того,
Дорогой slepnoga, непрменно бы вспомнил, что много веков прошло с тех пор, как зависимости в Makefile перестали писать руками.

Глубокоуважаемый товарисчь топикстартер.
Добро пожаловать в реальный мир глюков и багов. Если бы все было так, как вы этого хотите , мы бы уже 19 лет жили бы при коммунизме 🙂
Собрлаговолите для начала пройти к дереву /usr/portage с repoman`ом наперевес: реальность Вас сильно разочарует.

Технические подробности: линковка имелась ввиду внутренняя. Т.е, если есть прямая зависимостсь A->B->C->. ->(n), где [A. ]
еденица компиляции, то можно задавать сколько угодно много —jobs,работать будет только 1.
если [A. ] не есденица компиляции, а еденица сборки, то получаем знакомую картину :), для исправления которой ,имхо, прийдется переделать сорцы.

И меня безмерно огорчает, что Вас этот вопрос не только не интересует, но и раздражает. Где ваш дух исследователя? Для чего Вы вообще занимаетесь Gentoo?

ДА,меня этот вопрос уже не интересует,ибо это то , что я не в силах изменить.
Мой дух исследователя.. Почему вы решили , что я что то исследую :). Я зарабатываю баблосы,мани,науду, вобчщем занимаюсь тем, что ,как мне кажется, я умею.
Для чего Вы вообще занимаетесь Gentoo? — Посмотрите мою подпись , как эту , так и прошлую.ИМХО, я выразил своё отношение.
http://code.google.com/p/slepnoga/ (tnx. MarSoft); http://code.google.com/p/rion-overlay/
Лучше делать, чем говорить.

У меня остался большой вопрос к Agressor-у. Ваши слова расходятся со словами slepnoga. Он сказал, что девы генту не благословляют компиляцию офффффиса в несколько потоков. А у Вас без специальных усилий (ПЯТЬ) подчеркиваю (ПЯТЬ) потоков. Вы, извините, либо врете, либо не понимаете, что творите. Возможно вы как-то случайно вкючили компиляцию offica в несколько потоков, а теперь не понимаете как это произошло?

Agressor может и сам ответить, я лишь замечу, что благословляют не значит запрещают. И это в данный момент зависит от версии офиса и ебилда.

Особо к patamooshta, я искренне сожалею о своей грубости. Но я не ожидал такого потока ничем не мотиврованног хамства и сорвался.

Объясню почему я считаю Ваши слова хамскими. Во-первых, вы с ходу выдаете человеку некоторую уничижительную оценку ни на чем не обоснованную. Во-вторых, Ваши слова не имеют никакго отношения к теме вопроса. Вы высказали некий идеологизм, отношение которого к реальности весма сомнительно. Высказали этот идеологизм весма надменнным менторским тоном. В-третьих, это самое главное содержимое этого идеолгизма не совместимо с образом человека мыслящего творчески сремящегося понять Истину. Таким образом одной, фразой Вы позиционировали себя, как моего злейшего, непремиримейшего врага. Мои нервишки не выдержали и я сорвался. В дальнещем я подумал, что
не все так плохо. Просто у вас большой талант к гуманитарным наукам там к истории,философии,политологи. Там действительно существуют правые и левые, опозиция, радикалы и т.д. А тут их нет. Когда мне был нужен офис я просто поставил его из бинарников. А теперь мне нужна компиляция в несколько потоков именно офиса. Вот и все. А что до вас, мне непонятно зачем вы заниметесь Gentoo. Знамлись бы историеей, философией, политологией, граматикой страной руководили бы на худой конец что ли. Для чего Вам грязные технические форумы,
на которых обсуждаются темы в которых вы ничего не смыслите?

patamooshta тем более способен ответить за себя сам.
Позволю лишь несколько мыслей вслух:

Во первых, слышать обвинения вышеозначенного patamooshta в непроффесионализме мне смешно — достаточно посмотреть его ответы.
Про так называемое хамство: есть темы ,действующие на старожилов форума как красная тряпка. Это одна из них.
Вы уж извините, но лично меня ( и думаю уже многиь тут) просто задолбали вопросы, основанные на мифологии, которая окружает Гентоо.
Далее, было высказано совершенно определенное мнение (имхо, правильное) по теме вопроса: Если Вы считаете себя способнее/проффесиональнее автора ебилда — пишите квизы, Вас с радостью примут.

Если Вы думаете, что тут форум по этикету и пр. то почитайте ховтушку Эрика Реймодса. Там эта тема разжевана.
И последнее: Занятия «историеей, философией, политологией, граматикой страной руководили бы на худой конец что ли.» отрицают возможность использования компьютера? Все гуманитарии,по вашему,что , юзерами быть не могут ?

В завершении вопль души:

ЁПРСТ ?:;%?;:%№;%№%. ** ?:%?*:;%?; ЗДЕСЬ БЫВАЮТ ПРОСТЫЕ НОРМАЛЬНЫЕ ЛЮДИ СПОСОБНЫЕ ПОНИМАТЬ ЧТО ОНИ ТВОРЯТ

ЛЮДИ С КТОРЫМИ МОЖНО БЫЛО БЫ ОБСУДИТЬ ЧИСТО ТЕХНИЧЕСКИЙ ВОПРОС ПРОСТО ОБСУДИТЬ БЕЗ МАРАЗМА.

А то, на технические вопросы тут как раз и отвечают. Ваш вопрос техническим не был : Мы так и не увидели логов сборки, версии ебилда, етц — учимся задавать вопросы

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD — 70 kg,210 FLOPS 😉

Компиляция (Ускорение)

FreeCAD — это крупное приложение, для полной компиляции которого из исходного когда, может потребоваться от 10 минут до часа. В первую очередь это зависит от используемого процессора и количества ядер, используемых в процессе компиляции. Вот несколько советов, как сократить время процесса сборки.

CCache

CCache

Установите ccache для кеширования сборок.

Ccache speeds up recompilation by caching previous compilations and detecting when the same compilation is done again. Ccache is free software, released under GPLv3 or later.

On most systems ccache will be automatically detected and enabled, you can use the FREECAD_USE_CCACHE cmake option to control this behavior.

Disable modules

Отключаемые модули

При использовании cmake для настройки сборки вы можете отключить компиляцию определенных инструментальных средств, которые в данный момент могут вам не понадобиться. Это полезно, если вам нужно протестировать только несколько инструментальных средств.

Например, чтобы исключить сборку верстаков FEM и Mesh:

cmake -DBUILD_FEM=OFF -DBUILD_MESH=OFF ../freecad-source 

Используйте cmake-gui , cmake-curses-gui или cmake-qt-gui для отображения всех возможных переменных, которые можно редактировать в конфигурации; с помощью этих интерфейсов вы можете легко включать или выключать различные инструментальные средства.

Number of jobs in parallel

Количество параллельных заданий

После настройки с помощью cmake программа make запускает настоящий компилятор C++ для работы с файлами исходного кода. Вы можете ускорить компиляцию, работая одновременно с различными файлами. Это достигается с помощью опции -j make , которая обозначает количество «задач» или команд компиляции, выполняемых одновременно. Этот параметр представляет собой целое число.

Выполняйте четыре команды компиляции параллельно:

make -j4 

Скомпилируйте параллельно столько файлов, сколько ядер процессора в вашей системе. Это полезно, если у вас много ядер и вы хотите использовать их все для компиляции программного обеспечения.

make -j$(nproc) 

Скомпилируйте параллельно столько файлов, сколько ядер процессора в вашей системе, минус два. Используйте это, чтобы ваша система спокойно реагировала на выполнение какой-либо другой задачи; например, два ядра позволят вам использовать браузер, в то время как остальные ядра продолжают компилировать программное обеспечение в фоновом режиме.

make -j$(nproc --ignore=2) 

distcc

distcc

Программа distcc может использоваться для выполнения распределенной компиляции кода на языках C и C++ на нескольких компьютерах в сети.

Distcc should always generate the same results as a local compilation. It is free, simple to install and use, and often two or more times faster than compiling locally.

SVP проблема с установкой.

Здравствуйте.
Столкнулся с проблемой установки мегаутилиты SVP на Astra Linux. (https://www.svp-team.com/wiki/Manual:SVP/ru)
SVP – программа, предназначенная для увеличения плавности при просмотре видео.
У них на сайте есть подробная инструкция по установке. (https://www.svp-team.com/wiki/SVP:Linux)
Для Ubuntu эта инструкция работает без проблем. Но вот в Астре происходит затык на этапе установки Vapoursynth.
А именно при выполнении make -j4 в скрипте :

# build Vapoursynth!
git clone https://github.com/vapoursynth/vapoursynth.git
cd vapoursynth
./autogen.sh
./configure
make -j4
sudo make install

Makefile:1579: ошибка выполнения рецепта для цели «src/filters/misc/libmiscfilters_la
-miscfilters.lo»
make: *** [src/filters/misc/libmiscfilters_la-miscfilters.lo] Ошибка 1

Прошу помочь разобраться. Может у кого то получалось установить Vapoursynth.

Olej
New member

Сообщения 1 307
На каком шаге у вас вылетает ошибка — make?
Прошу помочь разобраться.
Подробнее ошибку показывайте, больше строк вокруг — оно там вам всё само рассказывает.

Credo
New member

Сообщения 4

Здравствуйте. Подробное описание моих действий при установке SVP
1. Свежеустановленная astralinux
2. Проверенная на ubuntu инструкция по установке SVP https://www.svp-team.com/wiki/SVP:Linux
3. Для установки mediainfo добавляю репозиторий deb https://mirror.yandex.ru/debian/ stretch main contrib non-free
4. Без ошибок дохожу по инструкции до скрипта установки vapoursynth:

git clone https://github.com/vapoursynth/vapoursynth.git — проблем нет
cd vapoursynth — проблем нет
./autogen.sh — проблем нет
./configure — проблем нет
make -j4 — ругается на проблему компиляции какого то файла «compiling Cython file:»
sudo make install — дальше делать смыла нет

5. Вывод с ошибкой make -j4 ниже:

credo@credo-pc:~/programs/vapoursynth$ make -j4
CXX src/core/libvapoursynth_la-lutfilters.lo
CC src/core/libvapoursynth_la-mergefilters.lo
CC src/core/libvapoursynth_la-reorderfilters.lo
CXX src/core/libvapoursynth_la-settings.lo
src/core/mergefilters.c: In function ‘maskedMergeGetFrame’:
src/core/mergefilters.c:497:94: warning: signed and unsigned type in conditional expression [-Wsign-compare]
func(srcp1, srcp2, maskp, dstp, depth, yuvhandling ? (1U ^
CC src/core/libvapoursynth_la-simplefilters.lo
CXX src/core/libvapoursynth_la-textfilter.lo
CXX src/core/libvapoursynth_la-vsapi.lo
CXX src/core/libvapoursynth_la-vscore.lo
CXX src/core/libvapoursynth_la-vslog.lo
In file included from src/core/vscore.cpp:21:0:
src/core/vscore.h: In constructor ‘VSCore::VSCore(int)’:
src/core/vscore.h:655:16: warning: ‘VSCore::memory’ will be initialized after [-Wreorder]
MemoryUse *memory;
^~~~~~
src/core/vscore.h:643:21: warning: ‘std::atomic_int VSCore::cpuLevel’ [-Wreorder]
std::atomic_int cpuLevel;
^~~~~~~~
src/core/vscore.cpp:1232:1: warning: when initialized here [-Wreorder]
VSCore::VSCore(int threads) :
^~~~~~
CXX src/core/libvapoursynth_la-vsresize.lo
CXX src/core/libvapoursynth_la-vsthreadpool.lo
CXX src/core/libexprfilter_la-exprfilter.lo
CXX src/core/kernel/x86/libvapoursynth_avx2_la-generic_avx2.lo
CC src/core/kernel/x86/libvapoursynth_avx2_la-merge_avx2.lo
CC src/core/kernel/x86/libvapoursynth_avx2_la-planestats_avx2.lo
CYTHON src/cython/vapoursynth.c
CXX src/core/libvapoursynth_la-boxblurfilter.lo

Error compiling Cython file:
————————————————————
.
# If we are not using VSScript, do nothing.
if self.single:
return
_environment_state.current = _env_current_stack().pop()

src/cython/vapoursynth.pyx:133:4: Special method __eq__ must be implemented via __richcmp__

Error compiling Cython file:
————————————————————
.
core = kwargs.pop(«core», None) or get_core()
vals = self._as_dict()
vals.update(**kwargs)
return core.register_format(**vals)

src/cython/vapoursynth.pyx:710:4: Special method __eq__ must be implemented via __richcmp__
CXX src/core/libvapoursynth_la-cachefilter.lo
Makefile:2217: ошибка выполнения рецепта для цели «src/cython/vapoursynth.c»
make: *** [src/cython/vapoursynth.c] Ошибка 1
make: *** Ожидание завершения заданий…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *