[krbdev.mit.edu #8878] krb5-1.18 fails to build with libressl 2.9.2.

"Hiroshi Hakoyama via RT" <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.bugs
Message-ID <[email protected]>
Mon Feb 24 11:32:59 2020: Request 8878 was acted upon.
 Transaction: Ticket created by [email protected]
       Queue: krb5
     Subject: krb5-1.18 fails to build with libressl 2.9.2.
       Owner: Nobody
  Requestors: [email protected]
      Status: new
 Ticket <URL: https://krbdev.mit.edu/rt/Ticket/Display.html?id=8878 >


Originator: Hiroshi Hakoyama
Organization: Nagano University
Synopsis: krb5-1.18 fails to build with libressl 2.9.2.
Severity: critical
Priority: medium
Category: krb5-build
Class: sw-bug
Release: 1.18
Environment: mac mini, macOS High Sierra, macports, libressl 2.9.2.
System: Darwin Kernel Version 17.7.0
Machine: x86_64
Description: krb5-1.18 fails to build with libressl 2.9.2 on the macports system.
I sent a bug report to the macports project, and the admin suggested that I should send pr to the upstream: https://trac.macports.org/ticket/60102

% sudo port install libressl-devel
...
% sudo port upgrade kerberos5
...
--->  Building kerberos5
Error: Failed to build kerberos5: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_kerberos5/kerberos5/main.log for details.
Error: rev-upgrade failed: Error rebuilding kerberos5
Error: Follow https://guide.macports.org/#project.tickets to report a bug.

% less  /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_kerberos5/kerberos5/main.log
...
:info:build rm -f darwin.exports
:info:build sed "s/^/_/" < ./softpkcs11.exports > darwin.exports
:info:build main.c:448:29: warning: implicit declaration of function 'RSA_PKCS1_OpenSSL' is invalid in C99 [-Wimplicit-function-declaration]
:info:build         RSA_set_method(rsa, RSA_PKCS1_OpenSSL());
:info:build                             ^
:info:build main.c:448:29: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const RSA_METHOD *' (aka 'const struct rsa_meth_st *') [-Wint-conversion]
:info:build         RSA_set_method(rsa, RSA_PKCS1_OpenSSL());
:info:build                             ^~~~~~~~~~~~~~~~~~~
:info:build /opt/local/include/openssl/rsa.h:290:48: note: passing argument to parameter 'meth' here
:info:build int RSA_set_method(RSA *rsa, const RSA_METHOD *meth);
:info:build                                                ^
:info:build main.c:684:32: warning: implicit declaration of function 'RSA_PKCS1_OpenSSL' is invalid in C99 [-Wimplicit-function-declaration]
:info:build                                RSA_PKCS1_OpenSSL());
:info:build                                ^
:info:build main.c:684:32: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const RSA_METHOD *' (aka 'const struct rsa_meth_st *') [-Wint-conversion]
:info:build                                RSA_PKCS1_OpenSSL());
:info:build                                ^~~~~~~~~~~~~~~~~~~
:info:build /opt/local/include/openssl/rsa.h:290:48: note: passing argument to parameter 'meth' here
:info:build int RSA_set_method(RSA *rsa, const RSA_METHOD *meth);
:info:build                                                ^
:info:build main.c:1228:24: warning: implicit declaration of function 'RSA_PKCS1_OpenSSL' is invalid in C99 [-Wimplicit-function-declaration]
:info:build                        RSA_PKCS1_OpenSSL());
:info:build                        ^
:info:build main.c:1228:24: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const RSA_METHOD *' (aka 'const struct rsa_meth_st *') [-Wint-conversion]
:info:build                        RSA_PKCS1_OpenSSL());
:info:build                        ^~~~~~~~~~~~~~~~~~~
:info:build /opt/local/include/openssl/rsa.h:290:48: note: passing argument to parameter 'meth' here
:info:build int RSA_set_method(RSA *rsa, const RSA_METHOD *meth);
:info:build                                                ^
:info:build 6 warnings generated.
:info:build : updated OBJS.SH
:info:build rm -f softpkcs11.so
:info:build building dynamic softpkcs11 object
:info:build set -x; objlist=`set -x && perl -p -e 'BEGIN { $SIG{__WARN__} = sub {die @_} }; $e=$ARGV; $e =~ s/OBJS\...$//; s/^/ /; s/ $//; s/ / $e/g;' OBJS.SH` && /usr/bin/clang -bundle -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64 -fno-common -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64 -Wl,-search_paths_first -o softpkcs11.so $objlist -L../../lib -lkrb5support -lcrypto -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64 -Wl,-search_paths_first -exported_symbols_list darwin.exports
:info:build ++ set -x
:info:build ++ perl -p -e 'BEGIN { $SIG{__WARN__} = sub {die @_} }; $e=$ARGV; $e =~ s/OBJS\...$//; s/^/ /; s/ $//; s/ / $e/g;' OBJS.SH
:info:build + objlist=' main.so'
:info:build + /usr/bin/clang -bundle -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64 -fno-common -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64 -Wl,-search_paths_first -o softpkcs11.so main.so -L../../lib -lkrb5support -lcrypto -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64 -Wl,-search_paths_first -exported_symbols_list darwin.exports
:info:build Undefined symbols for architecture x86_64:
:info:build   "_RSA_PKCS1_OpenSSL", referenced from:
:info:build       _C_Initialize in main.so
:info:build       _C_Login in main.so
:info:build       _add_pubkey_info in main.so
:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make[2]: *** [softpkcs11.so] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_kerberos5/kerberos5/work/krb5-1.18/src/tests/softpkcs11'
:info:build make[1]: *** [all-recurse] Error 1
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_kerberos5/kerberos5/work/krb5-1.18/src/tests'
:info:build make: *** [all-recurse] Error 1
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_kerberos5/kerberos5/work/krb5-1.18/src'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_kerberos5/kerberos5/work/krb5-1.18/src" && /usr/bin/make -j4 -w all 
:info:build Exit code: 2
:error:build Failed to build kerberos5: command execution failed
:debug:build Error code: CHILDSTATUS 62233 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"
:error:build See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_kerberos5/kerberos5/main.log for details.

How-To-Repeat: N/A
Fix: There is a patch for krb5-1.18 with libressl 3.02 made by Dr. Masahito Yamaga, which might fix the problem.
https://yama-ga.up.seesaa.net/image/krb5-1.18.diff
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.