Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 789732

Summary: sci-geosciences/liblas-1.8.1-r3[gdal] fail to compile: error: ordered comparison of pointer with integer zero
Product: Gentoo Linux Reporter: Attila Tóth <atoth>
Component: Current packagesAssignee: Sci-geo Project <sci-geosciences>
Status: RESOLVED FIXED    
Severity: normal CC: devurandom, ionen, lssndrbarbieri, sam
Priority: Normal Keywords: PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://github.com/libLAS/libLAS/issues/140
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 732706    
Attachments: build.log + emerge --info.txt

Description Attila Tóth 2021-05-12 19:47:39 UTC
I'm using gcc-11, while liblas was about to recompile due to a dev-libs/icu-69.1 update (dev-libs/boost-1.76.0 update was also happening).
Fails with:
[24/86] /usr/bin/x86_64-pc-linux-gnu-g++ -DHAVE_GDAL=1 -DHAVE_LIBGEOTIFF=1 -Dlas_EXPORTS -I/var/tmp/portage/sci-geosciences/liblas-1.8.1-r3/work/libLAS-1.8.1/src/../include -I/usr/include/gdal  -O2 -march=native -pipe -fPIC -MD -MT src/CMakeFiles/las.dir/gt_citation.cpp.o -MF src/CMakeFiles/las.dir/gt_citation.cpp.o.d -o src/CMakeFiles/las.dir/gt_citation.cpp.o -c /var/tmp/portage/sci-geosciences/liblas-1.8.1-r3/work/libLAS-1.8.1/src/gt_citation.cpp
FAILED: src/CMakeFiles/las.dir/gt_citation.cpp.o
/usr/bin/x86_64-pc-linux-gnu-g++ -DHAVE_GDAL=1 -DHAVE_LIBGEOTIFF=1 -Dlas_EXPORTS -I/var/tmp/portage/sci-geosciences/liblas-1.8.1-r3/work/libLAS-1.8.1/src/../include -I/usr/include/gdal  -O2 -march=native -pipe -fPIC -MD -MT src/CMakeFiles/las.dir/gt_citation.cpp.o -MF src/CMakeFiles/las.dir/gt_citation.cpp.o.d -o src/CMakeFiles/las.dir/gt_citation.cpp.o -c /var/tmp/portage/sci-geosciences/liblas-1.8.1-r3/work/libLAS-1.8.1/src/gt_citation.cpp
/var/tmp/portage/sci-geosciences/liblas-1.8.1-r3/work/libLAS-1.8.1/src/gt_citation.cpp: In function ‘char* ImagineCitationTranslation(char*, geokey_t)’:
/var/tmp/portage/sci-geosciences/liblas-1.8.1-r3/work/libLAS-1.8.1/src/gt_citation.cpp:158:18: error: ordered comparison of pointer with integer zero (‘char*’ and ‘int’)
  158 |         while( p2>0 && (p2[0] == ' ' || p2[0] == '\0' || p2[0] == '\n') )
      |                ~~^~
/var/tmp/portage/sci-geosciences/liblas-1.8.1-r3/work/libLAS-1.8.1/src/gt_citation.cpp:201:18: error: ordered comparison of pointer with integer zero (‘char*’ and ‘int’)
  201 |         while( p2>0 && (p2[0] == ' ' || p2[0] == '\0' || p2[0] == '\n') )
      |                ~~^~


Reproducible: Always




This failure has been reported previously upstreams: see URL.
https://github.com/libLAS/libLAS/issues/140
The issue mentions two gentoo patches, however those are applied.

In my case the following commit fixes the problem:
https://github.com/libLAS/libLAS/pull/128/commits/8c4985384453a2df7254f05688b83706723bad7b
It was originally reported to occur with clang in 2017, but it seems gcc now caught up.
Comment 1 Ionen Wolkens gentoo-dev 2021-05-13 06:31:23 UTC
Created attachment 707778 [details]
build.log + emerge --info.txt

attaching full logs for completeness
Comment 2 Dennis Schridde 2021-05-25 06:42:39 UTC
(In reply to Attila Tóth from comment #0)
> In my case the following commit fixes the problem:
> https://github.com/libLAS/libLAS/pull/128/commits/
> 8c4985384453a2df7254f05688b83706723bad7b
> It was originally reported to occur with clang in 2017, but it seems gcc now
> caught up.

Thank you!  This patch also fixes the build for me.

Portage 3.0.19 (python 3.8.10-final-0, default/linux/amd64/17.1/desktop/plasma/systemd, gcc-11.1.0, glibc-2.33, 5.12.6 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.12.6-x86_64-AMD_Ryzen_5_2400G_with_Radeon_Vega_Graphics-with-glibc2.2.5
KiB Mem:    14187856 total,   1373708 free
KiB Swap:    7093244 total,   7058940 free
Timestamp of repository gentoo: Tue, 25 May 2021 06:15:01 +0000
Head commit of repository gentoo: 0d8e079c447338fe4e13fd380749194cdd1b7348
Timestamp of repository haskell: Tue, 25 May 2021 03:04:57 +0000
Head commit of repository haskell: 3b3bf0068170d615f2bc0e8f4da19a3f5d10bf3f

Head commit of repository local: f116eaaf92fa7e1fe18d9d9cf9c8d645c372a08b

sh bash 5.1_p8
ld GNU gold (Gentoo 2.36.1 p3 2.36.1) 1.16
ccache version 4.3 [disabled]
app-shells/bash:          5.1_p8::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.34.0::gentoo
dev-lang/python:          2.7.18_p10::gentoo, 3.8.10_p1::gentoo, 3.9.5_p1::gentoo, 3.10.0_beta1::gentoo
dev-lang/rust:            1.52.1::gentoo
dev-util/ccache:          4.3::gentoo
dev-util/cmake:           3.20.2::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.7-r2::gentoo
sys-apps/sandbox:         2.24::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.13.4-r2::gentoo, 1.16.3-r1::gentoo
sys-devel/binutils:       2.36.1-r1::gentoo
sys-devel/gcc:            11.1.0::gentoo
sys-devel/gcc-config:     2.4::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.12::gentoo (virtual/os-headers)
sys-libs/glibc:           2.33::gentoo
Repositories:

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

haskell
    location: /var/db/repos/haskell
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/haskell.git
    masters: gentoo

crossdev
    location: /var/cache/portage/crossdev
    masters: gentoo
    priority: 100

local
    location: /var/cache/portage/local
    sync-type: git
    sync-uri: https://github.com/devurandom/gentoo-overlay.git
    masters: gentoo
    priority: 1000

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-pipe -O2 -march=znver1"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/grs/systems.conf /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.6/conf"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.0/ext-active/ /etc/php/cgi-php8.0/ext-active/ /etc/php/cli-php8.0/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="-pipe -O2 -march=znver1"
DISTDIR="/var/cache/portage/distfiles"
EMERGE_DEFAULT_OPTS="--nospinner"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH 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-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildsyspkg cgroup compressdebug config-protect-if-modified distlocks ebuild-locks fakeroot fixlafiles ipc-sandbox merge-sync mount-sandbox multilib-strict network-sandbox news parallel-fetch parallel-install 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 -pipe"
GENTOO_MIRRORS="http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://distfiles.gentoo.org"
LANG="en_GB.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j6 -l4"
PKGDIR="/var/cache/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--new-compress"
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="/tmp"
USE="7z 7zip X a52 aac aacplus aacs acl acpi activities aio alsa amd64 amr appindicator appstream aptx archive audit avahi avif ayatana bdplus berkdb blake2 blas bluetooth bluray bpf branding brotli bs2b btrfs bzip2 cairo caps cdda cddb cdio cdr celt cet chromaprint cjk cli clipboard color-management colord conntrack crypt cups curl d3d9 dav1d dbus declarative device-mapper dirac djvu dmabuf dri drm dts dvb dvd dvdr ed25519 editorconfig egl elf emboss emoji encode epub evdev exif faudio fax fdk ffmpeg fftw filecaps firefox firewalld fish-completion fits flac fontconfig fontforge fortran fribidi gamepad gbm gdal gdbm geoclue geolocation gif git gles2 gles3 gmp gnome-online-accounts gnupg google googledrive gpg gps graphicsmagick gstreamer gtk gtk3 gui gzip harfbuzz hdf5 heif http2 ibus iconv icu id3tag idn imlib inotify introspection ipv6 iwd jemalloc jpeg jpeg2k json kde kipi kms kwallet lapack latex lcms ldac libatomic libglvnd libidn2 libinput libnotify libproxy libsecret libsoxr libtirpc libvirt lm-sensors lrz lto lv2 lvm lz4 lzma lzo mad magic man mariadb markdown mbim mercurial mjpeg mng mobi modemmanager modplug mp3 mp4 mpeg mplayer mpris mtp multilib mysql ncurses netlink networkmanager nftables nls nptl numa office ofono ofx ogg openal opencl opencv openexr opengl openh264 openmax openmp opus otf pam pango pcap pch pcre pcre2 pdf pgo phonon pixman pkcs11 pkcs7 plasma pm-utils png policykit postscript ppds prison pulseaudio python qml qrcode qt5 rav1e raw rdp readline rtmp rubberband samba sasl scanner schroedinger screencast sctp sdl sdl2 seatd seccomp semantic-desktop share smartcard snappy sparse speech speex spell spice srt ssl startup-notification steamruntime stemmer svg systemd tbb tcpd teamd telemetry telepathy tga theora threads thunderbolt tiff timezone tmux tpm truetype udev udisks uinput unicode unwind upnp upnp-av upower usb utempter v4l v4l2 vaapi vamp vdpau vkd3d vorbis vpx vtk vulkan wasm wavpack wayland webchannel webengine webp widgets wireguard wmf woff2 wps x264 x265 xattr xcb xinerama xkb xml xmp xrandr xscreensaver xv xvid xwayland xxhash xz yaml zeroconf zeromq zimg zlib zstd" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="hda-intel" 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" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" ENLIGHTENMENT_MODULES="*" 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" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="joystick libinput" KERNEL="linux" L10N="de de-DE en en-GB ar fa tr ja ko zh zh-CN zh-TW" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver scripting-javascript wiki-publisher" LIRC_DEVICES="devinput" LLVM_TARGETS="AMDGPU BPF RISCV WebAssembly" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1 lua5-4 luajit" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_8" PYTHON_TARGETS="python3_8 pypy pypy3" QEMU_SOFTMMU_TARGETS="riscv32 riscv64 x86_64" QEMU_USER_TARGETS="riscv32 riscv64" RUBY_TARGETS="ruby26" USERLAND="GNU" VIDEO_CARDS="amdgpu virgl" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, RUSTFLAGS

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

sys-devel/gcc-11.1.0::gentoo was built with the following:
USE="(cxx) fortran go graphite lto (multilib) nls nptl objc openmp pch pgo (pie) sanitize ssp zstd (-ada) -custom-cflags -d -debug -doc (-fixed-point) (-hardened) -jit (-libssp) -objc++ -objc-gc -systemtap -test -valgrind -vanilla -vtv" ABI_X86="(64)"
CFLAGS="-pipe -march=znver1 -O2"
CXXFLAGS="-pipe -march=znver1 -O2"
FEATURES="compressdebug fakeroot userfetch protect-owned unknown-features-warn assume-digests usersync network-sandbox qa-unresolved-soname-deps splitdebug unmerge-logs sandbox binpkg-dostrip preserve-libs usersandbox xattr distlocks parallel-fetch strict ipc-sandbox cgroup buildsyspkg ebuild-locks mount-sandbox merge-sync binpkg-docompress parallel-install pid-sandbox binpkg-logs unmerge-orphans sfperms binpkg-multi-instance news fixlafiles config-protect-if-modified userpriv multilib-strict"


sci-geosciences/liblas-1.8.1-r3::gentoo was built with the following:
USE="gdal" ABI_X86="(64)"
Comment 3 Larry the Git Cow gentoo-dev 2021-05-25 11:54:58 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3220d7fbcf7eee75e057450836646ee69628c19d

commit 3220d7fbcf7eee75e057450836646ee69628c19d
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2021-05-25 11:50:31 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-05-25 11:54:46 +0000

    sci-geosciences/liblas: fix GCC 11 build
    
    Closes: https://bugs.gentoo.org/789732
    Signed-off-by: Sam James <sam@gentoo.org>

 .../liblas/files/liblas-1.8.1-gcc11.patch          | 34 ++++++++++++++++++++++
 sci-geosciences/liblas/liblas-1.8.1-r3.ebuild      |  1 +
 2 files changed, 35 insertions(+)