besser82 / libxcrypt

Extended crypt library for descrypt, md5crypt, bcrypt, and others
GNU Lesser General Public License v2.1
178 stars 49 forks source link

Unable to statically link #180

Closed fsxitutu closed 3 months ago

fsxitutu commented 5 months ago

When statically compiling coreutils, sha*sum programs static link to libcrypt.a (from libxcrypt 4.4.36), the linker prompts "/usr/bin/ld: /usr/bin/../lib/gcc/x86_64-pc- linux-gnu/13.2.0/../../../../lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o):(.text+0x11): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking". It is not possible to build a completely static program.

coreutils configure : ./configure FORCE_UNSAFE_CONFIGURE=1 CFLAGS="-static" LDFLAGS="-static"

build log : GEN lib/alloca.h GEN lib/arpa/inet.h GEN lib/configmake.h GEN lib/ctype.h GEN lib/dirent.h GEN lib/error.h GEN lib/fcntl.h GEN lib/malloc/dynarray.gl.h GEN lib/malloc/dynarray-skeleton.gl.h GEN lib/malloc/scratch_buffer.gl.h GEN lib/iconv.h GEN lib/inttypes.h GEN lib/langinfo.h GEN lib/limits.h GEN lib/locale.h GEN lib/math.h GEN lib/netdb.h GEN lib/pthread.h GEN lib/sched.h GEN lib/selinux/selinux.h GEN lib/signal.h GEN lib/stdckdint.h GEN lib/stddef.h GEN lib/stdio.h GEN lib/stdlib.h GEN lib/string.h GEN lib/sys/ioctl.h GEN lib/sys/random.h GEN lib/sys/resource.h GEN lib/sys/select.h GEN lib/sys/socket.h GEN lib/sys/stat.h GEN lib/sys/time.h GEN lib/sys/types.h GEN lib/sys/uio.h GEN lib/sys/utsname.h GEN lib/sys/wait.h GEN lib/termios.h GEN lib/time.h GEN lib/uchar.h GEN lib/unicase.h GEN lib/unictype.h GEN lib/uninorm.h GEN lib/unistd.h GEN lib/unistr.h GEN lib/unitypes.h GEN lib/uniwidth.h GEN lib/utime.h GEN lib/wchar.h GEN lib/wctype.h GEN src/coreutils.h GEN src/version.c GEN src/version.h make all-recursive make[1]: Entering directory '/coreutils-9.4' Making all in po make[2]: Entering directory '/coreutils-9.4/po' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/coreutils-9.4/po' Making all in . make[2]: Entering directory '/coreutils-9.4' CC src/chroot.o CC src/version.o AR src/libver.a CC lib/libcoreutils_a-copy-acl.o CC lib/libcoreutils_a-set-acl.o CC lib/libcoreutils_a-acl-errno-valid.o CC lib/libcoreutils_a-acl-internal.o CC lib/libcoreutils_a-get-permissions.o CC lib/libcoreutils_a-set-permissions.o CC lib/libcoreutils_a-alignalloc.o CC lib/libcoreutils_a-allocator.o CC lib/libcoreutils_a-areadlink.o CC lib/libcoreutils_a-areadlink-with-size.o CC lib/libcoreutils_a-areadlinkat.o CC lib/libcoreutils_a-areadlinkat-with-size.o CC lib/libcoreutils_a-argmatch.o CC lib/libcoreutils_a-argv-iter.o CC lib/libcoreutils_a-openat-proc.o CC lib/libcoreutils_a-backupfile.o CC lib/libcoreutils_a-backup-rename.o CC lib/libcoreutils_a-backup-find.o CC lib/libcoreutils_a-base32.o CC lib/libcoreutils_a-base64.o CC lib/libcoreutils_a-basename-lgpl.o CC lib/libcoreutils_a-binary-io.o CC lib/libcoreutils_a-bitrotate.o CC lib/libcoreutils_a-btoc32.o CC lib/libcoreutils_a-btowc.o CC lib/libcoreutils_a-buffer-lcm.o CC lib/libcoreutils_a-c-ctype.o CC lib/libcoreutils_a-c-file-type.o CC lib/libcoreutils_a-c-strcasecmp.o CC lib/libcoreutils_a-c-strncasecmp.o CC lib/libcoreutils_a-c-strtod.o CC lib/libcoreutils_a-c-strtold.o CC lib/libcoreutils_a-c32_apply_type_test.o CC lib/libcoreutils_a-c32_get_type_test.o CC lib/libcoreutils_a-c32isalnum.o CC lib/libcoreutils_a-c32isalpha.o CC lib/libcoreutils_a-c32isblank.o CC lib/libcoreutils_a-c32iscntrl.o CC lib/libcoreutils_a-c32isdigit.o CC lib/libcoreutils_a-c32isgraph.o CC lib/libcoreutils_a-c32islower.o CC lib/libcoreutils_a-c32isprint.o CC lib/libcoreutils_a-c32ispunct.o CC lib/libcoreutils_a-c32isspace.o CC lib/libcoreutils_a-c32isupper.o CC lib/libcoreutils_a-c32isxdigit.o CC lib/libcoreutils_a-c32tolower.o CC lib/libcoreutils_a-c32width.o CC lib/libcoreutils_a-canon-host.o CC lib/libcoreutils_a-canonicalize.o CC lib/libcoreutils_a-careadlinkat.o CC lib/libcoreutils_a-chdir-long.o CC lib/libcoreutils_a-chmodat.o CC lib/libcoreutils_a-chownat.o CC lib/libcoreutils_a-cl-strtod.o CC lib/libcoreutils_a-cl-strtold.o CC lib/libcoreutils_a-cloexec.o CC lib/libcoreutils_a-close-stream.o CC lib/libcoreutils_a-closein.o CC lib/libcoreutils_a-closeout.o CC lib/libcoreutils_a-copy-file-range.o CC lib/libcoreutils_a-count-leading-zeros.o CC lib/libcoreutils_a-af_alg.o CC lib/libcoreutils_a-md5-stream.o CC lib/libcoreutils_a-md5.o CC lib/libcoreutils_a-sha1-stream.o CC lib/libcoreutils_a-sha1.o CC lib/libcoreutils_a-sha256-stream.o CC lib/libcoreutils_a-sha256.o CC lib/libcoreutils_a-sha512-stream.o CC lib/libcoreutils_a-sha512.o CC lib/libcoreutils_a-sm3-stream.o CC lib/libcoreutils_a-sm3.o CC lib/libcoreutils_a-cycle-check.o CC lib/libcoreutils_a-di-set.o CC lib/libcoreutils_a-opendir-safer.o CC lib/libcoreutils_a-dirname.o CC lib/libcoreutils_a-basename.o CC lib/libcoreutils_a-dirname-lgpl.o CC lib/libcoreutils_a-stripslash.o CC lib/libcoreutils_a-dtoastr.o CC lib/libcoreutils_a-dtotimespec.o CC lib/libcoreutils_a-exclude.o CC lib/libcoreutils_a-exitfail.o CC lib/libcoreutils_a-fadvise.o CC lib/libcoreutils_a-fchmodat.o CC lib/libcoreutils_a-fclose.o CC lib/libcoreutils_a-fcntl.o CC lib/libcoreutils_a-creat-safer.o CC lib/libcoreutils_a-open-safer.o CC lib/libcoreutils_a-fd-hook.o CC lib/libcoreutils_a-fd-reopen.o CC lib/libcoreutils_a-fd-safer-flag.o CC lib/libcoreutils_a-dup-safer-flag.o CC lib/libcoreutils_a-fdutimensat.o CC lib/libcoreutils_a-fflush.o CC lib/libcoreutils_a-file-has-acl.o CC lib/libcoreutils_a-file-set.o CC lib/libcoreutils_a-file-type.o CC lib/libcoreutils_a-filemode.o CC lib/libcoreutils_a-filenamecat.o CC lib/libcoreutils_a-filenamecat-lgpl.o CC lib/libcoreutils_a-filevercmp.o CC lib/libcoreutils_a-fopen-safer.o CC lib/libcoreutils_a-fprintftime.o CC lib/libcoreutils_a-fpurge.o CC lib/libcoreutils_a-freadahead.o CC lib/libcoreutils_a-freading.o CC lib/libcoreutils_a-freadptr.o CC lib/libcoreutils_a-freadseek.o CC lib/libcoreutils_a-freopen-safer.o CC lib/libcoreutils_a-fseek.o CC lib/libcoreutils_a-fseeko.o CC lib/libcoreutils_a-fseterr.o CC lib/libcoreutils_a-fsusage.o CC lib/libcoreutils_a-ftoastr.o CC lib/libcoreutils_a-fts.o CC lib/libcoreutils_a-full-read.o CC lib/libcoreutils_a-full-write.o CC lib/libcoreutils_a-gethrxtime.o CC lib/libcoreutils_a-xtime.o CC lib/libcoreutils_a-getndelim2.o CC lib/libcoreutils_a-getprogname.o CC lib/libcoreutils_a-gettime.o CC lib/libcoreutils_a-gettime-res.o CC lib/libcoreutils_a-getugroups.o CC lib/malloc/libcoreutils_a-dynarray_at_failure.o CC lib/malloc/libcoreutils_a-dynarray_emplace_enlarge.o CC lib/malloc/libcoreutils_a-dynarray_finalize.o CC lib/malloc/libcoreutils_a-dynarray_resize.o CC lib/malloc/libcoreutils_adynarray_resize_clear.o CC lib/malloc/libcoreutils_a-scratch_buffer_grow.o CC lib/malloc/libcoreutils_ascratch_buffer_grow_preserve.o CC lib/malloc/libcoreutils_ascratch_buffer_set_array_size.o CC lib/libcoreutils_a-hard-locale.o CC lib/libcoreutils_a-hash.o CC lib/libcoreutils_a-hash-pjw.o CC lib/libcoreutils_a-hash-triple.o CC lib/libcoreutils_a-hash-triple-simple.o CC lib/libcoreutils_a-heap.o CC lib/libcoreutils_a-human.o CC lib/libcoreutils_a-i-ring.o CC lib/libcoreutils_a-ialloc.o CC lib/libcoreutils_a-idcache.o CC lib/libcoreutils_a-ino-map.o CC lib/libcoreutils_a-imaxtostr.o CC lib/libcoreutils_a-inttostr.o CC lib/libcoreutils_a-offtostr.o CC lib/libcoreutils_a-uinttostr.o CC lib/libcoreutils_a-umaxtostr.o CC lib/libcoreutils_a-isapipe.o CC lib/libcoreutils_a-ldtoastr.o CC lib/libcoreutils_a-linebuffer.o CC lib/libcoreutils_a-localcharset.o CC lib/glthread/libcoreutils_a-lock.o CC lib/libcoreutils_a-long-options.o CC lib/libcoreutils_a-malloca.o CC lib/libcoreutils_a-math.o CC lib/libcoreutils_a-mbchar.o CC lib/libcoreutils_a-mbrlen.o CC lib/libcoreutils_a-mbrtoc32.o CC lib/libcoreutils_a-mbrtowc.o CC lib/libcoreutils_a-mbsalign.o CC lib/libcoreutils_a-mbscasecmp.o CC lib/libcoreutils_a-mbschr.o CC lib/libcoreutils_a-mbslen.o CC lib/libcoreutils_a-mbsrtoc32s.o CC lib/libcoreutils_a-mbsrtowcs.o CC lib/libcoreutils_a-mbswidth.o CC lib/libcoreutils_a-mbszero.o CC lib/libcoreutils_a-mbuiter.o CC lib/libcoreutils_a-mbuiterf.o CC lib/libcoreutils_a-memcasecmp.o CC lib/libcoreutils_a-memchr2.o CC lib/libcoreutils_a-memcmp2.o CC lib/libcoreutils_a-memcoll.o CC lib/libcoreutils_a-memset_explicit.o CC lib/libcoreutils_a-mgetgroups.o CC lib/libcoreutils_a-mkancesdirs.o CC lib/libcoreutils_a-dirchownmod.o CC lib/libcoreutils_a-mkdir-p.o CC lib/libcoreutils_a-mknod.o CC lib/libcoreutils_a-modechange.o CC lib/libcoreutils_a-mountlist.o CC lib/libcoreutils_a-mpsort.o CC lib/libcoreutils_a-nanosleep.o CC lib/libcoreutils_a-nproc.o CC lib/libcoreutils_a-nstrftime.o CC lib/libcoreutils_a-obstack.o CC lib/libcoreutils_a-openat-die.o CC lib/libcoreutils_a-openat-safer.o CC lib/libcoreutils_a-opendirat.o CC lib/libcoreutils_a-parse-datetime.o CC lib/libcoreutils_a-physmem.o CC lib/libcoreutils_a-pipe2.o CC lib/libcoreutils_a-posixtm.o CC lib/libcoreutils_a-posixver.o CC lib/libcoreutils_a-printf-frexp.o CC lib/libcoreutils_a-printf-frexpl.o CC lib/libcoreutils_a-priv-set.o CC lib/libcoreutils_a-progname.o CC lib/libcoreutils_a-propername-lite.o CC lib/libcoreutils_a-qcopy-acl.o CC lib/libcoreutils_a-qset-acl.o CC lib/libcoreutils_a-quotearg.o CC lib/libcoreutils_a-randint.o CC lib/libcoreutils_a-randperm.o CC lib/libcoreutils_a-randread.o CC lib/libcoreutils_a-rand-isaac.o CC lib/libcoreutils_a-read-file.o CC lib/libcoreutils_a-readtokens.o CC lib/libcoreutils_a-readtokens0.o CC lib/libcoreutils_a-readutmp.o CC lib/libcoreutils_a-renameatu.o CC lib/libcoreutils_a-root-dev-ino.o CC lib/libcoreutils_a-safe-read.o CC lib/libcoreutils_a-safe-write.o CC lib/libcoreutils_a-same.o CC lib/libcoreutils_a-save-cwd.o CC lib/libcoreutils_a-savedir.o CC lib/libcoreutils_a-savewd.o CC lib/libcoreutils_a-selinux-at.o CC lib/libcoreutils_a-getfilecon.o CC lib/libcoreutils_a-se-context.o CC lib/libcoreutils_a-se-label.o CC lib/libcoreutils_a-se-selinux.o CC lib/libcoreutils_a-setlocale_null.o CC lib/libcoreutils_a-settime.o CC lib/libcoreutils_a-sig2str.o CC lib/libcoreutils_a-sig-handler.o CC lib/libcoreutils_a-sockets.o CC lib/libcoreutils_a-stat-time.o CC lib/libcoreutils_a-mkstemp-safer.o CC lib/libcoreutils_a-strnlen1.o CC lib/libcoreutils_a-strintcmp.o CC lib/libcoreutils_a-strnumcmp.o CC lib/libcoreutils_a-sys_socket.o CC lib/libcoreutils_a-targetdir.o CC lib/libcoreutils_a-tempname.o CC lib/glthread/libcoreutils_a-threadlib.o CC lib/libcoreutils_a-time.o CC lib/libcoreutils_a-time_rz.o CC lib/libcoreutils_a-timespec.o CC lib/glthread/libcoreutils_a-tls.o CC lib/libcoreutils_a-tmpdir.o CC lib/libcoreutils_a-u64.o CC lib/unicase/libcoreutils_a-tolower.o CC lib/libcoreutils_a-unicodeio.o CC lib/unictype/libcoreutils_a-ctype_alnum.o CC lib/unictype/libcoreutils_a-ctype_alpha.o CC lib/unictype/libcoreutils_a-ctype_blank.o CC lib/unictype/libcoreutils_a-ctype_cntrl.o CC lib/unictype/libcoreutils_a-ctype_digit.o CC lib/unictype/libcoreutils_a-ctype_graph.o CC lib/unictype/libcoreutils_a-ctype_lower.o CC lib/unictype/libcoreutils_a-ctype_print.o CC lib/unictype/libcoreutils_a-ctype_punct.o CC lib/unictype/libcoreutils_a-ctype_space.o CC lib/unictype/libcoreutils_a-ctype_upper.o CC lib/unictype/libcoreutils_a-ctype_xdigit.o CC lib/libcoreutils_a-unistd.o CC lib/libcoreutils_a-dup-safer.o CC lib/libcoreutils_a-fd-safer.o CC lib/libcoreutils_a-pipe-safer.o CC lib/unistr/libcoreutils_a-u32-chr.o CC lib/unistr/libcoreutils_a-u32-cpy.o CC lib/unistr/libcoreutils_a-u32-pcpy.o CC lib/unistr/libcoreutils_a-u32-strcat.o CC lib/unistr/libcoreutils_a-u32-strlen.o CC lib/unistr/libcoreutils_a-u8-mbtoucr.o CC lib/unistr/libcoreutils_a-u8-uctomb.o CC lib/unistr/libcoreutils_a-u8-uctomb-aux.o CC lib/uniwidth/libcoreutils_a-width.o CC lib/libcoreutils_a-unlinkdir.o CC lib/libcoreutils_a-userspec.o CC lib/libcoreutils_a-utimecmp.o CC lib/libcoreutils_a-utimens.o CC lib/libcoreutils_a-verror.o CC lib/libcoreutils_a-version-etc.o CC lib/libcoreutils_a-version-etc-fsf.o CC lib/libcoreutils_a-wctype-h.o CC lib/libcoreutils_a-write-any-file.o CC lib/libcoreutils_a-xalignalloc.o CC lib/libcoreutils_a-xmalloc.o CC lib/libcoreutils_a-xalloc-die.o CC lib/libcoreutils_a-xbinary-io.o CC lib/libcoreutils_a-xdectoimax.o CC lib/libcoreutils_a-xdectoumax.o CC lib/libcoreutils_a-xfts.o CC lib/libcoreutils_a-xgetcwd.o CC lib/libcoreutils_a-xgetgroups.o CC lib/libcoreutils_a-xgethostname.o CC lib/libcoreutils_a-xmemcoll.o CC lib/libcoreutils_a-xnanosleep.o CC lib/libcoreutils_a-xprintf.o CC lib/libcoreutils_a-xreadlink.o CC lib/libcoreutils_a-xsize.o CC lib/libcoreutils_a-xstrtod.o CC lib/libcoreutils_a-xstrtoimax.o CC lib/libcoreutils_a-xstrtol.o CC lib/libcoreutils_a-xstrtoul.o CC lib/libcoreutils_a-xstrtol-error.o CC lib/libcoreutils_a-xstrtold.o CC lib/libcoreutils_a-xstrtoumax.o CC lib/libcoreutils_a-xvasprintf.o CC lib/libcoreutils_a-xasprintf.o CC lib/libcoreutils_a-yesno.o CC lib/asnprintf.o CC lib/asprintf.o CC lib/fopen.o CC lib/mbsrtoc32s-state.o CC lib/mbsrtowcs-state.o CC lib/printf-args.o CC lib/printf-parse.o CC lib/vasnprintf.o CC lib/vasprintf.o CC lib/vfprintf.o CC lib/vprintf.o AR lib/libcoreutils.a CCLD src/chroot CC src/hostid.o CCLD src/hostid CC src/timeout.o CC src/operand2sig.o CCLD src/timeout CC src/nice.o CCLD src/nice CC src/who.o CCLD src/who CC src/users.o CCLD src/users CC src/pinky.o CCLD src/pinky CC src/stty.o CCLD src/stty CC src/df.o CC src/find-mount-point.o CCLD src/df CC src/lbracket.o CCLD src/[ CC src/b2sum-digest.o CC src/blake2/b2sum-blake2b-ref.o CC src/blake2/b2sum-b2sum.o CCLD src/b2sum CC src/base64-basenc.o CCLD src/base64 CC src/base32-basenc.o CCLD src/base32 CC src/basenc-basenc.o CCLD src/basenc CC src/basename.o CCLD src/basename CC src/cat.o CCLD src/cat CC src/chcon.o CCLD src/chcon CC src/chgrp.o CC src/chown-core.o CCLD src/chgrp CC src/chmod.o CCLD src/chmod CC src/chown.o CCLD src/chown CC src/cksum-digest.o CC src/blake2/cksum-blake2b-ref.o CC src/blake2/cksum-b2sum.o CC src/cksum-sum.o CC src/cksum-cksum.o CC src/cksum-crctab.o CC src/libcksum_pclmul_a-cksum_pclmul.o AR src/libcksum_pclmul.a CCLD src/cksum /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o):(.text+0x11): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking CC src/comm.o CCLD src/comm CC src/cp.o CC src/copy.o CC src/cp-hash.o CC src/force-link.o CC src/selinux.o CCLD src/cp CC src/csplit.o CCLD src/csplit CC src/cut.o CC src/set-fields.o CCLD src/cut CC src/date.o CCLD src/date CC src/dd.o CCLD src/dd CC src/ls.o CC src/ls-dir.o CCLD src/dir CC src/dircolors.o CCLD src/dircolors CC src/dirname.o CCLD src/dirname CC src/du.o CCLD src/du CC src/echo.o CCLD src/echo CC src/env.o CCLD src/env CC src/expand.o CC src/expand-common.o CCLD src/expand CC src/expr.o CCLD src/expr CC src/factor.o CCLD src/factor CC src/false.o CCLD src/false CC src/fmt.o CCLD src/fmt CC src/fold.o CCLD src/fold CC src/install.o CC src/prog-fprintf.o CCLD src/ginstall CC src/groups.o CC src/group-list.o CCLD src/groups CC src/head.o CCLD src/head CC src/id.o CCLD src/id CC src/join.o CCLD src/join CC src/kill.o CCLD src/kill CC src/link.o CCLD src/link CC src/ln.o CC src/relpath.o CCLD src/ln CC src/logname.o CCLD src/logname CC src/ls-ls.o CCLD src/ls CC src/md5sum-digest.o CCLD src/md5sum CC src/mkdir.o CCLD src/mkdir CC src/mkfifo.o CCLD src/mkfifo CC src/mknod.o CCLD src/mknod CC src/mktemp.o CCLD src/mktemp CC src/mv.o CC src/remove.o CCLD src/mv CC src/nl.o CCLD src/nl CC src/nproc.o CCLD src/nproc CC src/nohup.o CCLD src/nohup CC src/numfmt.o CCLD src/numfmt CC src/od.o CCLD src/od CC src/paste.o CCLD src/paste CC src/pathchk.o CCLD src/pathchk CC src/pr.o CCLD src/pr CC src/printenv.o CCLD src/printenv CC src/printf.o CCLD src/printf CC src/ptx.o CCLD src/ptx CC src/pwd.o CCLD src/pwd CC src/readlink.o CCLD src/readlink CC src/realpath.o CCLD src/realpath CC src/rm.o CCLD src/rm CC src/rmdir.o CCLD src/rmdir CC src/runcon.o CCLD src/runcon CC src/seq.o CCLD src/seq CC src/sha1sum-digest.o CCLD src/sha1sum /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o):(.text+0x11): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking CC src/sha224sum-digest.o CCLD src/sha224sum /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o):(.text+0x11): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking CC src/sha256sum-digest.o CCLD src/sha256sum /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o):(.text+0x11): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking CC src/sha384sum-digest.o CCLD src/sha384sum /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o):(.text+0x11): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking CC src/sha512sum-digest.o CCLD src/sha512sum /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o):(.text+0x11): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking CC src/shred.o CCLD src/shred CC src/shuf.o CCLD src/shuf CC src/sleep.o CCLD src/sleep CC src/sort.o CCLD src/sort CC src/split.o CC src/temp-stream.o CCLD src/split CC src/stat.o CCLD src/stat CC src/sum-sum.o CC src/sum-digest.o CCLD src/sum CC src/sync.o CCLD src/sync CC src/tac.o CCLD src/tac CC src/tail.o CC src/iopoll.o CCLD src/tail CC src/tee.o CCLD src/tee CC src/test.o CCLD src/test CC src/touch.o CCLD src/touch CC src/tr.o CCLD src/tr CC src/true.o CCLD src/true CC src/truncate.o CCLD src/truncate CC src/tsort.o CCLD src/tsort CC src/tty.o CCLD src/tty CC src/uname.o CC src/uname-uname.o CCLD src/uname CC src/unexpand.o CCLD src/unexpand CC src/uniq.o CCLD src/uniq CC src/unlink.o CCLD src/unlink CC src/uptime.o CCLD src/uptime CC src/ls-vdir.o CCLD src/vdir CC src/wc.o CC src/libwc_avx2_a-wc_avx2.o AR src/libwc_avx2.a CCLD src/wc CC src/whoami.o CCLD src/whoami CC src/yes.o CCLD src/yes CC src/getlimits.o CCLD src/getlimits CC src/make-prime-list.o CCLD src/make-prime-list GEN man/chroot.1 GEN man/hostid.1 GEN man/timeout.1 GEN man/nice.1 GEN man/who.1 GEN man/users.1 GEN man/pinky.1 GEN man/stty.1 GEN man/df.1 GEN man/b2sum.1 GEN man/base64.1 GEN man/base32.1 GEN man/basenc.1 GEN man/basename.1 GEN man/cat.1 GEN man/chcon.1 GEN man/chgrp.1 GEN man/chmod.1 GEN man/chown.1 GEN man/cksum.1 GEN man/comm.1 GEN man/cp.1 GEN man/csplit.1 GEN man/cut.1 GEN man/date.1 GEN man/dd.1 GEN man/dir.1 GEN man/dircolors.1 GEN man/dirname.1 GEN man/du.1 GEN man/echo.1 GEN man/env.1 GEN man/expand.1 GEN man/expr.1 GEN man/factor.1 GEN man/false.1 GEN man/fmt.1 GEN man/fold.1 GEN man/install.1 GEN man/groups.1 GEN man/head.1 GEN man/id.1 GEN man/join.1 GEN man/kill.1 GEN man/link.1 GEN man/ln.1 GEN man/logname.1 GEN man/ls.1 GEN man/md5sum.1 GEN man/mkdir.1 GEN man/mkfifo.1 GEN man/mknod.1 GEN man/mktemp.1 GEN man/mv.1 GEN man/nl.1 GEN man/nproc.1 GEN man/nohup.1 GEN man/numfmt.1 GEN man/od.1 GEN man/paste.1 GEN man/pathchk.1 GEN man/pr.1 GEN man/printenv.1 GEN man/printf.1 GEN man/ptx.1 GEN man/pwd.1 GEN man/readlink.1 GEN man/realpath.1 GEN man/rm.1 GEN man/rmdir.1 GEN man/runcon.1 GEN man/seq.1 GEN man/sha1sum.1 GEN man/sha224sum.1 GEN man/sha256sum.1 GEN man/sha384sum.1 GEN man/sha512sum.1 GEN man/shred.1 GEN man/shuf.1 GEN man/sleep.1 GEN man/sort.1 GEN man/split.1 GEN man/stat.1 GEN man/sum.1 GEN man/sync.1 GEN man/tac.1 GEN man/tail.1 GEN man/tee.1 GEN man/test.1 GEN man/touch.1 GEN man/tr.1 GEN man/true.1 GEN man/truncate.1 GEN man/tsort.1 GEN man/tty.1 GEN man/uname.1 GEN man/unexpand.1 GEN man/uniq.1 GEN man/unlink.1 GEN man/uptime.1 GEN man/vdir.1 GEN man/wc.1 GEN man/whoami.1 GEN man/yes.1 make[2]: Leaving directory '/coreutils-9.4' Making all in gnulib-tests make[2]: Entering directory '/coreutils-9.4/gnulib-tests'

----------------------------------------------------

------------------- Gnulib tests -------------------

You can ignore compiler warnings in this directory.

----------------------------------------------------

make all-recursive make[3]: Entering directory '/coreutils-9.4/gnulib-tests' Making all in . make[4]: Entering directory '/coreutils-9.4/gnulib-tests' CC bench_md5-bench-md5.o CC c-strcasestr.o CC c32tob.o CC ioctl.o CC localename.o CC localename-table.o CC glthread/thread.o CC timespec-add.o CC timespec-sub.o CC unistr/u32-set.o CC vma-iter.o CC strerror_r.o AR libtests.a CCLD bench-md5 CC bench_sha1-bench-sha1.o CCLD bench-sha1 /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o):(.text+0x11): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking CC bench_sha224-bench-sha224.o CCLD bench-sha224 /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o):(.text+0x11): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking CC bench_sha256-bench-sha256.o CCLD bench-sha256 /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o):(.text+0x11): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking CC bench_sha384-bench-sha384.o CCLD bench-sha384 /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o):(.text+0x11): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking CC bench_sha512-bench-sha512.o CCLD bench-sha512 /usr/bin/ld: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/libcrypto.a(libcrypto-lib-dso_dlfcn.o):(.text+0x11): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking CC locale.o CCLD current-locale CC test-localcharset.o CCLD test-localcharset make[4]: Leaving directory '/coreutils-9.4/gnulib-tests' make[3]: Leaving directory '/coreutils-9.4/gnulib-tests' make[2]: Leaving directory '/coreutils-9.4/gnulib-tests' make[1]: Leaving directory '/coreutils-9.4'

zackw commented 3 months ago

You've mixed up libcrypto (part of OpenSSL; a general purpose cryptography library) with libcrypt (this project; a password hashing library, does not provide general purpose cryptography). The log you posted says your build is using libcrypto, not libcrypt, and that also makes much more sense in context.

In addition, the message you report is a warning message; it appears that your build succeeded. (It's telling you that the sha*sum binaries might not work correctly if copied to another system without also copying some shared objects, contrary to expectations for static linkage. But they should work fine on the system where you built them.)

It is probably the case that the static libcrypto.a should avoid using dlopen(), but that is something to bring up with the maintainers of libcrypto, i.e. the OpenSSL project. It might also make sense to change coreutils to not use libcrypto in static builds; that would be a decision for the coreutils maintainers. Please re-file this report against whichever of those projects you think is more appropriate.

As libcrypt is not involved in your problem at all, I am going to close this report.