LINUX.ORG.RU

А померяемся make.conf

 ,


0

4

У кого какой?

cat /etc/portage/make.conf 
# my conf
CC="clang"                            
CXX="clang++" 
COMMON_FLAGS="-march=native -mtune=native -O2 -pipe \
              -fomit-frame-pointer -fno-stack-protector"
CFLAGS="${COMMON_FLAGS} -flto=thin"
CXXFLAGS="${COMMON_FLAGS} -flto=thin"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

AR="llvm-ar"
NM="llvm-nm"
RANLIB="llvm-ranlib"

FEATURES="-parallel-fetch nodoc noinfo -xattr -sandbox"
GENTOO_MIRRORS="http://gentoo-mirror.alexxy.name/ http://gentoo.bloodhost.ru/"
MAKEOPTS="-j2"

PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
PKGDIR="/var/cache/binpkgs"

ALSA_CARDS="hda-intel"
LCD_DEVICES="ncurses text"
VIDEO_CARDS="intel iris i965"
APACHE2_MODULES=""
GPSD_PROTOCOLS=""
XTABLES_ADDONS=""
L10N="ru en"

CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand \
               sse sse2 sse3 sse4_1 sse4_2 ssse3"

LC_MESSAGES=C
ACCEPT_LICENSE="*"

OFF="-acl -vala -fortran -ipv6 -nls -seccomp -tcpd -xattr -pam -pcre \
     -ssp -perl"

ON="vaapi aac acpi alsa cairo dbus flac gif icu jpeg lcms libnotify mad \
    mp3 mp4 mpeg opengl pango png svg tiff truetype upower udev x264 xml \
    xv xvid X xcb"

USE="${ON} ${OFF}"

У меня там помойка.

COMMON_FLAGS="-march=native -O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

MAKEOPTS = "-j4"

USE="-gnome qt4 qt5 kde dvd alsa cdr"
USE="elogind -systemd"
USE="udev"
USE="dbus"
USE="X"

VIDEO_CARDS="intel nvidia radeon vesa"
L10N="ru de pt-BR en en-US en-GB"

# NOTE: This stage was built with the bindist Use flag enabled
PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
PKGDIR="/var/cache/binpkgs"

# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C
ACCEPT_LICENSE= "*"
pinux ()

-march=native -mtune=native

А зачем?

GCC can automatically detect and enable safe architecture-specific optimizations. To use this feature, first remove any -march and -mtune flags, then add -march=native.

fernandos ★★★ ()

CC=«clang»

ССЗБ

COMMON_FLAGS="-march=native -mtune=native

Хрен пойми под что собирается. Прощай, кросс-дистрибутивная сборка. И нет векторизации и других вкусностей. Нет(?) ccache

MAKEOPTS=«-j2»

Каково по полдня собирать?

VIDEO_CARDS=«intel iris i965»

Определись

xDShot ★★★★★ ()

как-то так

MARCH="native"
OPTIMIZE_LEVEL="2"
E_MAIL="${NICK}@${MAIL_DOMAIN}"
DCO_SIGNED_OFF_BY="${NICK} <${E_MAIL}>"

COMMON_FLAGS="-march=${MARCH} -O${OPTIMIZE_LEVEL} -pipe -fdiagnostics-color=always"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sse sse2 sse3 sse4_1 sse4_2 ssse3"
VIDEO_CARDS="intel i915 iris nvidia"
INPUT_DEVICES="libinput synaptics wacom"

USE_PYTHON="3.9"
PYTHON_TARGETS="python3_8 python3_9"
PYTHON_SINGLE_TARGET="python3_9"
LUA_TARGETS="luajit"
LUA_SINGLE_TARGET="luajit"

FEATURES=""
PORTAGE_NICENESS="10"
LINGUAS="en en_US"
L10N="ru en"
ACCEPT_LICENSE="*"
EMERGE_DEFAULT_OPTS="-va --verbose-conflicts --keep-going --jobs=16 --load-average=14.4"
MAKEOPTS="-j16"

USE_DISABLE="-berkdb -experimental -gles2 -gdbm -gnome -gnome-shell -nautilus -gpm -kde -perl -static-libs -systemd -zfs "
USE_ENABLE="elogind networkmanager pulseaudio threads X xinerama wayland vaapi"
USE="${USE_DISABLE} ${USE_ENABLE}"

GENTOO_MIRRORS="https://mirror.yandex.ru/gentoo-distfiles/ http://mirror.yandex.ru/gentoo-distfiles/"

PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
PKGDIR="/var/cache/binpkgs"
PORTAGE_TMPDIR="/var/tmp/"

LC_MESSAGES=C

GRUB_PLATFORMS="efi-64"
azako ()
Ответ на: комментарий от xDShot

И нет векторизации и других вкусностей.

Чего?

Нет(?) ccache

Чего?

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

Я поменял как у всех вместо USE=

на USE=«${USE_DISABLE} ${USE_ENABLE}» 😐

что еще не так?

pinux ()
Последнее исправление: pinux (всего исправлений: 2)
Ответ на: комментарий от fernandos

Ты же был в теме, которую я создавал.

GCC намного дольше собирает. С LTO(thin) с Clang скорость сборки не проседает.
Везде корпорации проталкивают LLVM, надо врага знать в лицо.
Я захотел, смог.

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

Да

Отлично, надо будет как-то ядро попробовать так собрать.

А на чём

Центось.

Вроде так топил

Гента всё ещё замечательнейший дистрибутив.

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

Когда сидел в gentoo, make.conf - директория, примерно с такой структурой:

$ ls /etc/portage/make.conf
cflags
makeopts
cpu_cflags_x86
mirrors
dirs
l10n
use
python

Пакето-специфичные use’ы (flac gif jpeg mad mp3 mp4, APACHE2_MODULES, XTABLES_ADDONS) в package.use

Нужен фортран, добавлял файл примерно такого содержания

$ cat /etc/portage/make.conf/fortran
USE="${USE} fortran"

FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

Не нужен, добавлял суффикс «.~» - fortran.~, и этот файл уже пропускается портажем

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

Куда угодно.

В современных реалиях, когда просмотрщик html страниц (и вообще, любого контента) собирается три дня, и, вообще, чтобы что-то увидеть на экране, даже в консоли надо компилять полдня, да еще не факт, что новые gcc и clang не сожрут всю память и не упадут в процессе…

… то любой минус другого дистра, работающего сразу из коробки, уже мало что значит.

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

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

pinux ()

clang

Оно и так дольше собирает, так у тебя ещё и в 2 потока всего сборка.

-sandbox

это ещё зачем?

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

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

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

clang

Оно и так дольше собирает

По идее clang надо бы бутстрапнуть со статической линковкой llvm и тп, как делает gcc. Да еще с pgo и lto. И тогда померяться у кого меньше … время сборки проектов. Заодно подумать, стоит ли жертвовать временем сборки clang ради ускорения сборки пакетов.

anonymous ()

Короче. Я понял, что все пришли просто потрепаться. Обсуждения Gentoo и её проблем/побед тут не будет.

Счастливо оставаться.

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

всего два пакета? что то маловато у меня целых 30 пакетов опционально попросили clang как зависимость и я не смог это отключить в make. К тому же у меня комп слабый а так поставил бы gentoo вместо debian’a.

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

Ты не понял. У меня вся система собрана Clang (gcc, glibc, iwd - собраны gcc).

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

Собираешь FF - собираешь Clang.

Что хотел сказать? Ты пробовал собирать gcc с lto и pgo? Собирается, где-то раза 3 дольше, чем без. Тем временем, gcc можно собирать без бутстрапа, и собирается раза 2-3 быстрее, чем обычная сборка.

А вот clang в gentoo собирается только последним способом, без бутстрапа, lto и pgo.

anonymous ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей