Bug 935

Summary: libsudo_util.so: undefined reference to `gcry_md_close' (and other gcrypt related functions)
Product: Sudo Reporter: Lars Wendler <polynomial-c>
Component: PackagingAssignee: Todd C. Miller <Todd.Miller>
Status: RESOLVED FIXED    
Severity: normal    
Priority: low    
Version: 1.9.2   
Hardware: PC   
OS: Linux   
Attachments: build.log

Description Lars Wendler 2020-07-16 02:58:08 MDT
Created attachment 545 [details]
build.log

Trying to build sudo-1.9.2rc1 fails with undefind references to gcrypt functions:

libtool: link: x86_64-pc-linux-gnu-gcc -o .libs/sudo_logsrvd logsrv_util.o eventlog.o iolog_writer.o logsrvd.o logsrvd_conf.o -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common -Wl,--enable-new-dtags -Wl,-z -Wl,relro -fPIE -pie -fstack-protector-strong -pthread -pthread  -Wl,--as-needed ../lib/iolog/.libs/libsudo_iolog.a /var/tmp/portage/app-admin/sudo-1.9.2_rc1/work/sudo-1.9.2rc1/lib/util/.libs/libsudo_util.so -lpthread ../lib/logsrv/.libs/liblogsrv.a -lssl -lcrypto -lz -ldl -pthread -Wl,-rpath -Wl,/usr/libexec/sudo
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/app-admin/sudo-1.9.2_rc1/work/sudo-1.9.2rc1/lib/util/.libs/libsudo_util.so: undefined reference to `gcry_md_close'
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/app-admin/sudo-1.9.2_rc1/work/sudo-1.9.2rc1/lib/util/.libs/libsudo_util.so: undefined reference to `gcry_md_read'
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/app-admin/sudo-1.9.2_rc1/work/sudo-1.9.2rc1/lib/util/.libs/libsudo_util.so: undefined reference to `gcry_md_get_algo_dlen'
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/app-admin/sudo-1.9.2_rc1/work/sudo-1.9.2rc1/lib/util/.libs/libsudo_util.so: undefined reference to `gcry_md_write'
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/app-admin/sudo-1.9.2_rc1/work/sudo-1.9.2rc1/lib/util/.libs/libsudo_util.so: undefined reference to `gcry_md_reset'
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/app-admin/sudo-1.9.2_rc1/work/sudo-1.9.2rc1/lib/util/.libs/libsudo_util.so: undefined reference to `gcry_md_open'
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/app-admin/sudo-1.9.2_rc1/work/sudo-1.9.2rc1/lib/util/.libs/libsudo_util.so: undefined reference to `gcry_md_ctl'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:149: sudo_logsrvd] Error 1


sudo-1.9.1 builds fine so I suppose this is caused by a change in the build system.
Comment 1 Todd C. Miller 2020-07-16 07:45:49 MDT
Sounds like you are passing configure --enable-openssl and --enable-gcrypt.  It doesn't really make sense to use both of them so sudo's configure script will now ignore --enable-gcrypt if --enable-openssl is specified.  This avoids the issue.

https://www.sudo.ws/repos/sudo/rev/39d493d7e549
Comment 2 Todd C. Miller 2020-07-16 09:26:23 MDT
Sudo 1.9.2rc2 is out now that includes the fix.
Comment 3 Lars Wendler 2020-07-19 06:40:33 MDT
Thanks. That fixed the issue.