[Bug 1177140] New: openssh ppc64 build failure undefined reference to `sshsk_sign'
http://bugzilla.opensuse.org/show_bug.cgi?id=1177140 Bug ID: 1177140 Summary: openssh ppc64 build failure undefined reference to `sshsk_sign' Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: PowerPC OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Other Assignee: screening-team-bugs@suse.de Reporter: normand@linux.vnet.ibm.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- Created attachment 842120 --> http://bugzilla.opensuse.org/attachment.cgi?id=842120&action=edit openssh_standard_ppc64_202009291700.log.gz openssh ppc64 build failure undefined reference to `sshsk_sign' as reported on OBS https://build.opensuse.org/package/show/openSUSE:Factory:PowerPC/openssh (no failure for ppc64le) attached openssh_standard_ppc64_202009291700.log.gz extract: === [ 120s] /usr/lib64/gcc/powerpc64-suse-linux/10/../../../../powerpc64-suse-linux/bin/ld: ./libssh.a(sshkey.o): in function `sshkey_sign': [ 120s] /home/abuild/rpmbuild/BUILD/openssh-8.3p1/sshkey.c:2799: undefined reference to `sshsk_sign' [ 120s] collect2: error: ld returned 1 exit status === If I compare with log of ppc64le that passed, I identified following compilation options present in ppc64le but not ppc64: === -fmessage-length=0 -grecord-gcc-switches -flto=auto === I assume that no packages are build with LTO for ppc64. If I force -flto=auto for ppc64 specifically for this package then the build complete as per https://build.opensuse.org/package/view_file/home:michel_mno:branches:networ... BUT I am not sure this is the right thing to be done. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1177140 Michel Normand <normand@linux.vnet.ibm.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |martin.liska@suse.com Flags| |needinfo?(martin.liska@suse | |.com) -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1177140 http://bugzilla.opensuse.org/show_bug.cgi?id=1177140#c1 Martin Liška <martin.liska@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(martin.liska@suse | |.com) | --- Comment #1 from Martin Liška <martin.liska@suse.com> ---
I assume that no packages are build with LTO for ppc64.
Yes, it's likely caused by fact that we don't have so many powerfull OBS workers for ppc64.
BUT I am not sure this is the right thing to be done.
It's not the proper fix. Please investigate why is the symbol missing? If I see correctly it should be defined here: [ 117s] cc -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -fpie -fstack-protector -pipe -Wno-error=format-truncation -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wsizeof-pointer-memaccess -Wno-pointer-sign -Wno-unused-result -Wimplicit-fallthrough -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -ftrapv -fno-builtin-memset -fstack-protector-strong -fPIE -I. -I. -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -I/usr/include/editline -DLDAP_DEPRECATED -DOPENSSL_LOAD_CONF -DSSHDIR=\"/etc/ssh\" -D_PATH_SSH_PROGRAM=\"/usr/bin/ssh\" -D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/libexec/ssh/ssh-askpass\" -D_PATH_SFTP_SERVER=\"/usr/libexec/ssh/sftp-server\" -D_PATH_SSH_KEY_SIGN=\"/usr/libexec/ssh/ssh-keysign\" -D_PATH_SSH_PKCS11_HELPER=\"/usr/libexec/ssh/ssh-pkcs11-helper\" -D_PATH_SSH_SK_HELPER=\"/usr/libexec/ssh/ssh-sk-helper\" -D_PATH_SSH_PIDDIR=\"/run\" -D_PATH_PRIVSEP_CHROOT_DIR=\"/var/lib/empty\" -DHAVE_CONFIG_H -c ssh-sk.c -o ssh-sk.o -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1177140 http://bugzilla.opensuse.org/show_bug.cgi?id=1177140#c2 --- Comment #2 from Hans Petter Jansson <hpj@suse.com> --- I don't know why the function might end up missing on ppc64 only. It's defined only if ENABLE_SK is defined (ssh-sk.c), and this in turn depends on U2F support. Maybe it's missing an #ifdef ENABLE_SK around a caller and the presence of -flto affects the configure script somehow. I'll check. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1177140 http://bugzilla.opensuse.org/show_bug.cgi?id=1177140#c3 --- Comment #3 from Michel Normand <normand@linux.vnet.ibm.com> --- Created attachment 842166 --> http://bugzilla.opensuse.org/attachment.cgi?id=842166&action=edit openssh_openSUSE_Tumbleweed____x86_64_202010011514.log.gz I confirm that failure was masked by lto enable for x86_64 or ppc64le as per last trial in my branch where I voluntarily forced %define _lto_cflags %{nil} attached x86_64 log has same original failure of ppc64: === [ 125s] cc -o sftp-server sftp-common.o sftp-server.o sftp-server-main.o -L. -Lopenbsd-compat/ -pie -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -fstack-protector-strong -pie -lssh -lopenbsd-compat -lcrypto -ldl -lldap -llber -lutil -lz -lcrypt -lresolv [ 125s] /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: ./libssh.a(sshkey.o): in function `sshkey_sign': [ 125s] /home/abuild/rpmbuild/BUILD/openssh-8.3p1/sshkey.c:2799: undefined reference to `sshsk_sign' === -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1177140 Michel Normand <normand@linux.vnet.ibm.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Hardware|PowerPC |All Summary|openssh ppc64 build failure |openssh build failure |undefined reference to |undefined reference to |`sshsk_sign' |`sshsk_sign' if lto | |disabled -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com