Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 717768 - dev-libs/ppl fails to build with clang
Summary: dev-libs/ppl fails to build with clang
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Michael Orlitzky
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2020-04-16 23:03 UTC by Olivier Huber
Modified: 2020-04-21 02:47 UTC (History)
3 users (show)

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


Attachments
upstream patch (ppl-clang.patch,1.26 KB, patch)
2020-04-16 23:03 UTC, Olivier Huber
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Olivier Huber 2020-04-16 23:03:36 UTC
Created attachment 633290 [details, diff]
upstream patch

$ echo '#include <ppl.hh>' | clang++ -I/usr/include -x c++ -
In file included from <stdin>:1:
/usr/include/ppl.hh:66466:8: error: missing 'typename' prior to dependent type template name 'OR_Matrix<T>::Pseudo_Row'
inline OR_Matrix<T>::Pseudo_Row<U>&
       ^
/usr/include/ppl.hh:100780:1: error: missing 'typename' prior to dependent type template name 'Determinate<PSET>::Binary_Operator_Assign_Lifter'
Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
^
2 errors generated.


The fix was committed upstream a while back.

http://www.cs.unipr.it/git/gitweb.cgi?p=ppl%2Fppl.git;a=commitdiff_plain;h=c39f6a07b51f89e365b05ba4147aa2aa448febd7;hp=3a5e1e20a94cffb830182f22132b153d6691b7c5

I am having trouble accessing the server right now, so in case it is a generic problem, I am attaching the patch. The issue was reported before

https://trac.sagemath.org/ticket/24704


$ emerge --info dev-libs/ppl sys-devel/clang
Portage 2.3.99 (python 3.6.10-final-0, default/linux/amd64/17.1/desktop/plasma, gcc-9.3.0, glibc-2.30-r7, 5.5.13-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.5.13-gentoo-x86_64-Intel-R-_Core-TM-_i7-8665U_CPU_@_1.90GHz-with-gentoo-2.7
KiB Mem:    32693576 total,  19143016 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Thu, 16 Apr 2020 11:30:01 +0000
Head commit of repository gentoo: 91c8a2b4afe7be0134727aff60f0947ddfab943e
Head commit of repository flatpak-overlay: 2bcc4b030ff8288683533a84f15777680c8c883e

Head commit of repository kdab-overlay: e10d075e52072877a34ea52cd0004ea2e7b7779d

sh bash 5.0_p16
ld GNU ld (Gentoo 2.34 p1) 2.34.0
app-shells/bash:          5.0_p16::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.30.2::gentoo
dev-lang/python:          2.7.17-r2::gentoo, 3.6.10-r1::gentoo, 3.7.7-r1::gentoo, 3.8.2-r1::gentoo
dev-util/cmake:           3.17.1::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/openrc:          0.42.1::gentoo
sys-apps/sandbox:         2.18::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.16.2::gentoo
sys-devel/binutils:       2.34::gentoo
sys-devel/gcc:            9.3.0::gentoo
sys-devel/gcc-config:     2.2.1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.6::gentoo (virtual/os-headers)
sys-libs/glibc:           2.30-r7::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts: 
    sync-rsync-verify-metamanifest: yes

flatpak-overlay
    location: /var/db/repos/flatpak
    sync-type: git
    sync-uri: https://github.com/fosero/flatpak-overlay.git
    masters: gentoo
    priority: 50

kdab-overlay
    location: /var/db/repos/kdab
    sync-type: git
    sync-uri: https://github.com/KDAB/kdab-overlay.git
    masters: gentoo
    priority: 50

localrepo
    location: /var/db/repos/localrepo
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0"
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 -march=native -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -march=native -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs 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="-O2 -march=native -pipe"
GENTOO_MIRRORS="https://ftp.fau.de/gentoo"
LANG="en_US.utf-8"
LC_ALL="en_US.utf-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
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="/dev/shm"
USE="X a52 aac acl acpi activities adns alsa amd64 audit bcrypt berkdb blake2 bluetooth bluray boost branding brightness-control brotli bzip2 cacert cairo caps cdda cdr chm cli colord cplugins crypt cscope cups curl dbus declarative dia djvu dri dts dvd dvdr ed25519 egl eglfs elf elogind emboss encode eps epub evdev exif ffmpeg fftw fits flac fontconfig fontforge fortran gdbm gif gles gles2 gmp gold gpm graphviz gsl gtk highlight http2 iconv icu idn imagemagick ipv6 jack jpeg jpeg2k json kde kipi kms kwallet lapack lapacke latex lcms ldap libnotify libsamplerate libtirpc lm-sensors lzma mad markdown metis mms mng mobi mp3 mp4 mpeg mtp multilib ncurses nls nptl ogg openexr opengl openmp pam pango pcre pdf perl phonon plasma plugins pm-utils png policykit postscript ppds pthread python qml qt5 quiche raw readline rtmp sasl sctp sdl seccomp semantic-desktop sparse speex spell split-usr sqlite ssh ssl startup-notification svg szip tcpd terminal theora threads thunderbolt tiff tools touchpad truetype udev udisks unicode upower usb utils v4l vaapi vim-syntax vorbis wayland webp widgets x264 xar xattr xcb xcomposite xml xpm xv xvid yaml z3 zimg zlib zstd" ABI_X86="64" ADA_TARGET="gnat_2018" 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="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 aes avx avx2 f16c fma3 pclmul popcnt sse3 sse4_1 sse4_2 ssse3" 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 keyboard mouse" KERNEL="linux" L10N="de en fr" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="BPF X86 WebAssembly" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6 python3_7 python3_8" USERLAND="GNU" VIDEO_CARDS="intel i965" 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, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

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

dev-libs/ppl-1.2-r1::gentoo was built with the following:
USE="cxx lpsol -doc -pch -static-libs -test" ABI_X86="(64)"
FEATURES="sfperms binpkg-dostrip distlocks userfetch pid-sandbox usersandbox xattr parallel-fetch protect-owned merge-sync ebuild-locks binpkg-docompress unmerge-orphans unknown-features-warn fixlafiles network-sandbox assume-digests config-protect-if-modified multilib-strict binpkg-logs usersync news preserve-libs sandbox strict ipc-sandbox userpriv unmerge-logs"


sys-devel/clang-10.0.0::gentoo was built with the following:
USE="static-analyzer xml -debug -default-compiler-rt -default-libcxx -doc -test" ABI_X86="(64) -32 (-x32)" LLVM_TARGETS="BPF WebAssembly (X86) -AArch64 -AMDGPU -ARC -ARM -AVR -Hexagon -Lanai -MSP430 -Mips -NVPTX -PowerPC -RISCV -Sparc -SystemZ -XCore" PYTHON_SINGLE_TARGET="python3_6 -python2_7 -python3_7 -python3_8"
FEATURES="usersync sfperms ipc-sandbox multilib-strict config-protect-if-modified protect-owned distlocks unmerge-logs xattr userfetch binpkg-logs sandbox strict binpkg-docompress parallel-fetch ebuild-locks unmerge-orphans userpriv pid-sandbox unknown-features-warn merge-sync fixlafiles qa-unresolved-soname-deps assume-digests binpkg-dostrip usersandbox network-sandbox news preserve-libs"
Comment 1 Larry the Git Cow gentoo-dev 2020-04-21 02:47:43 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8827e0c526c4dc5d6382cd91d1547f64f85b1ace

commit 8827e0c526c4dc5d6382cd91d1547f64f85b1ace
Author:     Michael Orlitzky <mjo@gentoo.org>
AuthorDate: 2020-04-21 01:26:55 +0000
Commit:     Michael Orlitzky <mjo@gentoo.org>
CommitDate: 2020-04-21 02:46:21 +0000

    dev-libs/ppl: new revision to fix the build with clang.
    
    This new revision includes an upstream patch (from their git
    repository) to fix the build with clang by adding some missing
    keywords that should have been there all along. Thanks to Olivier
    Huber for the report and for tracking down the patch.
    
    When building with clang, the ./configure script spits out scary
    warnings about missing the GCC-specific -frounding-math flag. I
    wouldn't worry about it, but judge for yourself.
    
    Closes: https://bugs.gentoo.org/717768
    Package-Manager: Portage-2.3.89, Repoman-2.3.20
    Signed-off-by: Michael Orlitzky <mjo@gentoo.org>

 dev-libs/ppl/files/fix-clang-build.patch | 37 +++++++++++++++++
 dev-libs/ppl/ppl-1.2-r3.ebuild           | 68 ++++++++++++++++++++++++++++++++
 2 files changed, 105 insertions(+)