Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 644190 - games-action/supertuxkart-0.9.3 fails to build "Never use <tbmintrin.h> directly; include <x86intrin.h> instead."
Summary: games-action/supertuxkart-0.9.3 fails to build "Never use <tbmintrin.h> direc...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Games
URL: https://forums.gentoo.org/viewtopic-t...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-11 12:31 UTC by Chí-Thanh Christopher Nguyễn
Modified: 2018-01-18 15:24 UTC (History)
2 users (show)

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


Attachments
build.log (build.log,261.40 KB, text/plain)
2018-01-11 12:31 UTC, Chí-Thanh Christopher Nguyễn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chí-Thanh Christopher Nguyễn gentoo-dev 2018-01-11 12:31:20 UTC
Created attachment 514216 [details]
build.log

games-action/supertuxkart-0.9.3 fails to build with the following error here:

/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/tbmintrin.h:25:3: error: #error "Never use <tbmintrin.h> directly; include <x86intrin.h> instead."
 # error "Never use <tbmintrin.h> directly; include <x86intrin.h> instead."
   ^~~~~

A similar failure with lzcntintrin.h is reported in the forums (see bug URL). Reponsible appears to be these parts of the code in lib/graphics_utils/mipmap/cpusimd.h:

#if __LZCNT__ || CPU_ENABLE_LZCNT
 #include <lzcntintrin.h>
 #define CPU_LZCNT_SUPPORT (1)
#endif
#if __TBM__ || CPU_ENABLE_TBM
 #include <tbmintrin.h>
 #define CPU_TBM_SUPPORT (1)
#endif

lzcnt instructions are present since amdfam10 and haswell. tbm since bdver1. This issue may be masked on some platforms which trigger inclusion of immintrin.h through the support of some other instruction set extension.

Workaround: append -mno-lzcnt -mno-tbm to CFLAGS

# emerge --info games-action/supertuxkart
Portage 2.3.13 (python 3.5.4-final-0, default/linux/amd64/17.0/desktop/plasma, gcc-6.4.0, glibc-2.25-r9, 4.14.10-gentoo-r1 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.14.10-gentoo-r1-x86_64-AMD_FX-tm-8350_Eight-Core_Processor-with-gentoo-2.4.1
KiB Mem:    16391596 total,  11011968 free
KiB Swap:    9764860 total,   9764596 free
Timestamp of repository gentoo: Wed, 10 Jan 2018 14:45:01 +0000
Head commit of repository gentoo: aca6e5c4ab50c3c96c7af8ee29fb77178849c46d
sh bash 4.4_p12
ld GNU ld (Gentoo 2.29.1 p3) 2.29.1
ccache version 3.2.4 [disabled]
app-shells/bash:          4.4_p12::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.3::gentoo
dev-lang/python:          2.7.14-r1::gentoo, 3.5.4-r1::gentoo
dev-util/ccache:          3.2.4::gentoo
dev-util/cmake:           3.9.6::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.34.11::gentoo
sys-apps/sandbox:         2.10-r4::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.15.1-r1::gentoo
sys-devel/binutils:       2.29.1-r1::gentoo
sys-devel/gcc:            5.4.0-r4::gentoo, 6.4.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.25-r9::gentoo
Repositories:

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

local
    location: /usr/local/portage
    masters: gentoo
    priority: 0

x11
    location: /var/lib/layman/x11
    masters: gentoo
    priority: 50

Installed sets: @system
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA PUEL"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /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 /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -march=native"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms sign strict unknown-features-warn unmerge-logs unmerge-orphans userfetch usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/gentoo/"
LANG="de_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de en vi"
MAKEOPTS="-j8"
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="X a52 aac acl acpi activities alsa amd64 avahi berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit crypt cups curl cxx dbus declarative dri dts dv dvb dvd dvdr emboss encode exif fam fbcon ffmpeg flac fontconfig fortran gcj gdbm gif glamor gnutls gpm gs gtk iconv imlib ipv6 java jpeg jpeg2k kde kdeenablefinal kdrive kipi kwallet lcms ldap libnotify libsamplerate lm_sensors mad mdnsresponder-compat mng modules mp3 mp4 mpeg multilib ncurses nls nptl nsplugin ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds qml qt3support qt5 rdesktop readline ruby samba sdl seamonkey seccomp semantic-desktop sndfile spell sqlite3 sse3 ssl startup-notification svg tcpd theora tiff truetype udev udisks unicode upower usb vdpau vorbis widgets wxwidgets x264 xattr xcb xcomposite xml xv xvid zeroconf zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx fma3 fma4 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 xop" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" L10N="de en vi" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" QEMU_SOFTMMU_TARGETS="*" QEMU_USER_TARGETS="*" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="amdgpu radeon radeonsi intel ilo nouveau" 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

=================================================================
                        Package Settings
=================================================================

games-action/supertuxkart-0.9.2::gentoo was built with the following:
USE="-debug -fribidi -wiimote" ABI_X86="(64)"
Comment 1 Ștefan Talpalaru 2018-01-18 01:32:28 UTC
A patched games-action/supertuxkart-0.9.3-r1 is available in my overlay: https://github.com/stefantalpalaru/gentoo-overlay
Comment 2 Larry the Git Cow gentoo-dev 2018-01-18 15:24:58 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=49441c0caade1866d7270e166025c06b1f71acbd

commit 49441c0caade1866d7270e166025c06b1f71acbd
Author:     James Le Cuirot <chewi@gentoo.org>
AuthorDate: 2018-01-18 15:21:18 +0000
Commit:     James Le Cuirot <chewi@gentoo.org>
CommitDate: 2018-01-18 15:24:49 +0000

    games-action/supertuxkart: Add upstream patch to fix CPU intrinsics
    
    Closes: https://bugs.gentoo.org/644190
    Package-Manager: Portage-2.3.19, Repoman-2.3.6

 .../files/supertuxkart-0.9.3-intrin.patch          | 56 ++++++++++++++++++++++
 .../supertuxkart/supertuxkart-0.9.3.ebuild         |  3 +-
 2 files changed, 58 insertions(+), 1 deletion(-)