Решено: Какие флаги поставить в calculate linux?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Ответить
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Решено: Какие флаги поставить в calculate linux?

Сообщение azsx »

Я хочу пересборать все программы, чтобы они работали более производительнее. Прочитал инструкцию https://wiki.gentoo.org/wiki/GCC_optimization/ru если всё сломается не страшно, переустановлю. Вот мой файл /etc/make.conf/custom с моими изменениями

Код: Выделить всё

#Расскоментировал чтобы компилировалось
 FEATURES="-getbinpkg"

 #Поставил -march=native так как не понимаю какой мне процессор здесь ставить
 CFLAGS="-O2 -march=native -pipe"
 CXXFLAGS="${CFLAGS}"

 # У меня 2 ядерный процессор на 0.8 -- 1.1 ггц
 MAKEOPTS="-j3"
 EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --jobs=1"

Вот мой вывод cat /proc/cpuinfo

Код: Выделить всё

processor       : 0
 vendor_id       : GenuineIntel
 cpu family      : 6
 model           : 42
 model name      : Intel® Celeron® CPU 847 @ 1.10GHz
 stepping        : 7
 microcode       : 0x28
 cpu MHz         : 800.830
 cache size      : 2048 KB
 physical id     : 0
 siblings        : 2
 core id         : 0
 cpu cores       : 2
 apicid          : 0
 initial apicid  : 0
 fpu             : yes
 fpu_exception   : yes
 cpuid level     : 13
 wp              : yes
 flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave lahf_lm epb tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm arat pln pts
 bugs            :
 bogomips        : 2195.08
 clflush size    : 64
 cache_alignment : 64
 address sizes   : 36 bits physical, 48 bits virtual
 power management:

 processor       : 1
 vendor_id       : GenuineIntel
 cpu family      : 6
 model           : 42
 model name      : Intel® Celeron® CPU 847 @ 1.10GHz
 stepping        : 7
 microcode       : 0x28
 cpu MHz         : 873.272
 cache size      : 2048 KB
 physical id     : 0
 siblings        : 2
 core id         : 1
 cpu cores       : 2
 apicid          : 2
 initial apicid  : 2
 fpu             : yes
 fpu_exception   : yes
 cpuid level     : 13
 wp              : yes
 flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave lahf_lm epb tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm arat pln pts
 bugs            :
 bogomips        : 2198.45
 clflush size    : 64
 cache_alignment : 64
 address sizes   : 36 bits physical, 48 bits virtual
 power management:

Скажите, пожалуйста:
Мне надо включить блок flags целиком после -pipe?
Мне надо как-то узнать как называется мой процессор?
Видеокарта никак и нигде при компиляции не указывается?
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Решено: Какие флаги поставить в calculate linux?

Сообщение ormorph »

azsx писал(а):
25.09.2017 15:19
Мне надо как-то узнать как называется мой процессор?

Не надо с параметром -march=native компилятор автоматически определяет ваш процессор, т.е. на компьютере с другим процессором и с этим же параметром будет генерироваться уже немного другой код(оптимизация).
azsx писал(а):
25.09.2017 15:19
Видеокарта никак и нигде при компиляции не указывается?

Указывается, пример make.conf:

Код: Выделить всё

VIDEO_CARDS="radeon intel i915"

Тут смотреть ваш вывод lspci -k
Еще язык:

Код: Выделить всё

LINGUAS="ru en ru_RU"
L10N="ru"

Так же например для ноута устройства ввода тач и клава мыш:

Код: Выделить всё

INPUT_DEVICES="evdev synaptics"

Но стоит ли столько всего менять, так как вы сейчас пытаетесь сделать из calculate gentoo.
А так для пользователей gentoo библией для установки является хендбук тыц
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Решено: Какие флаги поставить в calculate linux?

Сообщение bormant »

Зачем перекомпилировать вообще всё (например, Firefox, Thunderbird, LibreOffice, etc, разве это они тормозят...)? Решительно не понимаю.
Правило 80/20 здесь тоже никто не отменял :-)
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Решено: Какие флаги поставить в calculate linux?

Сообщение ormorph »

Хм, ну если собираетесь собирать с помощью distcc, то в принципе в место native надо указывать процессор.
В принципе это можно определить, это показано на сайте на который вы сами дали ссылку:

Код: Выделить всё

$ gcc -### -march=native /usr/include/stdlib.h

Смотрим выводе слово -march= как компилятор определил опцию для вашего процессора.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Решено: Какие флаги поставить в calculate linux?

Сообщение ormorph »

bormant писал(а):
25.09.2017 18:30
Зачем перекомпилировать вообще всё (например, Firefox, Thunderbird, LibreOffice, etc, разве это они тормозят...)? Решительно не понимаю.
Правило 80/20 здесь тоже никто не отменял :-)


Что бы меньше красноглазить, запустил и пошел своими делами заниматься.
В calculate не знаю что установлено, но доступны libreoffice-bin и firefox-bin и thunderbird-bin, которые соответственно не будут пере собираться.
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: Решено: Какие флаги поставить в calculate linux?

Сообщение azsx »

ormorph спасибо за первый пост, за уточнение параметров и ссылку. Но вопрос такой: как вы узнаёте какие параметры поставить в custom? Вот откуда вы знаете, что надо именно этой командой поставить видеокарту и надо язык уточнять? Есть какая то другая инструкция какие параметры надо включать в make.conf?
Но стоит ли столько всего менять, так как вы сейчас пытаетесь сделать из calculate gentoo.

У меня не получилось поставить gentoo, книг на русском нет. Значит сперва попробовать сделать хоть что нибудь. То есть удалить libre office из debian я смогу. А вот как его удалить из gentoo пока не знаю, кругом пишут, что надо смотреть зависимости, чтобы он нужные для других программ бибилиотеки не удалил, а как на них смотреть? Ничго не понятно.
Зачем перекомпилировать вообще всё (например, Firefox, Thunderbird, LibreOffice, etc, разве это они тормозят...)?

Изначально план был именно таким, перекомпилировать всё не заморачиваясь тормозит эта штука или нет. Например, меня волнует скорость флеш плеера Как проверить флеш плеер? , значит я не так чтобы уверен, что firefox не тормозит (я не знаю этого). Но! Я запустил обновление с перекомпиляцией и у меня за ночь прошло всего 176 из 291. Пересборка всего у меня займёт неделю?
Я думаю, что сперва надо удалить не нужные для телевизора приложения Thunderbird, LibreOffice и прочие, а уже потом всё перекомпилировать. Вот не знаю верно ли?
$ gcc -### -march=native /usr/include/stdlib.h

Вот вывод march этой команды. То есть native как я понимаю компилятор определяет вполне верно? Не надо какие то дополнительные опции писать? Хотя в первом посте технологий поддерживаемых моим процессором было больше.

Код: Выделить всё

"-march=sandybridge" -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -mno-aes -mno-sha -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mno-avx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mno-xsave -mno-xsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-pcommit -mno-mwaitx --param "l1-cache-size=32" --param "l1-cache-line-size=64" --param "l2-cache-size=2048" "-mtune=sandybridge" -quiet -dumpbase stdlib.h -auxbase stdlib -o /tmp/ccejPxqM.s "--output-pch=/usr/include/stdlib.h.gch"

Важно, я не планирую использовать distc. У меня пока только один компьютер с calculate на нём бы получилось.
но доступны libreoffice-bin и firefox-bin и thunderbird-bin, которые соответственно не будут пере собираться.

Я прочитал следующее. Если есть -bin пакет для моей системы, то мне всегда будет копироваться именно он. Если пакета нет -- будет собираться на месте. Но если я в опциях включил FEATURES="-getbinpkg", то будет пересобираться всё, в том числе бинарные пакеты.
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Решено: Какие флаги поставить в calculate linux?

Сообщение bormant »

azsx писал(а):
26.09.2017 02:06
Например, меня волнует скорость флеш плеера Как проверить флеш плеер?
А здесь вы бессильны на что-либо повлиять (почти).
Если речь об Adobe Flach Player для Linux, то Adobe выпускает бинарник, исходники закрыты, возможность его пересобрать из исходников есть только у Adobe. Со своей стороны можете только обеспечить наличие возможностей, которые может использовать плеер -- правильные драйвера, наличие аппаратного ускорения и т.п.

Есть попытки свободных реализаций плеера, но назвать их выдающимися вряд ли возможно.
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Решено: Какие флаги поставить в calculate linux?

Сообщение bormant »

Список разделяемых библиотек (.so -- shared object), которые libflashplayer.so использует непосредственно:

Код: Выделить всё

$ objdump -x /usr/lib*/mozilla/plugins/libflashplayer.so | grep NEEDED | awk '{print $2}'
libGL.so.1
libdl.so.2
libpthread.so.0
librt.so.1
libX11.so.6
libXt.so.6
libnss3.so
libsmime3.so
libssl3.so
libnspr4.so
libgtk-x11-2.0.so.0
libgdk-x11-2.0.so.0
libgdk_pixbuf-2.0.so.0
libpango-1.0.so.0
libfontconfig.so.1
libgobject-2.0.so.0
libglib-2.0.so.0
libfreetype.so.6
libstdc++.so.6
libm.so.6
libc.so.6

Полное дерево зависимых библиотек, естественно, будет поразвесистей:

Код: Выделить всё

$ ldd /usr/lib*/mozilla/plugins/libflashplayer.so | awk '{print $1}'
linux-vdso.so.1
libGL.so.1
libdl.so.2
libpthread.so.0
librt.so.1
libX11.so.6
libXt.so.6
libnss3.so
libsmime3.so
libssl3.so
libnspr4.so
libgtk-x11-2.0.so.0
libgdk-x11-2.0.so.0
libgdk_pixbuf-2.0.so.0
libpango-1.0.so.0
libfontconfig.so.1
libgobject-2.0.so.0
libglib-2.0.so.0
libfreetype.so.6
libstdc++.so.6
libm.so.6
libc.so.6
libexpat.so.1
libxcb-dri3.so.0
libxcb-present.so.0
libxcb-randr.so.0
libxcb-xfixes.so.0
libxcb-render.so.0
libxcb-shape.so.0
libxcb-sync.so.1
libxshmfence.so.1
libglapi.so.0
libXdamage.so.1
libXfixes.so.3
libX11-xcb.so.1
libxcb-glx.so.0
libxcb-dri2.so.0
libXxf86vm.so.1
libXext.so.6
libxcb.so.1
libXau.so.6
libXdmcp.so.6
libdrm.so.2
/lib64/ld-linux-x86-64.so.2
libSM.so.6
libuuid.so.1
libICE.so.6
libnssutil3.so
libplc4.so
libplds4.so
libz.so.1
libXinerama.so.1
libXi.so.6
libXrandr.so.2
libXcursor.so.1
libpangocairo-1.0.so.0
libXcomposite.so.1
libatk-1.0.so.0
libcairo.so.2
libpixman-1.so.0
libEGL.so.1
libgbm.so.1
libxcb-shm.so.0
libXrender.so.1
libgio-2.0.so.0
libgmodule-2.0.so.0
libresolv.so.2
libpangoft2-1.0.so.0
libgthread-2.0.so.0
libffi.so.6
libpng16.so.16
libharfbuzz.so.0
libbz2.so.1
libgcc_s.so.1

Соответственно, все они в той или иной степени могут влиять на производительность libflashplayer.so.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Решено: Какие флаги поставить в calculate linux?

Сообщение ormorph »

Но вопрос такой: как вы узнаёте какие параметры поставить в custom?

Это уже выстраданное, ссылка что я давал выше на wiki handbook, это только часть документации на сайте wiki.gentoo.org, Например руководство по xorg тыц
Переменную L10N="ru" брал так как обратил внимание что некоторые ебилды требуют ее, убедится в этом очень просто, выполнить:

Код: Выделить всё

# eix |grep L10N

У меня не получилось поставить gentoo, книг на русском нет. Значит сперва попробовать сделать хоть что нибудь. То есть удалить libre office из debian я смогу. А вот как его удалить из gentoo пока не знаю, кругом пишут, что надо смотреть зависимости, чтобы он нужные для других программ бибилиотеки не удалил, а как на них смотреть? Ничго не понятно

Спокойно удаляешь:

Код: Выделить всё

# emerge -C  app-office/libreoffice
# emerge -c

Потом можно установить:

Код: Выделить всё

# emerge -av  app-office/libreoffice-bin

Я прочитал следующее. Если есть -bin пакет для моей системы, то мне всегда будет копироваться именно он. Если пакета нет -- будет собираться на месте. Но если я в опциях включил FEATURES="-getbinpkg", то будет пересобираться всё, в том числе бинарные пакеты.

Нет пакет -bin не имеет исходника и устанавливается только в бинарном виде.
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: Решено: Какие флаги поставить в calculate linux?

Сообщение azsx »

Нет пакет -bin не имеет исходника и устанавливается только в бинарном виде.

Это особенность calculate по умолчанию пакеты пишутся без приставки bin, но если опция FEATURES="-getbinpkg" закоментирована, то сперва ищется бинарный пакет. Вот я опцию расскоментировал и запустил обновление # emerge -avuND @world . Обновление идёт уже более суток 287 пакетов из 291 обновлено. Погадаю, что всё таки софт компилируется, а не из бинарников устанавливается.
Как ни странно очень часто промелькивает на экране опции, которых я не писал, типа -o3. Также вообще не понятно, что с этим выводом делать. Вывод компиляций записывается в какой то лог? Если будут какие то ошибки его можно хоть как то достать?
---
Подсчитал qlist -IUv >aaa.txt у меня 1217 приложений. Если 300 приложений обновляются за сутки, то 1200 обновиться за 4 суток. Думаю, что мир пока не буду собирать, сперва почищу систему от лишнего.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Решено: Какие флаги поставить в calculate linux?

Сообщение ormorph »

Код: Выделить всё

Это особенность calculate по умолчанию пакеты пишутся без приставки bin, но если опция FEATURES="-getbinpkg" закоментирована, то сперва ищется бинарный пакет.

Ни чего подобного, просто в оверлее calculate прописан PORTAGE_BINHOST сервер, на котором хранятся уже заранее собранные пакеты и включего FEATURES="getbinpkg", если данную переменную прописать FEATURES="-getbinpkg", то перестает использовать данные пакеты и собирает с исходников.
Если выполнить команду:

Код: Выделить всё

# eix app-office/libreoffice

То становится видно что в портах присутствует несколько вариантов этих пакетов, одни из них имеют в названии продолжение -bin, эти пакеты в любом случае будут устанавливаться только в бинарном виде, просто у вас установлен пакет без этого префикса, его можно удалить и вместо него поставить другой.
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2345
ОС: gentoo fluxbox

Re: Решено: Какие флаги поставить в calculate linux?

Сообщение yoricI »

Извините, что встреваю, но куй пока горячо))
LINGUAS="ru en ru_RU"
L10N="ru"


А у меня:

Код: Выделить всё

LINGUAS="ru en"
L10N="ru en"

Это фатально? Вроде в части кириллизации всё работает.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Решено: Какие флаги поставить в calculate linux?

Сообщение ormorph »

yoricI писал(а):
26.09.2017 19:37
А у меня:

Код: Выделить всё

LINGUAS="ru en"
L10N="ru en"

Это фатально? Вроде в части кириллизации всё работает.

Нет не фатально, просто некоторые пакеты требуют ru_RU, таких очень мало, мне нужен был один с этим параметром, по этому вписал.
Все так же проверить:

Код: Выделить всё

# eix |grep "ru_RU"
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2345
ОС: gentoo fluxbox

Re: Решено: Какие флаги поставить в calculate linux?

Сообщение yoricI »

А почему у Вас в L10N нет "en", если не секрет? Оно там точно не нужно? И нужно ли оно в "LINGUAS"?
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Решено: Какие флаги поставить в calculate linux?

Сообщение ormorph »

yoricI писал(а):
27.09.2017 13:38
А почему у Вас в y нет "en", если не секрет? Оно там точно не нужно? И нужно ли оно в "LINGUAS"?

Ну как бы английская локаль и так по умолчанию включена, например у меня:

Код: Выделить всё

# qlist www-client/opera-beta|grep localization
/usr/lib64/opera-beta/localization/ru.pak
/usr/lib64/opera-beta/localization/en-US.pak

А eix показывает:

Код: Выделить всё

Установленные версии:  xx.xxxxx.xx(17:21:38 16.08.2017)(L10N="ru -be -bg -bn -ca -cs -da -de -el -en-GB -es -es-419 -fi -fil -fr -fr-CA -he -hi -hr -hu -id -it -ja -ko -lt -lv -ms -nb -nl -pl -pt-BR -pt-PT -ro -sk -sr -sv -sw -ta -te -th -tr -uk -vi -zh-CN -zh-TW")

Как видно ни какого LINGUAS данным ебилдом не используется. В принципе конфликта из за установленного en быть не должно. Для некоторых пакетов нужно указывать, это самому легко проверить выполнив:

Код: Выделить всё

# eix|grep L10N|grep "en "
Спасибо сказали:
Ответить