armhf build failures of zfs-linux 0.8.1 - running out of memory: /usr/bin/ld: can not size stub section: memory exhausted

Asked by Colin Ian King on 2019-07-01

armhf builds of zfs-linux 0.8.1. are hitting out of memory on the linking stage:

/bin/bash ../../libtool --tag=CC --silent --mode=link gcc -std=gnu99 -Wall -Wstrict-prototypes -fno-strict-aliasing -fno-omit-frame-pointer -Wno-unused-but-set-variable -Wframe-larger-than=4096 -DLIB_ZPOOL_BUILD -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -version-info 2:0:0 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -o -rpath /lib kernel.lo taskq.lo util.lo zfeature_common.lo zfs_comutil.lo zfs_deleg.lo zfs_fletcher.lo zfs_fletcher_aarch64_neon.lo zfs_fletcher_avx512.lo zfs_fletcher_intel.lo zfs_fletcher_sse.lo zfs_fletcher_superscalar.lo zfs_fletcher_superscalar4.lo zfs_namecheck.lo zfs_prop.lo zfs_uio.lo zpool_prop.lo zprop_common.lo abd.lo aggsum.lo arc.lo blkptr.lo bplist.lo bpobj.lo bptree.lo bqueue.lo cityhash.lo dbuf.lo dbuf_stats.lo ddt.lo ddt_zap.lo dmu.lo dmu_diff.lo dmu_object.lo dmu_objset.lo dmu_recv.lo dmu_send.lo dmu_traverse.lo dmu_tx.lo dmu_zfetch.lo dnode.lo dnode_sync.lo dsl_bookmark.lo dsl_dataset.lo dsl_deadlist.lo dsl_deleg.lo dsl_dir.lo dsl_crypt.lo dsl_pool.lo dsl_prop.lo dsl_scan.lo dsl_synctask.lo dsl_destroy.lo dsl_userhold.lo edonr_zfs.lo hkdf.lo fm.lo gzip.lo lzjb.lo lz4.lo metaslab.lo mmp.lo multilist.lo pathname.lo range_tree.lo refcount.lo rrwlock.lo sa.lo sha256.lo skein_zfs.lo spa.lo spa_boot.lo spa_checkpoint.lo spa_config.lo spa_errlog.lo spa_history.lo spa_misc.lo spa_stats.lo space_map.lo space_reftree.lo txg.lo trace.lo uberblock.lo unique.lo vdev.lo vdev_cache.lo vdev_file.lo vdev_indirect_births.lo vdev_indirect.lo vdev_indirect_mapping.lo vdev_initialize.lo vdev_label.lo vdev_mirror.lo vdev_missing.lo vdev_queue.lo vdev_raidz.lo vdev_raidz_math_aarch64_neon.lo vdev_raidz_math_aarch64_neonx2.lo vdev_raidz_math_avx2.lo vdev_raidz_math_avx512bw.lo vdev_raidz_math_avx512f.lo vdev_raidz_math.lo vdev_raidz_math_scalar.lo vdev_raidz_math_sse2.lo vdev_raidz_math_ssse3.lo vdev_removal.lo vdev_root.lo vdev_trim.lo zap.lo zap_leaf.lo zap_micro.lo zcp.lo zcp_get.lo zcp_global.lo zcp_iter.lo zcp_synctask.lo zfeature.lo zfs_byteswap.lo zfs_debug.lo zfs_fm.lo zfs_fuid.lo zfs_sa.lo zfs_znode.lo zfs_ratelimit.lo zfs_rlock.lo zil.lo zio.lo zio_checksum.lo zio_compress.lo zio_crypt.lo zio_inject.lo zle.lo zrlock.lo zthr.lo lapi.lo lauxlib.lo lbaselib.lo lcode.lo lcompat.lo lcorolib.lo lctype.lo ldebug.lo ldo.lo lfunc.lo lgc.lo llex.lo lmem.lo lobject.lo lopcodes.lo lparser.lo lstate.lo lstring.lo lstrlib.lo ltable.lo ltablib.lo ltm.lo lvm.lo lzio.lo ../../lib/libicp/ ../../lib/libnvpair/ ../../lib/libunicode/ ../../lib/libzutil/ -lz -ldl -luuid -lz
/usr/bin/ld: error: /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crti.o(.plt) section size (0xd24 bytes) is larger than file size (0x46c bytes)
/usr/bin/ld: can not size stub section: memory exhausted
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile:1027:] Error 1
make[5]: Leaving directory '/<<PKGBUILDDIR>>/lib/libzpool'
make[4]: *** [Makefile:655: all-recursive] Error 1
make[4]: Leaving directory '/<<PKGBUILDDIR>>/lib'
make[3]: *** [Makefile:842: all-recursive] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: *** [Makefile:711: all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: make -j4 returned exit code 2
make[1]: *** [debian/rules:63: override_dh_auto_build] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:30: build-arch] Error 2
dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit status 2

..but I don't see the same issue when building in a PPA.

Question information

English Edit question
Launchpad itself Edit question
No assignee Edit question
Last query:
Last reply:

This question was reopened

Colin Watson (cjwatson) said : #1

Have you tried diffing build logs?

By default, packages in the primary archive build with -proposed enabled, while packages in PPAs don't (though you can configure this on the "Edit PPA dependencies" page if you want). I think I heard somebody say on IRC today that there seemed to be some regression in eoan-proposed's binutils that looked like this.

Colin Ian King (colin-king) said : #2

OK, this does seem to be a build failure only when building against -proposed. Not sure what I can do about this, I'm assuming this is a toolchain issue then?

Colin Watson (cjwatson) said : #4

Yeah, talk with the binutils maintainer if necessary. looks like an attempt to fix this though, so a retry might be worthwhile.

Can you help with this problem?

Provide an answer of your own, or ask Colin Ian King for more information if necessary.

To post a message you must log in.