Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 668618 - sci-geosciences/mapnik-3.0.18 fails to compile with dev-libs/icu-62.1
Summary: sci-geosciences/mapnik-3.0.18 fails to compile with dev-libs/icu-62.1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Sci-geo Project
URL:
Whiteboard:
Keywords: NeedPatch
Depends on:
Blocks: icu-61
  Show dependency tree
 
Reported: 2018-10-14 14:15 UTC by Ervin Peters
Modified: 2018-10-16 17:43 UTC (History)
1 user (show)

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


Attachments
build.log (build.log,106.50 KB, text/x-log)
2018-10-14 14:15 UTC, Ervin Peters
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ervin Peters 2018-10-14 14:15:57 UTC
Created attachment 551216 [details]
build.log

I need the unstable icu for nodejs, but after upgrade mapnik fails to compile:

src/text/text_layout.cpp: In Elementfunktion »void mapnik::text_layout::break_line_icu(std::pair<unsigned int, unsigned int>&&)«:
src/text/text_layout.cpp:237:5: Fehler: »Locale« wurde in diesem Gültigkeitsbereich nicht definiert
     Locale locale; // TODO: Is the default constructor correct?
     ^~~~~~
src/text/text_layout.cpp:237:5: Anmerkung: empfohlene Alternative:
In file included from /usr/include/unicode/brkiter.h:49:0,
                 from src/text/text_layout.cpp:34:
/usr/include/unicode/locid.h:188:20: Anmerkung:   »icu::Locale«
 class U_COMMON_API Locale : public UObject {
                    ^~~~~~
src/text/text_layout.cpp:239:21: Fehler: »BreakIterator« wurde in diesem Gültigkeitsbereich nicht definiert
     std::unique_ptr<BreakIterator> breakitr(BreakIterator::createLineInstance(locale, status));
                     ^~~~~~~~~~~~~
src/text/text_layout.cpp:239:21: Anmerkung: empfohlene Alternative:
In file included from src/text/text_layout.cpp:34:0:
/usr/include/unicode/brkiter.h:102:20: Anmerkung:   »icu::BreakIterator«
 class U_COMMON_API BreakIterator : public UObject {
                    ^~~~~~~~~~~~~
src/text/text_layout.cpp:239:34: Fehler: Templateargument 1 ist ungültig
     std::unique_ptr<BreakIterator> breakitr(BreakIterator::createLineInstance(locale, status));
                                  ^
src/text/text_layout.cpp:239:34: Fehler: Templateargument 2 ist ungültig
src/text/text_layout.cpp:239:45: Fehler: »BreakIterator« ist keine Klasse, Namensbereich oder Aufzählung
     std::unique_ptr<BreakIterator> breakitr(BreakIterator::createLineInstance(locale, status));
                                             ^~~~~~~~~~~~~
src/text/text_layout.cpp:239:79: Fehler: »locale« wurde in diesem Gültigkeitsbereich nicht definiert
     std::unique_ptr<BreakIterator> breakitr(BreakIterator::createLineInstance(locale, status));
                                                                               ^~~~~~
src/text/text_layout.cpp:239:79: Anmerkung: empfohlene Alternative:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/g++-v7/bits/ios_base.h:41:0,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/g++-v7/ios:42,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/g++-v7/ostream:38,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/g++-v7/iterator:64,
                 from /usr/include/boost/operators.hpp:95,
                 from include/mapnik/coord.hpp:28,
                 from include/mapnik/box2d.hpp:28,
                 from include/mapnik/text/text_layout.hpp:28,
                 from src/text/text_layout.cpp:23:
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/g++-v7/bits/locale_classes.h:62:9: Anmerkung:   »std::locale«
   class locale
         ^~~~~~
src/text/text_layout.cpp:250:13: Fehler: Basisoperand von »->« ist kein Zeiger
     breakitr->setText(text);
             ^~
src/text/text_layout.cpp:263:53: Fehler: Basisoperand von »->« ist kein Zeiger
         int break_position = wrap_before_ ? breakitr->preceding(i + 1) : breakitr->following(i);
                                                     ^~
src/text/text_layout.cpp:263:82: Fehler: Basisoperand von »->« ist kein Zeiger
         int break_position = wrap_before_ ? breakitr->preceding(i + 1) : breakitr->following(i);
                                                                                  ^~
src/text/text_layout.cpp:266:89: Fehler: »BreakIterator« ist keine Klasse, Namensbereich oder Aufzählung
         if (break_position <= last_break_position || break_position == static_cast<int>(BreakIterator::DONE))
                                                                                         ^~~~~~~~~~~~~
src/text/text_layout.cpp:270:38: Fehler: Basisoperand von »->« ist kein Zeiger
             break_position = breakitr->following(i);
                                      ^~
src/text/text_layout.cpp:271:52: Fehler: »BreakIterator« ist keine Klasse, Namensbereich oder Aufzählung
             if (break_position == static_cast<int>(BreakIterator::DONE))
                                                    ^~~~~~~~~~~~~
src/text/text_layout.cpp: In Elementfunktion »void mapnik::text_layout::break_line(std::pair<unsigned int, unsigned int>&&)«:
src/text/text_layout.cpp:376:89: Fehler: »BreakIterator« wurde nicht deklariert
         if (break_position <= last_break_position || break_position == static_cast<int>(BreakIterator::DONE))
                                                                                         ^~~~~~~~~~~~~
src/text/text_layout.cpp:379:52: Fehler: »BreakIterator« wurde nicht deklariert
             if (break_position == static_cast<int>(BreakIterator::DONE))
                                                    ^~~~~~~~~~~~~

emerge --info:
Portage 2.3.49 (python 3.6.5-final-0, default/linux/amd64/17.0/desktop/gnome/systemd, gcc-7.3.0, glibc-2.26-r7, 4.17.19-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.17.19-gentoo-x86_64-Intel-R-_Core-TM-_i5-6600K_CPU_@_3.50GHz-with-gentoo-2.4.1
KiB Swap:   33554428 total,  33442300 free
Timestamp of repository gentoo: Sun, 14 Oct 2018 06:15:01 +0000
Head commit of repository gentoo: b92cc9ae805091edf16eb4f9215b6b5743b946d5
sh bash 4.4_p12
ld GNU ld (Gentoo 2.30 p5) 2.30.0
app-shells/bash:          4.4_p12::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.24.3-r1::gentoo
dev-lang/python:          2.7.15::gentoo, 3.6.5::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/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.15.1-r2::gentoo
sys-devel/binutils:       2.30-r4::gentoo
sys-devel/gcc:            7.3.0-r3::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.26-r7::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://woodstok.ervnet.xl/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: 
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1

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

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

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

muli
    location: /usr/local/portage
    masters: gentoo
    priority: 1000

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=skylake -O3 -pipe"
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/php/apache2-php7.2/ext-active/ /etc/php/cgi-php7.2/ext-active/ /etc/php/cli-php7.2/ext-active/ /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="-march=skylake -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY 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 -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 strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo http://www.ibiblio.org/pub/Linux/distributions/gentoo ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo"
LANG="de_DE.UTF-8"
LC_ALL="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de en en_GB ru"
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="3d 3ds 64bit X Xaw3d a52 aac ace acl acpi addns aften aim alsa amd64 amr animgif apache2 apng applet aqbanking archive asf aspell assistant audio auto-completion bash-completion bazaar bdf berkdb blender bogofilter branding builder bzip2 cairo cdda cdparanoia cdr charset chm cjk cli collada colord context contrib corefonts crypt css cups curl cvs cvsgraph cxx d darcs dbi dbus deprecated detex devhelp dia discouraged djvu dmx doc dri dri3 drm dts dv dvd dvdnav dvdr dvi dynamicplugin eds emboss emf enca encode equalizer escreen evo examples exif extensions extra extras fam fastcgi fat fax fbcon ffmpeg flac flash fontconfig fontforge fonts foomaticdb fortran fping fpx ftp fuse games gcj gd gdbm gdk-pixbuf geoip georeferencer geos gif gimp git gkrellm glade glamor gles gles1 gnome gnome-keyring gnome-online-accounts gnome-shell gpac gphoto2 gpm gps graphics graphviz grass grub gstreamer gtk gtk2-perl gtkhtml gudev gzip h224 h281 h323 hbci hdri hfs high-ints html humanities ibam icons iconv icq icu ide ieee1394 imagemagick imap infinality inkjar inotify inspector introspection iodbc ios ipv6 irc ithreads jadetex java javascript jbig joystick jpeg jpeg2k kerberos kpathsea lame lasi latex lcms ldap libnotify libsecret libssh2 libtirpc libwww live lm_sensors logrotate lqr lto lua luatex lzo mad mapnik mapserver mdb mdnsresponder-compat menuorg mercurial metric midi mikmod mime minizip mjpeg mms mng mod mozdom mp3 mp4 mpeg mpi mplayer msn mssql mtp multilib music mysql mysqli nautilus ncurses network network-cron networkmanager nfs nfsv4 nls nntp nocd nptl nsplugin ntfs ntfsprogs ntlm odk offensive ofx ogg ogm omega openexr opengl openmp openstreetmap openvg openxml oscar osdmenu pam pango pcf pch pcre pda pdf perl pgf pixmaps player plotutils plugins png pnm polar policykit posix postgres postscript ppds psf pstricks publishers pulseaudio pvr python qt5 quicktime rar raw rdp readline regex register2 reiserfs romio rtsp samba sasl scanner science screen scripts sdl seccomp sensord server sftp shorten simplexml sip sipim slp smartcard smp snmp soap sockets sound soup source sourcecaps sourceview speex spell sql sqlite sqlite3 ssl startup-notification stream subtitles subversion svg sylpheed syslog systemd szip tcpd templates tex tex4ht tga theora thesaurus threads thumbnail thunderbird tidy tiff timidity tinfo tk tools tracker transcode truetype udev udisks unicode unzip upower usb utils uxa v4l vaapi valgrind vcd vdpau vdr vhosts vorbis wav webkit winbind wineappdb wma wmf wxwidgets x264 xattr xbase xcb xcf xcomposite xetex xface xfs xft xml xmlrpc xorgmodule xpm xscreensaver xslt xterm xv xvid xvmc yaepg yahoo youtube zip zlib" ABI_X86="64" ALSA_CARDS="HDA-INTEL" APACHE2_MODULES="modules_unixd actions access_compat alias auth_basic auth_digest authn_anon authn_core authn_dbd authn_dbm authn_file authz_core authz_dbm authz_dbd authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif slotmem_shm so socache_shmcb speling status unique_id userdir usertrack vhost_alias asis cgi cgid" APACHE2_MPMS="worker" CALLIGRA_FEATURES="karbon plan sheets stage words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" 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="keyboard mouse joystick wacom libinput" KERNEL="linux" L10N="de en en-GB ru" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="php mobility" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-1" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" QEMU_SOFTMMU_TARGETS="aarch64 armel i386 mips64el mipsel x86_64" QEMU_USER_TARGETS="x86_64" RUBY_TARGETS="ruby23" 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, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

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

sci-geosciences/mapnik-3.0.18::gentoo was built with the following:
USE="cairo doc postgres sqlite -debug -gdal -osmfonts" ABI_X86="(64)"

I temporarily created copied the ebuild to a mapnik-3.0.20.ebuild to try the current version. Same error. Try to find an upstream bugtracker.
Comment 1 Ervin Peters 2018-10-14 17:54:49 UTC
Upstream provides mapnik-3.0.21, the changelog shows fixed icu >=61 errors.

I copied the 3.0.18 ebuild locally to 3.0.21 and and it builds fine.

Suggestion: restrict mapnik<3.0.21 to icu<61 and push 3.0.21 to tree.

ervin
Comment 2 Andreas Sturmlechner gentoo-dev 2018-10-14 20:34:19 UTC
Could you please test the following upstream commit against 3.0.18?

https://github.com/mapnik/mapnik/commit/1ddfe6c315487a802f2ea38119255a203a25913c.patch
Comment 3 Larry the Git Cow gentoo-dev 2018-10-16 17:43:15 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1c619fe0dcb8c7ebe7ac573f552977127cc2a5ba

commit 1c619fe0dcb8c7ebe7ac573f552977127cc2a5ba
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2018-10-16 17:42:09 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2018-10-16 17:42:59 +0000

    sci-geosciences/mapnik: Fix build with ICU 61
    
    Closes: https://bugs.gentoo.org/668618
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
    Package-Manager: Portage-2.3.51, Repoman-2.3.11

 .../mapnik/files/mapnik-3.0.18-icu-61.patch        | 54 ++++++++++++++++++++++
 sci-geosciences/mapnik/mapnik-3.0.18.ebuild        |  3 +-
 2 files changed, 56 insertions(+), 1 deletion(-)