Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 589674 - media-libs/x265-2.2 - .../work/x265_2.0/source/common/arm/asm-primitives.cpp:<command-line>:0:9: error: ‘x265_12bit_ssim_4x4x2_core_neon’ was not declared in this scope
Summary: media-libs/x265-2.2 - .../work/x265_2.0/source/common/arm/asm-primitives.cpp:...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM Linux
: Normal normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-07-25 14:08 UTC by Aldo Mazzeo
Modified: 2017-02-07 11:36 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log (build.log,602.79 KB, text/plain)
2016-07-25 14:47 UTC, Aldo Mazzeo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aldo Mazzeo 2016-07-25 14:08:57 UTC
I'm trying to update the x265 package to version 2.0 on an ARM architecture, but the compilation stops soon after with the following error messages:

Linker flags:
Executable       -Wl,-O1 -Wl,--as-needed
Module           -Wl,-O1 -Wl,--as-needed
Shared           -Wl,-O1 -Wl,--as-needed

-- Configuring done
-- Generating done
-- Build files have been written to: /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main
>>> Source configured.
>>> Compiling source in /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source ...
 * .arm: running multilib-minimal_abi_src_compile
 * main12: running cmake-utils_src_compile
>>> Working in BUILD_DIR: "/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12"
make -j3 VERBOSE=1
/usr/bin/cmake -H/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source -B/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12 --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12/CMakeFiles /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12'
make -f encoder/CMakeFiles/encoder.dir/build.make encoder/CMakeFiles/encoder.dir/depend
make -f common/CMakeFiles/common.dir/build.make common/CMakeFiles/common.dir/depend
make[2]: Entering directory '/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12'
cd /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12 && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/so$
make[2]: Entering directory '/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12'
cd /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12 && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/so$
Dependee "/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12/encoder/CMakeFiles/encoder.dir/DependInfo.cmake" is newer than depender "/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12/encoder/CMake$
Dependee "/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12/encoder/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12/encoder/CM$
Dependee "/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12/common/CMakeFiles/common.dir/DependInfo.cmake" is newer than depender "/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12/common/CMakeFil$
Dependee "/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12/common/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12/common/CMak$
Scanning dependencies of target encoder
make[2]: Leaving directory '/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12'
make -f encoder/CMakeFiles/encoder.dir/build.make encoder/CMakeFiles/encoder.dir/build
make[2]: Entering directory '/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12'
[  2%] Building CXX object encoder/CMakeFiles/encoder.dir/search.cpp.o
[  2%] Building CXX object encoder/CMakeFiles/encoder.dir/analysis.cpp.o
cd /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12/encoder && /usr/bin/armv7a-hardfloat-linux-gnueabi-g++  -DEXPORT_C_API=0 -DHAVE_ARMV6=1 -DHAVE_INT_TYPES_H=1 -DHAVE_NEON -DHIGH_BIT_DEPTH=1 -DX265_ARCH_ARM=1 -DX26$
cd /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12/encoder && /usr/bin/armv7a-hardfloat-linux-gnueabi-g++  -DEXPORT_C_API=0 -DHAVE_ARMV6=1 -DHAVE_INT_TYPES_H=1 -DHAVE_NEON -DHIGH_BIT_DEPTH=1 -DX265_ARCH_ARM=1 -DX26$
Scanning dependencies of target common
make[2]: Leaving directory '/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12'
make -f common/CMakeFiles/common.dir/build.make common/CMakeFiles/common.dir/build
make[2]: Entering directory '/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12'
[  4%] Building CXX object common/CMakeFiles/common.dir/arm/asm-primitives.cpp.o
cd /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source-.arm-main12/common && /usr/bin/armv7a-hardfloat-linux-gnueabi-g++  -DEXPORT_C_API=0 -DHAVE_ARMV6=1 -DHAVE_INT_TYPES_H=1 -DHAVE_NEON -DHIGH_BIT_DEPTH=1 -DX265_ARCH_ARM=1 -DX265$
In file included from /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source/common/primitives.h:34:0,
                 from /var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source/common/arm/asm-primitives.cpp:28:
/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source/common/arm/asm-primitives.cpp: In function ‘void x265_12bit::setupAssemblyPrimitives(x265_12bit::EncoderPrimitives&, int)’:
<command-line>:0:9: error: ‘x265_12bit_ssim_4x4x2_core_neon’ was not declared in this scope
/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source/common/cpu.h:31:28: note: in definition of macro ‘PFX3’
 #define PFX3(prefix, name) prefix ## _ ## name
                            ^
/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source/common/cpu.h:33:28: note: in expansion of macro ‘PFX2’
 #define PFX(name)          PFX2(X265_NS, name)
                            ^
/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source/common/cpu.h:33:33: note: in expansion of macro ‘X265_NS’
 #define PFX(name)          PFX2(X265_NS, name)
                                 ^
/var/tmp/portage/media-libs/x265-2.0/work/x265_2.0/source/common/arm/asm-primitives.cpp:48:29: note: in expansion of macro ‘PFX’
         p.ssim_4x4x2_core = PFX(ssim_4x4x2_core_neon);

...
...

I don't know if other architectures are suffering this issue also.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2016-07-25 14:42:49 UTC
1) Please post your `emerge --info' output in a comment.
2) Please attach the entire build log to this bug report.
Comment 2 Aldo Mazzeo 2016-07-25 14:47:58 UTC
Created attachment 441520 [details]
Build log
Comment 3 Aldo Mazzeo 2016-07-25 14:48:51 UTC
Portage 2.3.0 (python 3.4.4-final-0, hardened/linux/arm/armv7a, gcc-5.3.0, glibc-2.23-r2, 4.4.14-v7+ armv7l)
=================================================================
System uname: Linux-4.4.14-v7+-armv7l-ARMv7_Processor_rev_5_-v7l-with-gentoo-2.2
KiB Mem:      996476 total,    538088 free
KiB Swap:   16777212 total,  16545708 free
Timestamp of repository gentoo: Mon, 25 Jul 2016 12:00:01 +0000
sh bash 4.3_p46
ld GNU ld (Gentoo 2.26.1 p1.0) 2.26.1
app-shells/bash:          4.3_p46::gentoo
dev-lang/perl:            5.24.0-r1::gentoo
dev-lang/python:          2.7.11-r2::gentoo, 3.4.4::gentoo, 3.5.2::gentoo
dev-util/cmake:           3.6.1::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.2-r1::gentoo
sys-apps/openrc:          0.21.2::gentoo
sys-apps/sandbox:         2.10-r2::gentoo
sys-devel/autoconf:       2.69-r2::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.26.1::gentoo
sys-devel/gcc:            5.3.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.6::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

ACCEPT_KEYWORDS="arm ~arm"
ACCEPT_LICENSE="* -@EULA"
CBUILD="armv7a-hardfloat-linux-gnueabi"
CFLAGS="-march=native -O2 -pipe"
CHOST="armv7a-hardfloat-linux-gnueabi"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.0/ext-active/ /etc/php/cgi-php7.0/ext-active/ /etc/php/cli-php7.0/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe -march=armv7-a"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=armv7-a"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
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"
USE="acl arm armv5te armv6 armv6t2 berkdb bindist bzip2 cli cracklib crypt cxx dri flac gdbm hardened iconv ipv6 jpeg modules mp3 ncurses nls nptl ogg openmp pam pax_kernel pcre pic pie png readline seccomp session ssl ssp subversion tcpd tiff unicode urandom usb xattr xtpax zlib" 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="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-0" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="exynos fbdev omap omapfb dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 4 Alexis Ballier gentoo-dev 2017-01-31 14:00:33 UTC
please try with 2.2, 2.0 -> 2.2 has seen lots of arm improvements i think
Comment 5 Aldo Mazzeo 2017-01-31 14:56:07 UTC
The bug is still present in 2.2
Comment 6 Alexis Ballier gentoo-dev 2017-02-07 11:36:45 UTC
commit 1a09e44eac27b76085eafe0db8f52ed46c98ee41
Author: Alexis Ballier <aballier@gentoo.org>
Date:   Tue Feb 7 12:35:50 2017 +0100

    media-libs/x265: Fixes for arm.
    
    Add patch to properly detect ARM.
    Do not force CFLAGS for ARM, esp. -march=native which breaks when cross compiling.
    Add neon useflag.
    Disable neon on main10 & main12 profiles as those do not build, bug #589674.
    Add patch to define proper symbols when disabling neon.



Should be fixed now, thanks!