Ошибки компиляции
Модератор: /dev/random
Re: Ошибки компиляции
Хм, интересно девки пляшут, sse4. 2 отключено. Только возможно что sse4a воспринимается как более новая чем sse4. 2 вот и подхватывается. Тут разбираться нужно. Хотя пересмотрел вывод, там флаг -msse4. 2 при сборке включается. Надо смотреть конфиги, где то есть завязка. Хотя тут clang, а не gcc.
Re: Ошибки компиляции
Вопрос не в том, почему здесь включены -msse4.2, а в том, почему вообще собирается SkOpts_sse42.cpp?min писал(а): ↑15.06.2022 20:43Код: Выделить всё
41:40.67 /usr/lib/llvm/14/bin/x86_64-pc-linux-gnu-clang++ -std=gnu++17 -o SkOpts_sse42.o -c -I/var/tmp/portage/www-client/firefox-91.10.0/work/firefox_build/dist/stl_wrappers -I/var/tmp/portage/www-client/firefox-91.10.0/work/firefox_build/dist/system_wrappers -include /var/tmp/portage/www-client/firefox-91.10.0/work/firefox-91.10.0/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -DNDEBUG=1 -DTRIMMED=1 -DSKIA_IMPLEMENTATION=1 -DSK_PDF_USE_HARFBUZZ_SUBSETTING=1 -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/var/tmp/portage/www-client/firefox-91.10.0/work/firefox-91.10.0/gfx/skia -I/var/tmp/portage/www-client/firefox-91.10.0/work/firefox_build/gfx/skia -I/var/tmp/portage/www-client/firefox-91.10.0/work/firefox-91.10.0/gfx/skia/skia -I/var/tmp/portage/www-client/firefox-91.10.0/work/firefox-91.10.0/gfx/skia/skia/include/third_party/skcms -I/var/tmp/portage/www-client/firefox-91.10.0/work/firefox_build/dist/include -I/usr/include/nspr -I/usr/include/nss -I/usr/include/nspr -I/var/tmp/portage/www-client/firefox-91.10.0/work/firefox_build/dist/include/nss -I/usr/include/pixman-1 -DMOZILLA_CLIENT -include /var/tmp/portage/www-client/firefox-91.10.0/work/firefox_build/mozilla-config.h -Qunused-arguments -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wdeprecated-this-capture -Wempty-body -Wformat-type-confusion -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wshadow-uncaptured-local -Wsign-compare -Wtype-limits -Wno-error=tautological-type-limit-compare -Wunreachable-code -Wunreachable-code-return -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wc++2a-compat -Wcomma -Wenum-compare-conditional -Wimplicit-fallthrough -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=free-nonheap-object -Wno-error=return-std-move -Wno-error=atomic-alignment -Wno-error=deprecated-copy -Wno-error=unused-but-set-variable -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-psabi -Wno-unknown-warning-option -fno-sized-deallocation -fno-aligned-new -march=native -pipe -fno-exceptions -fno-strict-aliasing -fPIC -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -O2 -fomit-frame-pointer -funwind-tables -Wno-deprecated-declarations -Wno-overloaded-virtual -Wno-shadow -Wno-sign-compare -Wno-unreachable-code -Wno-unused-function -Wno-implicit-fallthrough -Wno-inconsistent-missing-override -Wno-macro-redefined -Wno-unused-private-field -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/var/tmp/portage/www-client/firefox-91.10.0/work/firefox_build/dist/include/cairo -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/uuid -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/uuid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -pthread -fexperimental-new-pass-manager -MD -MP -MF .deps/SkOpts_sse42.o.pp -fcolor-diagnostics -O3 -msse4.2 /var/tmp/portage/www-client/firefox-91.10.0/work/firefox-91.10.0/gfx/skia/skia/src/opts/SkOpts_sse42.cpp
Re: Ошибки компиляции
Они до сих пор не починили firefox что-ли? Такая же точно беда, build.log один в один. 91-й исчез вообще из портов, думал перейти на 102-й, и опять 25. Если у firefox отключить флаг clang, имеет ли это смысл?
Добавлено (16:49):
Отбой, он неотключаемый.Добавлено (17:00):
Гляньте, пож-ста, насчёт корректности и устаревания, я стараюсь по новостям вносить коррективы, но вдруг чего:Код: Выделить всё
$ cat /etc/portage/make.conf
CFLAGS="-O2 -march=native -pipe"
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"
USE="bash-completion -bidi -prelude -emboss -jack -oss -portaudio -pulseaudio -musicbrainz \
ladspa mtp musepack wmf -nas -osc -shorten -oracle -oci8 -directfb -fbcon -svga \
-xosd -openexr -ofx -cjk -migemo -systemd -consolekit -infiniband smp -lirc -pda -cddb \
3dnow 3dnowext mmx mmxext popcnt sse sse2 sse3 sse4a \
-fortran -gnome -kde -motif -kontact -imap -pcmcia -smartcard -iee1394 \
-joystick -scanner -snmp -geoip -netboot -netcdf -nis -nntp -ldap -clamav -xine -yahoo \
-yaz jpeg2k -acl drm vdpau vaapi nvidia \
##/usr/portage/profiles/targets/desktop/make.defaults
a52 aac acpi alsa -bluetooth branding cairo -cups dbus dri dts \
-elogind encode exif flac gif -gpm gtk gui icu jpeg lcms libnotify mad mng mp3 \
mp4 mpeg ogg opengl pango pdf png -policykit -qt5 -qt6 sdl -spell startup-notification \
svg tiff truetype vorbis udev -udisks unicode usb wxwidgets webp X xcb x264 xml xv xvid"
L10N="ru en"
CPU_FLAGS_X86="3dnow 3dnowext mmx mmxext popcnt sse sse2 sse3 sse4a"
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
MAKEOPTS="-j4"
ALSA_CARDS=""
VIDEO_CARDS="nvidia"
INPUT_DEVICES="evdev"
PORTAGE_NICENESS=15
PORTAGE_IONICE_COMMAND="ionice -c 3 -p \${PID}"
PORTAGE_BUNZIP2_COMMAND="lbunzip2 -n2"
PORTAGE_BZIP2_COMMAND="lbzip2 -n2"
#GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/"
GENTOO_MIRRORS="http://gentoo.bloodhost.ru/ http://ftp.halifax.rwth-aachen.de/gentoo/"
EMERGE_DEFAULT_OPTS="--keep-going=y --quiet-build=y --with-bdeps=y"
EBEEP_IGNORE="no"
PORTDIR_OVERLAY="/usr/local/portage ${PORTDIR_OVERLAY}"
# Logging
PORTAGE_ELOG_CLASSES="warn error info log qa"
PORTAGE_ELOG_SYSTEM="save"
INSTALL_MASK="/usr/share/locale -/usr/share/locale/en_US -/usr/share/locale/ru"
- /dev/random
- Администратор
- Сообщения: 5290
- ОС: Gentoo
Re: Ошибки компиляции
Эта проблема, вероятнее всего, где-то в llvm или rust, а не firefox, и проявляется только на некоторых процессорах. Самый простой способ её обойти - заменить "-march=native" на имя архитектуры вашего процессора. Список имён для gcc можно найти в мане, в разделе "x86 Options", а для clang - в выводе команды clang --print-supported-cpus. Учтите, что эта команда выводит список имён без объяснений. Объяснения можно найти в мане gcc, в вышеуказанном разделе.
Re: Ошибки компиляции
Попробую так, спасибо. А как бы этот свой процессор подсунуть только firefox-у? По схеме ниже не очень получается, дублировать ключи незнамо какие. Или достаточно только "COMMON_FLAGS="-O2 -march=ПРОЦ -pipe" оставить? Или везде, даже в make.conf, native на свой заменить?
А так уже попробовал с тем же результатом:
А так уже попробовал с тем же результатом:
Код: Выделить всё
globus@aspera ~ $ cat /etc/portage/package.env
www-client/firefox compiler-gcc
globus@aspera ~ $ cat /etc/portage/env/compiler-gcc
CC="gcc"
CXX="g++"
AR="${CHOST}-ar"
NM="${CHOST}-nm"
RANLIB="${CHOST}-ranlib"
COMMON_FLAGS="-O2 -march=native -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
LDFLAGS="-Wl,--as-needed"
Re: Ошибки компиляции
Ну так читайте. У Gentoo одна из лучших документаций.
Конкретно смотрите вывод:
Shell
$ gcc -### -march=native /usr/include/stdlib.h
Re: Ошибки компиляции
Вы сами уже написали как -- создается файл с параметрами в каталоге /etc/portage/env/, а потом прописываете этот файл для пакета в /etc/portage/package.env, а дальше немного воображения...
Я выше привел команду, как получить ваш процессор, остается только подсунуть его в -march=<CPU>...
Re: Ошибки компиляции
Получилось, успешно собрался. А вот как насчёт наследования переменных? Я сделал так:
В make.conf так:
Достаточно?
Код: Выделить всё
COMMON_FLAGS="-march=amdfam10"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
Код: Выделить всё
CFLAGS="-O2 -march=native -pipe"
CXXFLAGS="${CFLAGS}"
Re: Ошибки компиляции
Вполне достаточно. Но в принципе сойдёт, оптимизацию -O2 можно было и не удалять. Параметр -pipe просто ускоряет компиляцию, так как использует каналы вместо временных файлов, по этому этот параметр тоже не обязательно было удалять. А так раз уж всё собралось, то всё норм.
А так можно было и больше оптимизаций включать, которые предоставляет -march=native, типа расширений векторизации и т.п. Но если скорость работы ff устраивает, то всё норм.
Re: Ошибки компиляции
Значит, из make.conf переменные перекрываются, тогда вставлю.
Re: Ошибки компиляции
Пытаюсь собрать opentoonz, не идёт. Что ему не хватает?
- /dev/random
- Администратор
- Сообщения: 5290
- ОС: Gentoo
Re: Ошибки компиляции
Понял, зависло, нашёл на zugaina, посвежее.
Re: Ошибки компиляции
Скомпилилось 1.6 и даже вроде работает на первый взгляд))
Re: Ошибки компиляции
Здравствуйте. Перестал собираться пакет clang. Помогите разобраться.
Код: Выделить всё
emerge --info
Portage 3.0.38.1 (python 3.10.8-final-0, default/linux/amd64/17.1/desktop/plasma/systemd, gcc-11.3.0, glibc-2.36-r5, 6.0.9-gentoo-kernel x86_64)
=================================================================
System uname: Linux-6.0.9-gentoo-kernel-x86_64-AMD_A8-7600_Radeon_R7,_10_Compute_Cores_4C+6G-with-glibc2.36
KiB Mem: 20456740 total, 13276264 free
KiB Swap: 10007548 total, 10007548 free
Timestamp of repository gentoo: Mon, 21 Nov 2022 08:00:01 +0000
Head commit of repository gentoo: 86dbbce8b8b98aa00b09cb1cddb4bf6a266dbf70
Timestamp of repository 4nykey: Thu, 10 Nov 2022 18:21:47 +0000
Head commit of repository 4nykey: 42dd0969fb5d6d4598dd125c986f4ce7bfdbca4f
Timestamp of repository guru: Sun, 20 Nov 2022 01:16:51 +0000
Head commit of repository guru: 9ddb35db7e2fd51cc29f20e2ced3ff20251db48f
Timestamp of repository nest: Sun, 20 Nov 2022 22:01:56 +0000
Head commit of repository nest: cf767de6db0b87f2e02d6b1242b94155637e2818
Timestamp of repository steam-overlay: Thu, 20 Oct 2022 06:32:14 +0000
Head commit of repository steam-overlay: f40a22632e77a46be0153821f4a7f7847029533b
sh bash 5.1_p16-r2
ld GNU ld (Gentoo 2.38 p4) 2.38
app-misc/pax-utils: 1.3.5::gentoo
app-shells/bash: 5.1_p16-r2::gentoo
dev-java/java-config: 2.3.1::gentoo
dev-lang/perl: 5.34.1-r4::gentoo
dev-lang/python: 3.10.8_p3::gentoo, 3.11.0_p2::gentoo
dev-lang/rust: 1.65.0::gentoo
dev-util/cmake: 3.24.3::gentoo
dev-util/meson: 0.63.2-r1::gentoo
sys-apps/baselayout: 2.9::gentoo
sys-apps/sandbox: 2.29::gentoo
sys-apps/systemd: 251.4::gentoo
sys-devel/autoconf: 2.71-r1::gentoo
sys-devel/automake: 1.16.5::gentoo
sys-devel/binutils: 2.38-r2::gentoo
sys-devel/binutils-config: 5.4.1::gentoo
sys-devel/gcc: 11.3.0::gentoo
sys-devel/gcc-config: 2.8::gentoo
sys-devel/libtool: 2.4.7::gentoo
sys-devel/llvm: 14.0.6-r2::gentoo, 15.0.3::gentoo
sys-devel/make: 4.3::gentoo
sys-kernel/linux-headers: 5.15-r3::gentoo (virtual/os-headers)
sys-libs/glibc: 2.36-r5::gentoo
Repositories:
gentoo
location: /var/db/repos/gentoo
sync-type: rsync
sync-uri: rsync://rsync.gentoo.org/gentoo-portage
priority: -1000
sync-rsync-extra-opts:
sync-rsync-verify-jobs: 1
sync-rsync-verify-max-age: 24
sync-rsync-verify-metamanifest: yes
4nykey
location: /var/db/repos/4nykey
sync-type: git
sync-uri: https://github.com/gentoo-mirror/4nykey.git
masters: gentoo
guru
location: /var/db/repos/guru
sync-type: git
sync-uri: https://github.com/gentoo-mirror/guru.git
masters: gentoo
myrepo
location: /var/db/repos/myrepo
masters: gentoo
nest
location: /var/db/repos/nest
sync-type: git
sync-uri: https://github.com/gentoo-mirror/nest.git
masters: gentoo
steam-overlay
location: /var/db/repos/steam-overlay
sync-type: git
sync-uri: https://github.com/gentoo-mirror/steam-overlay.git
masters: gentoo
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=bdver3 -msse2 -mmmx -fomit-frame-pointer -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=bdver3 -msse2 -mmmx -fomit-frame-pointer -O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=bdver3 -msse2 -mmmx -fomit-frame-pointer -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=bdver3 -msse2 -mmmx -fomit-frame-pointer -O2 -pipe"
GENTOO_MIRRORS="http://tux.rainside.sk/gentoo/ ftp://tux.rainside.sk/gentoo/ https://mirror.wheel.sk/gentoo http://mirror.wheel.sk/gentoo"
LANG="ru_UA.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="ru_RU ru"
MAKEOPTS="-j5"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X a52 aac acl acpi activities alsa amd64 bluetooth branding bzip2 cairo cdda cdr cli crypt cups dbus declarative dri dts dvd dvdr egl encode exif ffmpeg flac fortran gdbm gif gpm gstreamer gtk gui heif iconv icu imagemagick introspection ipv6 java jpeg jpeg2k kde kwallet lcms libglvnd libnotify libtirpc lzo mad mjpeg mng mp3 mp4 mpeg mtp multilib mysql ncurses networkmanager nls nptl ogg opencl openexr opengl openmp pam pango pcre pdf plasma png policykit ppds ppp pulseaudio python qml qt5 raw readline samba scanner screencast sdl seccomp semantic-desktop smartcard spell split-usr ssl startup-notification svg systemd test-rust theora tiff truetype udev udisks unicode upower usb v4l vaapi vala vdpau vorbis vulkan wayland widgets wxwidgets x264 xattr xcb xinerama xml xv xvid zeroconf zlib" ABI_X86="64 32" ADA_TARGET="gnat_2021" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx f16c fma3 fma4 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 xop" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput evdev synaptics" KERNEL="linux" L10N="ru" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="scripting-javascript" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10" RUBY_TARGETS="ruby27" SANE_BACKENDS="gt68xx" USERLAND="GNU" VIDEO_CARDS="nvidia radeon radeonsi amdgpu" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
- Вложения
-
- build.tar.gz
- (171.41 КБ) 8 скачиваний
Re: Ошибки компиляции
Это не только у вас такое происходило. Смотрю у многих лечилось установкой нового gcc-12, эта ошибка типичная для gcc. Но вы можете собрать clang используя раннюю версию clang, раз уж он у вас установлен.
Что то типа этого.
/etc/portage/env/compiler-clang:
Код: Выделить всё
CFLAGS="-O2 -pipe"
CXXFLAGS="-O2 -pipe"
CC="clang"
CXX="clang++"
AR="llvm-ar"
NM="llvm-nm"
RANLIB="llvm-ranlib"
LDFLAGS="${LDFLAGS} -Wl,-O2 -Wl,--as-needed"
Код: Выделить всё
sys-devel/clang compiler-clang
А так смотря на ваши флаги, опцию -fomit-frame-pointer можно удалить, она всё равно включается опцией -O2.
Спасибо сказали: