Ошибка обновления desktop-file-utils-0.22

Может кто знает причину? Никто не встречался с такой ошибкой?

Вывод компиляции пакета:

Calculating dependencies... done!
[ebuild  N     ] dev-util/desktop-file-utils-0.22::gentoo  USE="-emacs" 0 KiB

Total: 1 package (1 new), Size of downloads: 0 KiB

Would you like to merge these packages? [Yes/No] yes
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) dev-util/desktop-file-utils-0.22::gentoo
>>> Failed to emerge dev-util/desktop-file-utils-0.22, Log file:
>>>  '/var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/temp/build.log'
>>> Jobs: 0 of 1 complete, 1 failed                 Load avg: 0.30, 0.21, 0.32
 * Package:    dev-util/desktop-file-utils-0.22
 * Repository: gentoo
 * Maintainer: freedesktop-bugs@gentoo.org
 * USE:        abi_x86_64 amd64 elibc_glibc kernel_linux userland_GNU
 * FEATURES:   preserve-libs sandbox usersandbox
>>> Unpacking source...
>>> Unpacking desktop-file-utils-0.22.tar.xz to /var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/work
>>> Source unpacked in /var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/work
 * Performing permissions change for distdir directory
>>> Preparing source in /var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/work/desktop-file-utils-0.22 ...
>>> Source prepared.
>>> Configuring source in /var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/work/desktop-file-utils-0.22 ...
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --libdir=/usr/lib64 --without-lispdir
checking for a BSD-compatible install... /usr/lib/portage/python2.7/ebuild-helpers/xattr/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '0' is supported by ustar format... yes
checking whether GID '0' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking whether ln -s works... yes
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of x86_64-pc-linux-gnu-gcc... none
checking for x86_64-pc-linux-gnu-pkg-config... /usr/bin/x86_64-pc-linux-gnu-pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for DESKTOP_FILE_UTILS... yes
checking for emacs... no
checking for xemacs... no
checking where .elc files should go... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating man/Makefile
config.status: creating misc/Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands
>>> Source configured.
>>> Compiling source in /var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/work/desktop-file-utils-0.22 ...
make -j20 --load-average=16 
make  all-recursive
make[1]: Entering directory '/var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/work/desktop-file-utils-0.22'
Making all in src
make[2]: Entering directory '/var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/work/desktop-file-utils-0.22/src'
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..  -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -DDATADIR="\"/usr/share\"" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE   -O2 -pipe -march=native -mtune=native -msseregparm -mfpmath=sse -fomit-frame-pointer -mprefer-avx128 -minline-all-stringops -ftree-vectorize -funroll-all-loops -fprefetch-loop-arrays -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -c keyfileutils.c
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..  -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -DDATADIR="\"/usr/share\"" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE   -O2 -pipe -march=native -mtune=native -msseregparm -mfpmath=sse -fomit-frame-pointer -mprefer-avx128 -minline-all-stringops -ftree-vectorize -funroll-all-loops -fprefetch-loop-arrays -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -c mimeutils.c
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..  -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -DDATADIR="\"/usr/share\"" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE   -O2 -pipe -march=native -mtune=native -msseregparm -mfpmath=sse -fomit-frame-pointer -mprefer-avx128 -minline-all-stringops -ftree-vectorize -funroll-all-loops -fprefetch-loop-arrays -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -c validate.c
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..  -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -DDATADIR="\"/usr/share\"" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE   -O2 -pipe -march=native -mtune=native -msseregparm -mfpmath=sse -fomit-frame-pointer -mprefer-avx128 -minline-all-stringops -ftree-vectorize -funroll-all-loops -fprefetch-loop-arrays -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -c validator.c
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..  -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -DDATADIR="\"/usr/share\"" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE   -O2 -pipe -march=native -mtune=native -msseregparm -mfpmath=sse -fomit-frame-pointer -mprefer-avx128 -minline-all-stringops -ftree-vectorize -funroll-all-loops -fprefetch-loop-arrays -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -c install.c
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..  -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -DDATADIR="\"/usr/share\"" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE   -O2 -pipe -march=native -mtune=native -msseregparm -mfpmath=sse -fomit-frame-pointer -mprefer-avx128 -minline-all-stringops -ftree-vectorize -funroll-all-loops -fprefetch-loop-arrays -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -c update-desktop-database.c
x86_64-pc-linux-gnu-gcc  -O2 -pipe -march=native -mtune=native -msseregparm -mfpmath=sse -fomit-frame-pointer -mprefer-avx128 -minline-all-stringops -ftree-vectorize -funroll-all-loops -fprefetch-loop-arrays -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare  -Wl,--as-needed -o update-desktop-database mimeutils.o update-desktop-database.o -lglib-2.0  
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../lib64/libglib-2.0.so: undefined reference to `omp_get_thread_num'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../lib64/libglib-2.0.so: undefined reference to `omp_get_num_threads'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../lib64/libglib-2.0.so: undefined reference to `GOMP_parallel'
collect2: error: ld returned 1 exit status
Makefile:378: recipe for target 'update-desktop-database' failed
make[2]: *** [update-desktop-database] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/work/desktop-file-utils-0.22/src'
Makefile:365: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/work/desktop-file-utils-0.22'
Makefile:305: recipe for target 'all' failed
make: *** [all] Error 2
 * ERROR: dev-util/desktop-file-utils-0.22::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=dev-util/desktop-file-utils-0.22::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-util/desktop-file-utils-0.22::gentoo'`.
 * The complete build log is located at '/var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/temp/build.log'.
 * The ebuild environment file is located at '/var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/temp/environment'.
 * Working directory: '/var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/work/desktop-file-utils-0.22'
 * S: '/var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/work/desktop-file-utils-0.22'

 * Messages for package dev-util/desktop-file-utils-0.22:

 * ERROR: dev-util/desktop-file-utils-0.22::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=dev-util/desktop-file-utils-0.22::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-util/desktop-file-utils-0.22::gentoo'`.
 * The complete build log is located at '/var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/temp/build.log'.
 * The ebuild environment file is located at '/var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/temp/environment'.
 * Working directory: '/var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/work/desktop-file-utils-0.22'
 * S: '/var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/work/desktop-file-utils-0.22'
 * 
 * The following package has failed to build, install, or execute postinst:
 * 
 *  (dev-util/desktop-file-utils-0.22:0/0::gentoo, ebuild scheduled for merge), Log file:
 *   '/var/calculate/tmp/portage/dev-util/desktop-file-utils-0.22/temp/build.log'
 *

Как вариант, попробовать пересобрать “dev-libs/glib”. И еще вопрос - не слишком ли большое значение стоит в опции “-j20”?

Опция “-j20” стоит уже два года. Проводил испытания на разных значениях. В результате остановился на этой. 8 реальных ядер.

Вариант с пересборкой “dev-libs/glib” помог. Спасибо!

Nick Zet wrote:

Опция “-j20” стоит уже два года. Проводил испытания на разных значениях. В результате остановился на этой. 8 реальных ядер.

Тогда засоветую использовать "j8", формула “Количество ядер +1” в MAKEOPTS не дает прироста скорости сборки, наоборот, начинается увеличение времени. Самое быстрое просто взять колличество ядер процессора. Только если процессоор фирмы Intel - тогда возможно за счет использования функции Hiper Threading, увеличение ядер в 2 раза, хотя я точно не скажу, ибо последний процессор от Intel, что был у меня - это P3 800MHz. Просто советую сменить значения опции “-j”, посмотреть, сколько времени уйдет при разных значениях.

https://blogs.gentoo.org/ago/2013/01/14/makeopts-jcore-1-is-not-the-best-optimization/

Я так и пробовал. Ставил разные цифры от 4 до 20 и смотрел на нагрузку процессора и скорость компиляции. Потом я нашёл статью на просторах инета на аглицком языке, там была формула в которой количество “-j” зависело ещё и от --load-average. Статья толковая, всё объяснялось, что к чему в MAKEOPTS. В общем я вычислил и проверил и всё получилось. Теперь процессор загружен по полной при компиляции и всё устанавливается существенно быстрее. Только при этом надо учитывать, что так же существенно возрастает использование ОЗУ.