Closed esjmb closed 5 years ago
Might be an issue with double-conversion
between 2.0.2.0
and the version in lts-12.x (can you check what version was there? double-conversion
is a grandfathered dependency so doesn't show directly on the stackage page)
Hi, thanks for the quick reponse.
the dependency path is as follows:
stdc++ <-- double-conversion <-- bytestring-conversion <-- servant-auth-server
where A<—B means B depends on A
the versions seems stable over recent time:
bytestring-conversion’s current version (0.3.1) has been stable for quite some time - you have to go back to LTS 12.17 before you regress to 0.3.0 : https://www.stackage.org/package/bytestring-conversion/snapshots
double-conversion has been stable on 2.0.2.0 since its LTS 7.13 : https://www.stackage.org/package/double-conversion/snapshots
the last change to double-conversion in the commit history is dec 2016. the last change to bytestring-conversion was in jan 2016.
I’ve had a scan of servant-auth-server commits for the cabal file and i don’t think there has been a change there that is relevant either.
So, I don’t think the issue is with code in either library changed from 12.x (i think i was on 12.21 as it happens) to 13.0.
So far as I can tell its just a build issue on ubuntu with its-13.0?
the code builds on my MacBook pro with stack build
, but when i try stack --docker build
with LTS set to 13.0, no joy. I've tried a complete kill of stack-work etc. I've also tried an exec bash into fpco-stack-build and so far as i can tell, g++ is installed.
cheers Stephen
Thanks for the reply. Indeed, it is not from Haskell land. One more thing that you could try (I'm not on a computer where I can run stack
or other Haskell code) is to exec bash
into the docker container and check versions of g++
, clang++
(if available) and contents of /lib
and /usr/lib
(do a find -type f
on them and pastebin the result, if possible).
Thanks.
here the results:
g++-5 --version g++-5 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609
no clang++
find /lib -type f
/lib/udev/hwclock-set
/lib/udev/rules.d/99-systemd.rules
/lib/udev/rules.d/73-seat-late.rules
/lib/udev/rules.d/71-seat.rules
/lib/udev/rules.d/70-uaccess.rules
/lib/udev/rules.d/60-gnupg.rules
/lib/udev/rules.d/60-libfreenect0.5.rules
/lib/udev/rules.d/60-persistent-v4l.rules
/lib/udev/rules.d/77-mm-longcheer-port-types.rules
/lib/udev/rules.d/95-upower-wup.rules
/lib/udev/rules.d/60-persistent-input.rules
/lib/udev/rules.d/80-libinput-device-groups.rules
/lib/udev/rules.d/77-mm-haier-port-types.rules
/lib/udev/rules.d/77-mm-telit-port-types.rules
/lib/udev/rules.d/75-net-description.rules
/lib/udev/rules.d/60-persistent-alsa.rules
/lib/udev/rules.d/85-keyboard-configuration.rules
/lib/udev/rules.d/40-vm-hotadd.rules
/lib/udev/rules.d/40-i2c-tools.rules
/lib/udev/rules.d/77-mm-x22x-port-types.rules
/lib/udev/rules.d/69-xorg-vmmouse.rules
/lib/udev/rules.d/71-nvidia.rules
/lib/udev/rules.d/60-evdev.rules
/lib/udev/rules.d/69-libmtp.rules
/lib/udev/rules.d/95-upower-hid.rules
/lib/udev/rules.d/80-udisks2.rules
/lib/udev/rules.d/50-firmware.rules
/lib/udev/rules.d/77-mm-platform-serial-whitelist.rules
/lib/udev/rules.d/70-power-switch.rules
/lib/udev/rules.d/42-pn53x.rules
/lib/udev/rules.d/70-mouse.rules
/lib/udev/rules.d/85-regulatory.rules
/lib/udev/rules.d/50-udev-default.rules
/lib/udev/rules.d/77-mm-huawei-net-port-types.rules
/lib/udev/rules.d/77-mm-usb-serial-adapters-greylist.rules
/lib/udev/rules.d/71-power-switch-proliant.rules
/lib/udev/rules.d/60-block.rules
/lib/udev/rules.d/60-libsane.rules
/lib/udev/rules.d/60-drm.rules
/lib/udev/rules.d/80-net-setup-link.rules
/lib/udev/rules.d/80-ifupdown.rules
/lib/udev/rules.d/50-bluetooth-hci-auto-poweron.rules
/lib/udev/rules.d/77-mm-mtk-port-types.rules
/lib/udev/rules.d/66-xorg-synaptics-quirks.rules
/lib/udev/rules.d/61-gnome-bluetooth-rfkill.rules
/lib/udev/rules.d/70-debian-uaccess.rules
/lib/udev/rules.d/75-probe_mtd.rules
/lib/udev/rules.d/39-usbmuxd.rules
/lib/udev/rules.d/85-nm-unmanaged.rules
/lib/udev/rules.d/64-xorg-xkb.rules
/lib/udev/rules.d/77-mm-qdl-device-blacklist.rules
/lib/udev/rules.d/95-cd-devices.rules
/lib/udev/rules.d/73-usb-net-by-mac.rules
/lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules
/lib/udev/rules.d/60-persistent-storage.rules
/lib/udev/rules.d/90-libinput-model-quirks.rules
/lib/udev/rules.d/95-upower-csr.rules
/lib/udev/rules.d/69-wacom.rules
/lib/udev/rules.d/78-sound-card.rules
/lib/udev/rules.d/60-serial.rules
/lib/udev/rules.d/90-pulseaudio.rules
/lib/udev/rules.d/77-mm-simtech-port-types.rules
/lib/udev/rules.d/77-mm-nokia-port-types.rules
/lib/udev/rules.d/97-hid2hci.rules
/lib/udev/rules.d/84-nm-drivers.rules
/lib/udev/rules.d/73-special-net-names.rules
/lib/udev/rules.d/80-drivers.rules
/lib/udev/rules.d/64-btrfs.rules
/lib/udev/rules.d/61-persistent-storage-android.rules
/lib/udev/rules.d/77-mm-usb-device-blacklist.rules
/lib/udev/rules.d/40-usb_modeswitch.rules
/lib/udev/rules.d/77-mm-zte-port-types.rules
/lib/udev/rules.d/70-printers.rules
/lib/udev/rules.d/77-mm-ericsson-mbm.rules
/lib/udev/rules.d/80-mm-candidate.rules
/lib/udev/rules.d/60-libgphoto2-6.rules
/lib/udev/rules.d/78-graphics-card.rules
/lib/udev/rules.d/60-persistent-storage-tape.rules
/lib/udev/rules.d/60-cdrom_id.rules
/lib/udev/rules.d/65-libwacom.rules
/lib/udev/rules.d/40-crda.rules
/lib/udev/rules.d/69-cd-sensors.rules
/lib/udev/rules.d/77-mm-cinterion-port-types.rules
/lib/udev/rules.d/77-mm-dell-port-types.rules
/lib/udev/rules.d/80-debian-compat.rules
/lib/udev/hwdb.d/20-pci-vendor-model.hwdb
/lib/udev/hwdb.d/20-net-ifname.hwdb
/lib/udev/hwdb.d/69-libmtp.hwdb
/lib/udev/hwdb.d/20-libgphoto2-6.hwdb
/lib/udev/hwdb.d/90-libinput-model-quirks.hwdb
/lib/udev/hwdb.d/20-OUI.hwdb
/lib/udev/hwdb.d/20-usb-vendor-model.hwdb
/lib/udev/hwdb.d/20-usb-classes.hwdb
/lib/udev/hwdb.d/20-acpi-vendor.hwdb
/lib/udev/hwdb.d/20-pci-classes.hwdb
/lib/udev/hwdb.d/20-sdio-vendor-model.hwdb
/lib/udev/hwdb.d/70-mouse.hwdb
/lib/udev/hwdb.d/20-sdio-classes.hwdb
/lib/udev/hwdb.d/20-bluetooth-vendor-product.hwdb
/lib/udev/hwdb.d/60-evdev.hwdb
/lib/udev/hwdb.d/70-pointingstick.hwdb
/lib/udev/hwdb.d/60-keyboard.hwdb
/lib/udev/udev-configure-printer
/lib/udev/console-setup-tty
/lib/udev/hotplug.functions
/lib/udev/hid2hci
/lib/udev/v4l_id
/lib/udev/mtp-probe
/lib/udev/udev-add-printer
/lib/udev/libinput-model-quirks
/lib/udev/collect
/lib/udev/mtd_probe
/lib/udev/ifupdown-hotplug
/lib/udev/hwdb.bin
/lib/udev/ata_id
/lib/udev/libinput-device-group
/lib/udev/scsi_id
/lib/udev/usb_modeswitch
/lib/udev/cdrom_id
/lib/init/vars.sh
/lib/init/init-d-script
/lib/init/upstart-job
/lib/init/apparmor-profile-load
/lib/init/fstab
/lib/x86_64-linux-gnu/libnss_nisplus-2.23.so
/lib/x86_64-linux-gnu/libcom_err.so.2.1
/lib/x86_64-linux-gnu/libcrypt-2.23.so
/lib/x86_64-linux-gnu/libfdisk.so.1.1.0
/lib/x86_64-linux-gnu/libnss_compat-2.23.so
/lib/x86_64-linux-gnu/libprocps.so.4.0.0
/lib/x86_64-linux-gnu/librt-2.23.so
/lib/x86_64-linux-gnu/libgpg-error.so.0.17.0
/lib/x86_64-linux-gnu/libblkid.so.1.1.0
/lib/x86_64-linux-gnu/libext2fs.so.2.4
/lib/x86_64-linux-gnu/libpam_misc.so.0.82.0
/lib/x86_64-linux-gnu/libsystemd.so.0.14.0
/lib/x86_64-linux-gnu/libnss_files-2.23.so
/lib/x86_64-linux-gnu/libtinfo.so.5.9
/lib/x86_64-linux-gnu/libkmod.so.2.3.0
/lib/x86_64-linux-gnu/libnsl-2.23.so
/lib/x86_64-linux-gnu/libdevmapper.so.1.02.1
/lib/x86_64-linux-gnu/libss.so.2.0
/lib/x86_64-linux-gnu/libpthread-2.23.so
/lib/x86_64-linux-gnu/libe2p.so.2.3
/lib/x86_64-linux-gnu/libpamc.so.0.82.1
/lib/x86_64-linux-gnu/libpcprofile.so
/lib/x86_64-linux-gnu/libacl.so.1.1.0
/lib/x86_64-linux-gnu/libSegFault.so
/lib/x86_64-linux-gnu/security/pam_motd.so
/lib/x86_64-linux-gnu/security/pam_unix.so
/lib/x86_64-linux-gnu/security/pam_ftp.so
/lib/x86_64-linux-gnu/security/pam_extrausers.so
/lib/x86_64-linux-gnu/security/pam_nologin.so
/lib/x86_64-linux-gnu/security/pam_sepermit.so
/lib/x86_64-linux-gnu/security/pam_permit.so
/lib/x86_64-linux-gnu/security/pam_warn.so
/lib/x86_64-linux-gnu/security/pam_rhosts.so
/lib/x86_64-linux-gnu/security/pam_limits.so
/lib/x86_64-linux-gnu/security/pam_mail.so
/lib/x86_64-linux-gnu/security/pam_xauth.so
/lib/x86_64-linux-gnu/security/pam_group.so
/lib/x86_64-linux-gnu/security/pam_listfile.so
/lib/x86_64-linux-gnu/security/pam_deny.so
/lib/x86_64-linux-gnu/security/pam_timestamp.so
/lib/x86_64-linux-gnu/security/pam_umask.so
/lib/x86_64-linux-gnu/security/pam_access.so
/lib/x86_64-linux-gnu/security/pam_shells.so
/lib/x86_64-linux-gnu/security/pam_localuser.so
/lib/x86_64-linux-gnu/security/pam_loginuid.so
/lib/x86_64-linux-gnu/security/pam_securetty.so
/lib/x86_64-linux-gnu/security/pam_userdb.so
/lib/x86_64-linux-gnu/security/pam_keyinit.so
/lib/x86_64-linux-gnu/security/pam_selinux.so
/lib/x86_64-linux-gnu/security/pam_pwhistory.so
/lib/x86_64-linux-gnu/security/pam_rootok.so
/lib/x86_64-linux-gnu/security/pam_time.so
/lib/x86_64-linux-gnu/security/pam_faildelay.so
/lib/x86_64-linux-gnu/security/pam_tally2.so
/lib/x86_64-linux-gnu/security/pam_lastlog.so
/lib/x86_64-linux-gnu/security/pam_env.so
/lib/x86_64-linux-gnu/security/pam_stress.so
/lib/x86_64-linux-gnu/security/pam_tally.so
/lib/x86_64-linux-gnu/security/pam_echo.so
/lib/x86_64-linux-gnu/security/pam_namespace.so
/lib/x86_64-linux-gnu/security/pam_succeed_if.so
/lib/x86_64-linux-gnu/security/pam_filter.so
/lib/x86_64-linux-gnu/security/pam_exec.so
/lib/x86_64-linux-gnu/security/pam_debug.so
/lib/x86_64-linux-gnu/security/pam_wheel.so
/lib/x86_64-linux-gnu/security/pam_tty_audit.so
/lib/x86_64-linux-gnu/security/pam_mkhomedir.so
/lib/x86_64-linux-gnu/security/pam_issue.so
/lib/x86_64-linux-gnu/security/pam_gnome_keyring.so
/lib/x86_64-linux-gnu/security/pam_systemd.so
/lib/x86_64-linux-gnu/libcap.so.2.24
/lib/x86_64-linux-gnu/libnss_hesiod-2.23.so
/lib/x86_64-linux-gnu/libattr.so.1.1.0
/lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
/lib/x86_64-linux-gnu/libm-2.23.so
/lib/x86_64-linux-gnu/libpam.so.0.83.1
/lib/x86_64-linux-gnu/libreadline.so.6.3
/lib/x86_64-linux-gnu/libncursesw.so.5.9
/lib/x86_64-linux-gnu/libcryptsetup.so.4.6.0
/lib/x86_64-linux-gnu/libpcre.so.3.13.2
/lib/x86_64-linux-gnu/libbz2.so.1.0.4
/lib/x86_64-linux-gnu/libanl-2.23.so
/lib/x86_64-linux-gnu/libselinux.so.1
/lib/x86_64-linux-gnu/libmvec-2.23.so
/lib/x86_64-linux-gnu/libthread_db-1.0.so
/lib/x86_64-linux-gnu/libresolv-2.23.so
/lib/x86_64-linux-gnu/libc-2.23.so
/lib/x86_64-linux-gnu/libBrokenLocale-2.23.so
/lib/x86_64-linux-gnu/libsmartcols.so.1.1.0
/lib/x86_64-linux-gnu/libz.so.1.2.8
/lib/x86_64-linux-gnu/libapparmor.so.1.4.0
/lib/x86_64-linux-gnu/libhistory.so.6.3
/lib/x86_64-linux-gnu/libutil-2.23.so
/lib/x86_64-linux-gnu/libdl-2.23.so
/lib/x86_64-linux-gnu/libnss_nis-2.23.so
/lib/x86_64-linux-gnu/libnss_dns-2.23.so
/lib/x86_64-linux-gnu/libusb-0.1.so.4.4.4
/lib/x86_64-linux-gnu/libncurses.so.5.9
/lib/x86_64-linux-gnu/libseccomp.so.2.3.1
/lib/x86_64-linux-gnu/libudev.so.1.6.4
/lib/x86_64-linux-gnu/ld-2.23.so
/lib/x86_64-linux-gnu/libuuid.so.1.3.0
/lib/x86_64-linux-gnu/libaudit.so.1.0.0
/lib/x86_64-linux-gnu/libmount.so.1.1.0
/lib/x86_64-linux-gnu/liblzma.so.5.0.0
/lib/x86_64-linux-gnu/libcidn-2.23.so
/lib/x86_64-linux-gnu/libmemusage.so
/lib/x86_64-linux-gnu/libsepol.so.1
/lib/x86_64-linux-gnu/libgcc_s.so.1
/lib/x86_64-linux-gnu/libply-splash-graphics.so.4.0.0
/lib/x86_64-linux-gnu/libip6tc.so.0.1.0
/lib/x86_64-linux-gnu/libnih.so.1.0.0
/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
/lib/x86_64-linux-gnu/libpng12.so.0.54.0
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4800.2
/lib/x86_64-linux-gnu/libiptc.so.0.0.0
/lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2
/lib/x86_64-linux-gnu/libply-boot-client.so.4.0.0
/lib/x86_64-linux-gnu/libdbus-1.so.3.14.6
/lib/x86_64-linux-gnu/libply-splash-core.so.4.0.0
/lib/x86_64-linux-gnu/libnss_mdns_minimal.so.2
/lib/x86_64-linux-gnu/libnss_mdns6.so.2
/lib/x86_64-linux-gnu/libkeyutils.so.1.5
/lib/x86_64-linux-gnu/liblzo2.so.2.0.0
/lib/x86_64-linux-gnu/libaio.so.1.0.1
/lib/x86_64-linux-gnu/libatm.so.1.0.0
/lib/x86_64-linux-gnu/libssl.so.1.0.0
/lib/x86_64-linux-gnu/libnih-dbus.so.1.0.0
/lib/x86_64-linux-gnu/libjson-c.so.2.0.0
/lib/x86_64-linux-gnu/libntfs-3g.so.861.0.0
/lib/x86_64-linux-gnu/libnss_mdns.so.2
/lib/x86_64-linux-gnu/libply.so.4.0.0
/lib/x86_64-linux-gnu/libulockmgr.so.1.0.1
/lib/x86_64-linux-gnu/libx86.so.1
/lib/x86_64-linux-gnu/libisc-export.so.160.0.0
/lib/x86_64-linux-gnu/libparted.so.2.0.1
/lib/x86_64-linux-gnu/libwrap.so.0.7.6
/lib/x86_64-linux-gnu/libexpat.so.1.6.0
/lib/x86_64-linux-gnu/libnss_mdns6_minimal.so.2
/lib/x86_64-linux-gnu/libslang.so.2.3.0
/lib/x86_64-linux-gnu/libpcsclite.so.1.0.0
/lib/x86_64-linux-gnu/libdns-export.so.162.1.3
/lib/x86_64-linux-gnu/libpopt.so.0.0.0
/lib/x86_64-linux-gnu/libfuse.so.2.9.4
/lib/x86_64-linux-gnu/libbsd.so.0.8.2
/lib/x86_64-linux-gnu/libnewt.so.0.52.18
/lib/x86_64-linux-gnu/libip4tc.so.0.1.0
/lib/x86_64-linux-gnu/libnl-genl-3.so.200.22.0
/lib/x86_64-linux-gnu/libcgmanager.so.0.0.0
/lib/x86_64-linux-gnu/libmnl.so.0.1.0
/lib/x86_64-linux-gnu/libnss_mdns4.so.2
/lib/x86_64-linux-gnu/libnl-3.so.200.22.0
/lib/x86_64-linux-gnu/libpci.so.3.3.1
/lib/x86_64-linux-gnu/libatasmart.so.4.0.5
/lib/x86_64-linux-gnu/libusb-1.0.so.0.1.0
/lib/x86_64-linux-gnu/libxtables.so.11.0.0
/lib/terminfo/l/linux
/lib/terminfo/r/rxvt-basic
/lib/terminfo/r/rxvt-unicode
/lib/terminfo/r/rxvt
/lib/terminfo/x/xterm
/lib/terminfo/x/xterm-r5
/lib/terminfo/x/xterm-xfree86
/lib/terminfo/x/xterm-r6
/lib/terminfo/x/xterm-vt220
/lib/terminfo/x/xterm-color
/lib/terminfo/x/xterm-256color
/lib/terminfo/x/xterm-mono
/lib/terminfo/w/wsvt25m
/lib/terminfo/w/wsvt25
/lib/terminfo/p/pcansi
/lib/terminfo/a/ansi
/lib/terminfo/v/vt100
/lib/terminfo/v/vt220
/lib/terminfo/v/vt52
/lib/terminfo/v/vt102
/lib/terminfo/s/screen-256color-bce
/lib/terminfo/s/screen-w
/lib/terminfo/s/screen-256color
/lib/terminfo/s/screen-s
/lib/terminfo/s/sun
/lib/terminfo/s/screen
/lib/terminfo/s/screen-bce
/lib/terminfo/E/Eterm
/lib/terminfo/d/dumb
/lib/terminfo/h/hurd
/lib/terminfo/c/cygwin
/lib/terminfo/c/cons25
/lib/terminfo/c/cons25-debian
/lib/terminfo/m/mach-gnu
/lib/terminfo/m/mach-bold
/lib/terminfo/m/mach-gnu-color
/lib/terminfo/m/mach-color
/lib/terminfo/m/mach
/lib/systemd/systemd-bootchart
/lib/systemd/systemd-sleep
/lib/systemd/systemd-hibernate-resume
/lib/systemd/systemd-modules-load
/lib/systemd/systemd-networkd-wait-online
/lib/systemd/systemd-localed
/lib/systemd/systemd-ac-power
/lib/systemd/systemd-socket-proxyd
/lib/systemd/systemd-hostnamed
/lib/systemd/systemd-rfkill
/lib/systemd/systemd-resolved
/lib/systemd/system/rpcbind.target
/lib/systemd/system/systemd-reboot.service
/lib/systemd/system/systemd-sysctl.service
/lib/systemd/system/kexec.target
/lib/systemd/system/console-getty.service
/lib/systemd/system/systemd-quotacheck.service
/lib/systemd/system/sockets.target
/lib/systemd/system/initrd-cleanup.service
/lib/systemd/system/local-fs.target
/lib/systemd/system/initrd-root-fs.target
/lib/systemd/system/timers.target
/lib/systemd/system/quotaon.service
/lib/systemd/system/systemd-modules-load.service
/lib/systemd/system/systemd-journald-dev-log.socket
/lib/systemd/system/hibernate.target
/lib/systemd/system/apt-daily.timer
/lib/systemd/system/systemd-random-seed.service
/lib/systemd/system/initrd-udevadm-cleanup-db.service
/lib/systemd/system/systemd-hibernate.service
/lib/systemd/system/systemd-resolved.service.d/resolvconf.conf
/lib/systemd/system/systemd-networkd-resolvconf-update.path
/lib/systemd/system/paths.target
/lib/systemd/system/shutdown.target
/lib/systemd/system/apt-daily-upgrade.service
/lib/systemd/system/sigpwr.target
/lib/systemd/system/network-online.target
/lib/systemd/system/systemd-tmpfiles-clean.service
/lib/systemd/system/system-update.target
/lib/systemd/system/container-getty@.service
/lib/systemd/system/time-sync.target
/lib/systemd/system/systemd-networkd-resolvconf-update.service
/lib/systemd/system/rescue.target
/lib/systemd/system/systemd-rfkill.socket
/lib/systemd/system/systemd-update-utmp-runlevel.service
/lib/systemd/system/initrd.target
/lib/systemd/system/proc-sys-fs-binfmt_misc.automount
/lib/systemd/system/getty-static.service
/lib/systemd/system/systemd-hostnamed.service
/lib/systemd/system/systemd-user-sessions.service
/lib/systemd/system/emergency.target
/lib/systemd/system/emergency.service
/lib/systemd/system/systemd-timesyncd.service
/lib/systemd/system/sigpwr-container-shutdown.service
/lib/systemd/system/sys-kernel-debug.mount
/lib/systemd/system/network-pre.target
/lib/systemd/system/systemd-journald-audit.socket
/lib/systemd/system/initrd-fs.target
/lib/systemd/system/cryptsetup.target
/lib/systemd/system/sysinit.target
/lib/systemd/system/initrd-switch-root.target
/lib/systemd/system/bluetooth.target
/lib/systemd/system/systemd-timesyncd.service.d/disable-with-time-daemon.conf
/lib/systemd/system/rescue.service
/lib/systemd/system/hybrid-sleep.target
/lib/systemd/system/nss-lookup.target
/lib/systemd/system/systemd-logind.service
/lib/systemd/system/remote-fs-pre.target
/lib/systemd/system/sys-kernel-config.mount
/lib/systemd/system/halt.target
/lib/systemd/system/apt-daily-upgrade.timer
/lib/systemd/system/printer.target
/lib/systemd/system/systemd-initctl.socket
/lib/systemd/system/initrd-switch-root.service
/lib/systemd/system/systemd-poweroff.service
/lib/systemd/system/reboot.target
/lib/systemd/system/serial-getty@.service
/lib/systemd/system/rc-local.service.d/debian.conf
/lib/systemd/system/systemd-rfkill.service
/lib/systemd/system/systemd-ask-password-wall.service
/lib/systemd/system/exit.target
/lib/systemd/system/machine.slice
/lib/systemd/system/kmod-static-nodes.service
/lib/systemd/system/dev-hugepages.mount
/lib/systemd/system/systemd-halt.service
/lib/systemd/system/initrd-parse-etc.service
/lib/systemd/system/systemd-bootchart.service
/lib/systemd/system/sys-fs-fuse-connections.mount
/lib/systemd/system/poweroff.target
/lib/systemd/system/systemd-resolved.service
/lib/systemd/system/systemd-bus-proxyd.service
/lib/systemd/system/syslog.socket
/lib/systemd/system/local-fs-pre.target
/lib/systemd/system/slices.target
/lib/systemd/system/getty.target
/lib/systemd/system/user@.service
/lib/systemd/system/systemd-fsck@.service
/lib/systemd/system/user.slice
/lib/systemd/system/umount.target
/lib/systemd/system/systemd-networkd.socket
/lib/systemd/system/systemd-initctl.service
/lib/systemd/system/systemd-hybrid-sleep.service
/lib/systemd/system/multi-user.target
/lib/systemd/system/-.slice
/lib/systemd/system/systemd-ask-password-console.service
/lib/systemd/system/getty@.service
/lib/systemd/system/systemd-journald.service
/lib/systemd/system/systemd-hibernate-resume@.service
/lib/systemd/system/nss-user-lookup.target
/lib/systemd/system/systemd-machine-id-commit.service
/lib/systemd/system/systemd-suspend.service
/lib/systemd/system/systemd-fsckd.socket
/lib/systemd/system/system.slice
/lib/systemd/system/sleep.target
/lib/systemd/system/systemd-timedated.service
/lib/systemd/system/proc-sys-fs-binfmt_misc.mount
/lib/systemd/system/systemd-remount-fs.service
/lib/systemd/system/cryptsetup-pre.target
/lib/systemd/system/remote-fs.target
/lib/systemd/system/systemd-update-utmp.service
/lib/systemd/system/rc-local.service
/lib/systemd/system/basic.target
/lib/systemd/system/systemd-networkd-wait-online.service
/lib/systemd/system/systemd-localed.service
/lib/systemd/system/systemd-ask-password-console.path
/lib/systemd/system/systemd-tmpfiles-setup-dev.service
/lib/systemd/system/systemd-journal-flush.service
/lib/systemd/system/swap.target
/lib/systemd/system/final.target
/lib/systemd/system/systemd-tmpfiles-setup.service
/lib/systemd/system/console-shell.service
/lib/systemd/system/systemd-exit.service
/lib/systemd/system/graphical.target
/lib/systemd/system/systemd-backlight@.service
/lib/systemd/system/smartcard.target
/lib/systemd/system/sound.target
/lib/systemd/system/mail-transport-agent.target
/lib/systemd/system/dev-mqueue.mount
/lib/systemd/system/debug-shell.service
/lib/systemd/system/systemd-fsck-root.service
/lib/systemd/system/network.target
/lib/systemd/system/systemd-kexec.service
/lib/systemd/system/systemd-ask-password-wall.path
/lib/systemd/system/apt-daily.service
/lib/systemd/system/suspend.target
/lib/systemd/system/systemd-networkd.service
/lib/systemd/system/systemd-tmpfiles-clean.timer
/lib/systemd/system/busnames.target
/lib/systemd/system/systemd-bus-proxyd.socket
/lib/systemd/system/systemd-fsckd.service
/lib/systemd/system/systemd-journald.socket
/lib/systemd/system/systemd-binfmt.service
/lib/systemd/system/plymouth-start.service
/lib/systemd/system/plymouth-reboot.service
/lib/systemd/system/avahi-daemon.service
/lib/systemd/system/systemd-udev-settle.service
/lib/systemd/system/systemd-udevd-control.socket
/lib/systemd/system/plymouth-read-write.service
/lib/systemd/system/systemd-udev-trigger.service
/lib/systemd/system/udev-configure-printer@.service
/lib/systemd/system/accounts-daemon.service
/lib/systemd/system/acpid.socket
/lib/systemd/system/plymouth-halt.service
/lib/systemd/system/systemd-hwdb-update.service
/lib/systemd/system/systemd-ask-password-plymouth.service
/lib/systemd/system/rsync.service
/lib/systemd/system/plymouth-quit-wait.service
/lib/systemd/system/acpid.path
/lib/systemd/system/systemd-udevd.service
/lib/systemd/system/usb_modeswitch@.service
/lib/systemd/system/upower.service
/lib/systemd/system/binfmt-support.service
/lib/systemd/system/plymouth-quit.service
/lib/systemd/system/ModemManager.service
/lib/systemd/system/usbmuxd.service
/lib/systemd/system/nvidia-prime.service
/lib/systemd/system/ifup@.service
/lib/systemd/system/keyboard-setup.service
/lib/systemd/system/unattended-upgrades.service
/lib/systemd/system/polkitd.service
/lib/systemd/system/nvidia-persistenced.service
/lib/systemd/system/acpid.service
/lib/systemd/system/console-setup.service
/lib/systemd/system/pppd-dns.service
/lib/systemd/system/udisks2.service
/lib/systemd/system/plymouth-poweroff.service
/lib/systemd/system/networking.service
/lib/systemd/system/bluetooth.service
/lib/systemd/system/systemd-ask-password-plymouth.path
/lib/systemd/system/wpa_supplicant.service
/lib/systemd/system/dbus.service
/lib/systemd/system/NetworkManager-wait-online.service
/lib/systemd/system/cron.service
/lib/systemd/system/avahi-daemon.socket
/lib/systemd/system/colord.service
/lib/systemd/system/NetworkManager.service
/lib/systemd/system/dbus.socket
/lib/systemd/system/rtkit-daemon.service
/lib/systemd/system/systemd-udevd-kernel.socket
/lib/systemd/system/plymouth-kexec.service
/lib/systemd/system/plymouth-switch-root.service
/lib/systemd/system/NetworkManager-dispatcher.service
/lib/systemd/system/wacom-inputattach@.service
/lib/systemd/system/lightdm.service
/lib/systemd/systemd-timesyncd
/lib/systemd/systemd-cgroups-agent
/lib/systemd/system-preset/90-systemd.preset
/lib/systemd/systemd-journald
/lib/systemd/systemd-bus-proxyd
/lib/systemd/systemd-update-utmp
/lib/systemd/systemd-reply-password
/lib/systemd/systemd-random-seed
/lib/systemd/systemd-fsck
/lib/systemd/systemd-cryptsetup
/lib/systemd/systemd-networkd
/lib/systemd/systemd-backlight
/lib/systemd/systemd-quotacheck
/lib/systemd/systemd-fsckd
/lib/systemd/network/80-container-host0.network
/lib/systemd/network/80-container-ve.network
/lib/systemd/network/99-default.link
/lib/systemd/systemd-shutdown
/lib/systemd/systemd-sysv-install
/lib/systemd/systemd-sysctl
/lib/systemd/systemd-initctl
/lib/systemd/systemd
/lib/systemd/system-sleep/wpasupplicant
/lib/systemd/systemd-binfmt
/lib/systemd/system-generators/systemd-getty-generator
/lib/systemd/system-generators/systemd-fstab-generator
/lib/systemd/system-generators/systemd-hibernate-resume-generator
/lib/systemd/system-generators/systemd-insserv-generator
/lib/systemd/system-generators/systemd-system-update-generator
/lib/systemd/system-generators/systemd-debug-generator
/lib/systemd/system-generators/systemd-dbus1-generator
/lib/systemd/system-generators/systemd-rc-local-generator
/lib/systemd/system-generators/systemd-cryptsetup-generator
/lib/systemd/system-generators/systemd-sysv-generator
/lib/systemd/system-generators/systemd-gpt-auto-generator
/lib/systemd/systemd-remount-fs
/lib/systemd/systemd-timedated
/lib/systemd/systemd-activate
/lib/systemd/systemd-user-sessions
/lib/systemd/systemd-logind
/lib/systemd/systemd-udevd
/lib/lsb/init-functions.d/20-left-info-blocks
/lib/lsb/init-functions.d/40-systemd
/lib/lsb/init-functions.d/01-upstart-lsb
/lib/lsb/init-functions.d/50-ubuntu-logging
/lib/lsb/init-functions.d/99-plymouth
/lib/lsb/init-functions
/lib/nvidia-410/modprobe.conf
/lib/xtables/libxt_time.so
/lib/xtables/libxt_pkttype.so
/lib/xtables/libxt_connmark.so
/lib/xtables/libipt_CLUSTERIP.so
/lib/xtables/libxt_mac.so
/lib/xtables/libxt_cluster.so
/lib/xtables/libipt_REJECT.so
/lib/xtables/libip6t_dst.so
/lib/xtables/libxt_sctp.so
/lib/xtables/libxt_tos.so
/lib/xtables/libip6t_ipv6header.so
/lib/xtables/libip6t_NETMAP.so
/lib/xtables/libxt_owner.so
/lib/xtables/libxt_connlimit.so
/lib/xtables/libxt_set.so
/lib/xtables/libxt_CLASSIFY.so
/lib/xtables/libip6t_REDIRECT.so
/lib/xtables/libxt_rateest.so
/lib/xtables/libipt_ULOG.so
/lib/xtables/libip6t_LOG.so
/lib/xtables/libip6t_eui64.so
/lib/xtables/libxt_SET.so
/lib/xtables/libxt_tcpmss.so
/lib/xtables/libxt_connlabel.so
/lib/xtables/libxt_NFLOG.so
/lib/xtables/libip6t_ah.so
/lib/xtables/libxt_cgroup.so
/lib/xtables/libxt_multiport.so
/lib/xtables/libxt_TRACE.so
/lib/xtables/libxt_helper.so
/lib/xtables/libip6t_HL.so
/lib/xtables/libxt_IDLETIMER.so
/lib/xtables/libxt_comment.so
/lib/xtables/libip6t_REJECT.so
/lib/xtables/libipt_ECN.so
/lib/xtables/libxt_bpf.so
/lib/xtables/libxt_CT.so
/lib/xtables/libipt_NETMAP.so
/lib/xtables/libipt_DNAT.so
/lib/xtables/libip6t_frag.so
/lib/xtables/libxt_limit.so
/lib/xtables/libxt_DSCP.so
/lib/xtables/libxt_hashlimit.so
/lib/xtables/libxt_connbytes.so
/lib/xtables/libxt_u32.so
/lib/xtables/libxt_policy.so
/lib/xtables/libxt_LED.so
/lib/xtables/libxt_NOTRACK.so
/lib/xtables/libxt_SYNPROXY.so
/lib/xtables/libxt_rpfilter.so
/lib/xtables/libxt_standard.so
/lib/xtables/libip6t_hl.so
/lib/xtables/libxt_devgroup.so
/lib/xtables/libxt_addrtype.so
/lib/xtables/libxt_string.so
/lib/xtables/libxt_CHECKSUM.so
/lib/xtables/libipt_SNAT.so
/lib/xtables/libxt_TCPMSS.so
/lib/xtables/libxt_ecn.so
/lib/xtables/libxt_TEE.so
/lib/xtables/libip6t_DNAT.so
/lib/xtables/libxt_iprange.so
/lib/xtables/libxt_dccp.so
/lib/xtables/libxt_mark.so
/lib/xtables/libxt_ipvs.so
/lib/xtables/libxt_HMARK.so
/lib/xtables/libxt_physdev.so
/lib/xtables/libipt_ttl.so
/lib/xtables/libxt_dscp.so
/lib/xtables/libip6t_mh.so
/lib/xtables/libxt_osf.so
/lib/xtables/libip6t_DNPT.so
/lib/xtables/libxt_length.so
/lib/xtables/libxt_NFQUEUE.so
/lib/xtables/libxt_MARK.so
/lib/xtables/libxt_mangle.so
/lib/xtables/libxt_TCPOPTSTRIP.so
/lib/xtables/libxt_TPROXY.so
/lib/xtables/libxt_state.so
/lib/xtables/libxt_CONNMARK.so
/lib/xtables/libxt_tcp.so
/lib/xtables/libxt_udp.so
/lib/xtables/libip6t_hbh.so
/lib/xtables/libipt_REDIRECT.so
/lib/xtables/libxt_esp.so
/lib/xtables/libip6t_SNPT.so
/lib/xtables/libxt_RATEEST.so
/lib/xtables/libxt_nfacct.so
/lib/xtables/libipt_ah.so
/lib/xtables/libxt_CONNSECMARK.so
/lib/xtables/libipt_TTL.so
/lib/xtables/libip6t_MASQUERADE.so
/lib/xtables/libxt_recent.so
/lib/xtables/libxt_TOS.so
/lib/xtables/libxt_SECMARK.so
/lib/xtables/libxt_quota.so
/lib/xtables/libipt_MASQUERADE.so
/lib/xtables/libxt_conntrack.so
/lib/xtables/libxt_AUDIT.so
/lib/xtables/libipt_realm.so
/lib/xtables/libxt_socket.so
/lib/xtables/libipt_LOG.so
/lib/xtables/libxt_cpu.so
/lib/xtables/libxt_ipcomp.so
/lib/xtables/libip6t_icmp6.so
/lib/xtables/libip6t_SNAT.so
/lib/xtables/libxt_statistic.so
/lib/xtables/libip6t_rt.so
/lib/xtables/libipt_icmp.so
/lib/sysvinit/telinit
/lib/crda/setregdomain
/lib/crda/regulatory.bin
/lib/crda/pubkeys/linville.key.pub.pem
/lib/crda/pubkeys/benh@debian.org.key.pub.pem
/lib/crda/pubkeys/sforshee.key.pub.pem
/lib/crda/libreg.so
/lib/firmware/regulatory.db
/lib/firmware/regulatory.db.p7s
/lib/ifupdown/wait-for-ll6.sh
/lib/ifupdown/settle-dad.sh
/lib/modprobe.d/aliases.conf
/usr/lib is to big - i'll attach
I see /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
so there is at least one version of libstdc++
.
interesting.
I tried (my best guess)
stack --docker --extra-lib-dirs=/usr/lib/x86_64-linux-gnu --extra-include-dirs=/usr/include/c++/5.4.0 build
but same error. any thoughts?
I'll have to get into the docker container myself to see what's missing.
The --extra-..
flags on the stack --docker
invocation don't get propagated to each individual command inside :(
Hi, I'm experiencing the same issue using the same docker
image on my Circle CI build. It's a private repo (work stuff) but this is the output I get:
-- While building package double-conversion-2.0.2.0 using:
/root/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_2.4.0.1_ghc-8.6.3 --builddir=.stack-work/dist/x86_64-linux/Cabal-2.4.0.1 configure --with-ghc=/root/.stack/programs/x86_64-linux/ghc-8.6.3/bin/ghc --with-ghc-pkg=/root/.stack/programs/x86_64-linux/ghc-8.6.3/bin/ghc-pkg --user --package-db=clear --package-db=global --package-db=/root/.stack/snapshots/x86_64-linux/lts-13.0/8.6.3/pkgdb --libdir=/root/.stack/snapshots/x86_64-linux/lts-13.0/8.6.3/lib --bindir=/root/.stack/snapshots/x86_64-linux/lts-13.0/8.6.3/bin --datadir=/root/.stack/snapshots/x86_64-linux/lts-13.0/8.6.3/share --libexecdir=/root/.stack/snapshots/x86_64-linux/lts-13.0/8.6.3/libexec --sysconfdir=/root/.stack/snapshots/x86_64-linux/lts-13.0/8.6.3/etc --docdir=/root/.stack/snapshots/x86_64-linux/lts-13.0/8.6.3/doc/double-conversion-2.0.2.0 --htmldir=/root/.stack/snapshots/x86_64-linux/lts-13.0/8.6.3/doc/double-conversion-2.0.2.0 --haddockdir=/root/.stack/snapshots/x86_64-linux/lts-13.0/8.6.3/doc/double-conversion-2.0.2.0 --dependency=base=base-4.12.0.0 --dependency=bytestring=bytestring-0.10.8.2 --dependency=ghc-prim=ghc-prim-0.5.3 --dependency=text=text-1.2.3.1
Process exited with code: ExitFailure 1
Logs have been written to: /root/project/.stack-work/logs/double-conversion-2.0.2.0.log
Configuring double-conversion-2.0.2.0...
Cabal-simple_mPHDZzAJ_2.4.0.1_ghc-8.6.3: Missing dependency on a foreign
library:
* Missing (or bad) C library: stdc++
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.If the
library file does exist, it may contain errors that are caught by the C
compiler at the preprocessing stage. In this case you can re-run configure
with the verbosity flag -v3 to see the error messages.
Exited with code 1
I tried using lts-13.0
and lts-13.1
and I get the same output. The same project builds locally on my Ubuntu machine.
I'd be happy to provide more details to help me get helped :)
Same error downgrading to lts-12.7
. And here's the Circle CI build file:
version: 2.1
jobs:
build:
docker:
- image: fpco/stack-build:lts
steps:
- checkout
- restore_cache:
name: Restore Cached Dependencies
keys:
- bill-statement-gen-v1-{{ checksum "package.yaml" }}
- run:
name: Resolve/Update Dependencies
command: stack setup
- run:
name: Run tests
command: stack test
- run:
name: Install executable
command: stack install
- save_cache:
name: Cache Dependencies
key: bill-statement-gen-v1-{{ checksum "package.yaml" }}
paths:
- ".stack-work"
- store_artifacts:
path: ~/.local/bin/bill-statement-gen-exe
destination: bill-statement-gen-exe
Hi, wanted to give you an update on this. I tracked down my problems in every case to compilation of double-conversion, which was an indirect dependency of my projects down various pathways. I worked with the guys maintaining servant-auth and http-link-header and was able in each case to identify a clean fix to remove the dependency on double-conversion. These fixes are now merged into the repos, and as a result, I can now build successfully using docker for lts-13.x.
My necessary stack package
settings are
- location: # temporary until this commit is in its release
git: git@github.com:myfreeweb/http-link-header.git
commit: 0897d57a7d66548a5893560d5481764ec1a2ecfb
- location: # temporary until this commit is in its release
git: git@github.com:haskell-servant/servant-auth.git
commit: 1def1b3438b9ff59b88c5626835ebfe3ff8abbf3
subdirs:
- servant-auth
So maybe try this as a temporary fix, and if this doesn't work, then a series of stack dot --external | grep ...
calls might help you track down the dependency tree from your code to double-conversion. From there you might be able to similarly be able to remove the dependency in libraries your code relies on and propose an appropriate PR.
The dependency changes on the two repos that affected me have been merged to master in each case, and so the above settings will in due course no longer be needed.
The root cause does appear to be a problem building double-conversion, the building of which is dependent on a c library that for some reason is no longer being included in the lts-13.x build in a place where stack expects it to be. That's my best 2c anyway. :)
cheers, Stephen.
You may be better off having this in extra-deps:
extra-deps:
- github: myfreeweb/http-link-header # temporary until this commit is in its release
commit: 0897d57a7d66548a5893560d5481764ec1a2ecfb
- github: haskell-servant/servant-auth # temporary until this commit is in its release
commit: 1def1b3438b9ff59b88c5626835ebfe3ff8abbf3
subdirs:
- servant-auth
This looks like an upstream issue, as it seems to only be a problem with double-conversions
— what still needs doing with stack?
Edit: Indentation
thanks for the tip.
re. stack, as it seems to be simply an LTS build issue, I think nothing. Perhaps I should have raised the issue in commercialhaskell/stackage-snapshots, but the cause wasn't clear to me at the time.
thanks.
Thanks for sharing more details, this is what I get:
$ stack dot --external | grep double-conversion
"double-conversion" -> "base";
"double-conversion" -> "bytestring";
"double-conversion" -> "ghc-prim";
"double-conversion" -> "text";
"tinylog" -> "double-conversion";
tinylog is the one that brings in double-conversion
as specified here. And I need it because it's required by the http-client
I'm using.
From there you might be able to similarly be able to remove the dependency in libraries your code relies on and propose an appropriate PR.
Unfortunately I'm quite a newbie in the Haskell ecosystem and these issues are really frustrating. I'm not really sure in what changes I should propose to tinylog
if any.
Do bos/double-conversion#20 and freebroccolo/docker-haskell#35 help?
I'll wait to see what @mihaimaruseac has to say about this; he can close the issue if necessary.
The --extra-.. flags on the stack --docker invocation don't get propagated to each individual command inside :(
Do bos/double-conversion#20 and freebroccolo/docker-haskell#35 help?
Unfortunately not, but thanks for the links.
double-conversion
by using cabal install
.g++
which I already have.Here's is the relevant part of the verbose log I get when trying to cabal install double-conversion
:
/root/.cabal/share/doc/x86_64-linux-ghc-8.6.3/double-conversion-2.0.2.0
Configuration files installed in: /root/.cabal/etc
No alex found
Using ar found on system at: /usr/bin/ar
No c2hs found
No cpphs found
No doctest found
Using gcc version 7 found on system at: /usr/bin/gcc
Using ghc version 8.6.3 found on system at: /opt/ghc/8.6.3/bin/ghc
Using ghc-pkg version 8.6.3 found on system at: /opt/ghc/8.6.3/bin/ghc-pkg
No ghcjs found
No ghcjs-pkg found
No greencard found
Using haddock version 2.22.0 found on system at: /opt/ghc/8.6.3/bin/haddock
No happy found
Using haskell-suite found on system at: haskell-suite-dummy-location
Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
No hmake found
Using hpc version 0.67 found on system at: /opt/ghc/8.6.3/bin/hpc
Using hsc2hs version 0.68.5 found on system at: /opt/ghc/8.6.3/bin/hsc2hs
Using hscolour version 1.22 found on system at: /usr/bin/HsColour
No jhc found
Using ld found on system at: /usr/bin/ld.gold
Using pkg-config version 0.29.1 found on system at: /usr/bin/pkg-config
Using runghc version 8.6.3 found on system at: /opt/ghc/8.6.3/bin/runghc
Using strip version 2.26 found on system at: /usr/bin/strip
Using tar found on system at: /bin/tar
No uhc found
/usr/bin/gcc -fno-stack-protector '-fuse-ld=gold' /tmp/17797-4.c -o /tmp/17797-5 '-D__GLASGOW_HASKELL__=806' '-Dlinux_BUILD_OS=1' '-Dx86_64_BUILD_ARCH=1' '-Dlinux_HOST_OS=1' '-Dx86_64_HOST_ARCH=1' -Idist/build/autogen -Idist/build/double-conversion/src -Idist/build/include -I./double-conversion/src -I./include -I. -DNDEBUG -I/opt/ghc/8.6.3/lib/ghc-8.6.3/bytestring-0.10.8.2/include -I/opt/ghc/8.6.3/lib/ghc-8.6.3/base-4.12.0.0/include -I/opt/ghc/8.6.3/lib/ghc-8.6.3/integer-gmp-1.0.2.0/include -I/opt/ghc/8.6.3/lib/ghc-8.6.3/include -DNDEBUG '-lstdc++' -L/opt/ghc/8.6.3/lib/ghc-8.6.3/text-1.2.3.1 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/binary-0.8.6.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/containers-0.6.0.1 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/bytestring-0.10.8.2 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/deepseq-1.4.4.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/array-0.5.3.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/base-4.12.0.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/integer-gmp-1.0.2.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/ghc-prim-0.5.3 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/rts
/usr/bin/gcc returned ExitFailure 1 with error message:
/usr/bin/ld.gold: error: cannot find -lstdc++
collect2: error: ld returned 1 exit status
/usr/bin/gcc -fno-stack-protector '-fuse-ld=gold' /tmp/17797-6.c -o /tmp/17797-7 '-lstdc++' -L/opt/ghc/8.6.3/lib/ghc-8.6.3/text-1.2.3.1 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/binary-0.8.6.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/containers-0.6.0.1 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/bytestring-0.10.8.2 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/deepseq-1.4.4.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/array-0.5.3.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/base-4.12.0.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/integer-gmp-1.0.2.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/ghc-prim-0.5.3 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/rts
/usr/bin/gcc returned ExitFailure 1 with error message:
/usr/bin/ld.gold: error: cannot find -lstdc++
collect2: error: ld returned 1 exit status
/usr/bin/gcc -fno-stack-protector '-fuse-ld=gold' /tmp/17797-8.c -o /tmp/17797-9 '-lstdc++' -L/opt/ghc/8.6.3/lib/ghc-8.6.3/text-1.2.3.1 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/binary-0.8.6.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/containers-0.6.0.1 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/bytestring-0.10.8.2 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/deepseq-1.4.4.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/array-0.5.3.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/base-4.12.0.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/integer-gmp-1.0.2.0 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/ghc-prim-0.5.3 -L/opt/ghc/8.6.3/lib/ghc-8.6.3/rts
/usr/bin/gcc returned ExitFailure 1 with error message:
/usr/bin/ld.gold: error: cannot find -lstdc++
collect2: error: ld returned 1 exit status
/usr/bin/gcc -fno-stack-protector '-fuse-ld=gold' /tmp/17797-10.c -o /tmp/17797-11 -c '-D__GLASGOW_HASKELL__=806' '-Dlinux_BUILD_OS=1' '-Dx86_64_BUILD_ARCH=1' '-Dlinux_HOST_OS=1' '-Dx86_64_HOST_ARCH=1' -Idist/build/autogen -Idist/build/double-conversion/src -Idist/build/include -I./double-conversion/src -I./include -I. -DNDEBUG -I/opt/ghc/8.6.3/lib/ghc-8.6.3/bytestring-0.10.8.2/include -I/opt/ghc/8.6.3/lib/ghc-8.6.3/base-4.12.0.0/include -I/opt/ghc/8.6.3/lib/ghc-8.6.3/integer-gmp-1.0.2.0/include -I/opt/ghc/8.6.3/lib/ghc-8.6.3/include -DNDEBUG
CallStack (from HasCallStack):
die', called at libraries/Cabal/Cabal/Distribution/Simple/Configure.hs:1786:34 in Cabal-2.4.0.1:Distribution.Simple.Configure
checkForeignDeps, called at libraries/Cabal/Cabal/Distribution/Simple.hs:615:7 in Cabal-2.4.0.1:Distribution.Simple
setup-Simple-Cabal-2.4.0.1-x86_64-linux-ghc-8.6.3: Missing dependency on a
foreign library:
* Missing (or bad) C library: stdc++
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.If the
library file does exist, it may contain errors that are caught by the C
compiler at the preprocessing stage. In this case you can re-run configure
with the verbosity flag -v3 to see the error messages.
World file is already up to date.
cabal: Error: some packages failed to install:
double-conversion-2.0.2.0 failed during the configure step. The exception was:
ExitFailure 1
tinylog is the one that brings in
double-conversion
as specified here. And I need it because it's required by thehttp-client
I'm using.
from what I can see, tiny log has a genuine dependency on double-conversion in tinylog/src/System/Logger/Message.hs:102
- that being a call to toShortest :: Double -> Text
.
You could as a temporary fix clone and modify (eg. just show
or text-show:tshow
the double and take the performance hit) but an easier solution might be to use an alternative logger. I personally like hslogger, and I can confirm that it will build with stack --docker build
with LTS 13.x.
or wait for @mihaimaruseac :)
From there you might be able to similarly be able to remove the dependency in libraries your code relies on and propose an appropriate PR.
Unfortunately I'm quite a newbie in the Haskell ecosystem and these issues are really frustrating. I'm not really sure in what changes I should propose to
tinylog
if any.
to propose a fix that removed the dependency on doube-conversion in this case, you'd need to demonstrate a fix that both eliminates a dependency and that does not negatively impact performance. logging is a core function of any system, so maintainers of such libraries will be particularly sensitive to performance and performance is generally the reason why people use the double-conversion library. my 2c is that you are not going to demonstrate the use case easily. after all, there is nothing wrong with the double-conversion library - this is only a build issue that is most likely temporary.
anyway, probably getting off topic. good luck.
I ended up getting an error running cc1plus
- no such file or directory. There is a version in /usr/lib/gcc/x86_64-linux-gnu/5/cc1plus
.
However, gcc -v
shows gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~16.04~ppa1)
Running ln -sf /usr/bin/gcc-5 /etc/alternatives/gcc
caused gcc-5
to be run, and the project built successfully. However, this does an end-run around Ubuntu's update-alternatives framework, and may not be the best solution to the issue.
It looks like C++ compilation was broken by https://github.com/commercialhaskell/stackage/commit/b654f1f11cb566d1a5c61cb76928c4b04df80ae9 and was probably fixed by https://github.com/commercialhaskell/stackage/commit/363938a39fbe79c58bd874d11bdd5cce9ea0d5a2
https://github.com/commercialhaskell/stack/blob/master/etc/dockerfiles/stack-build/lts-13.0/Dockerfile is currently pinned to a broken version of the file (from the point of view of working C++ compilation).
Thanks for the insights @fiadliel ! I actually got it working creating symbolic links. It was a very painful process until I figured this out but still not sure whether it's an optimal solution. I'll post my solution after the build finishes on Circle CI (got it working locally).
As pointed out on Twitter by @fiadliel, installing apt-get update && apt-get install g++-7 -y
on my docker
image fpco/stack-build
before running stack build
worked for me.
I think we can close this then. Thanks for all the work in identifying both the issue in the libraries and in stack and for the fixes (in extra-deps
and in installing g++
).
I can confirm that the fixes work for me.
The official docker image still can't build C++ code without modification, and cannot be fixed elsewhere since the Dockerfile
(hosted in this repo) is pinned to a specific revision.
Should another issue be opened to fix the image, or is C++ compilation considered out of scope?
I think C++ is out of scope, but I'll let others weigh in (CC @dbaynard @qrilka @snoyberg)
The Dockerfile
ought to have a working (rather than non-functioning) version — given that g++ is available. Beyond that I'm not the person to ask…
The Docker image should work for building any Linux-compatible package in LTS-13, so I'm going to reopen this. I don't think switching to the bootstrap script in https://github.com/commercialhaskell/stackage/commit/363938a39fbe79c58bd874d11bdd5cce9ea0d5a2 is a good idea, since that changes a lot besides fixing this issue (among which, requires upgrading the image to be based on Ubuntu 18.04).
I've pushed Docker image fpco/stack-build:lts-13.3
which should fix this. I confirmed that installing double-conversion
works with this image (and didn't work with fpco/stack-build:lts-13.2
).
Hi,
rebuilding a project that compiled fine using prior lts-12.x, but now using lts-13.0 the build fails with a foreign dependency problem.
the following error arises:
The project builds fine without "--docker" Other projects without double-conversion build fine also.
thanks. s.