Date: Thu, 16 Aug 2018 11:25:39 -0700 From: Xin LI <delphij@gmail.com> To: Brad Davis <brd@freebsd.org> Cc: current@freebsd.org Subject: Re: /usr/bin/ld: error: undefined symbol: main [r337834 -> r337903] Message-ID: <CAGMYy3smc-yptUjsgV1vOvwn5k2jqdu%2BY3Ja%2B8Uu4q7pzXEQGA@mail.gmail.com> In-Reply-To: <1534436769.312158.1476422048.77F4DB62@webmail.messagingengine.com> References: <20180816111532.GY1190@albert.catwhisker.org> <CAGMYy3tJk7iKM89K8j-57YbRAUu7UqOysPGXNP92-uT5XroM3A@mail.gmail.com> <1534436769.312158.1476422048.77F4DB62@webmail.messagingengine.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Aug 16, 2018 at 9:26 AM Brad Davis <brd@freebsd.org> wrote: > > On Thu, Aug 16, 2018, at 10:13 AM, Xin LI wrote: > > This was caused by r337852, but I didn't investigated further. > > > > The problem is that we have a source file called 'moduli.c' in > > crypto/openssh/ while the build target was moduli, and bmake seen > > 'moduli' in source tree as older than moduli.c, and decided to rebuild > > it from source, while the two files are unrelated. > > Hi Xin, > > I don't see how that could be the case as I didn't move the file around, = I just moved how it gets installed. > > I have done many many builds with this change in and haven't seen this pr= oblem.. Yeah, let me rephrase: this might have been exposed by r337852; I don't think your change itself really caused or should have caused problem, but my theory based on what we have observed was that it might have exposed a bug where either bmake itself, or some .mk files might have generated e.g. automatic rule for ${foo}: ${foo}.c rules (haven't traced that part down yet). The most scaring part is that the build system seems to trying building crypto/openssh/moduli because moduli.c was newer, and the file was deleted as part of the rebuild; should moduli.c compile by its own, we would end up with a binary moduli file. I'll take another look tonight if I had some time. > > > Regards, > Brad Davis > > > On Thu, Aug 16, 2018 at 4:19 AM David Wolfskill <david@catwhisker.org> = wrote: > > > > > > Running: > > > > > > FreeBSD g1-215.catwhisker.org 12.0-ALPHA1 FreeBSD 12.0-ALPHA1 #80 r3= 37834M/337834:1200077: Wed Aug 15 04:34:45 PDT 2018 root@g1-215.catwhis= ker.org:/common/S4/obj/usr/src/amd64.amd64/sys/CANARY amd64 > > > > > > after updating working copy to r337903, I'm seeing: > > > > > > ... > > > >>> stage 4.3: building everything > > > ... > > > --- ifconfig_make --- > > > Building /common/S4/obj/usr/src/amd64.amd64/rescue/rescue/usr/src/sbi= n/ifconfig/af_inet6.o > > > --- all_subdir_secure --- > > > --- moduli --- > > > /usr/bin/ld: error: undefined symbol: main > > > >>> referenced by crt1.c > > > >>> /common/S4/obj/usr/src/amd64.amd64/tmp/usr/lib/crt1= .o:(_start) > > > /usr/bin/ld: error: undefined symbol: Fssh_error > > > .... > > > make[5]: stopped in /usr/src/secure/usr.sbin/sshd > > > .ERROR_TARGET=3D'moduli' > > > .ERROR_META_FILE=3D'/common/S4/obj/usr/src/amd64.amd64/secure/usr.sbi= n/sshd/moduli.meta' > > > .MAKE.LEVEL=3D'5' > > > MAKEFILE=3D'' > > > .MAKE.MODE=3D'meta missing-filemon=3Dyes missing-meta=3Dyes silent=3D= yes verbose' > > > _ERROR_CMD=3D'cc -target x86_64-unknown-freebsd12.0 --sysroot=3D/comm= on/S4/obj/usr/src/amd64.amd64/tmp -B/common/S4/obj/usr/src/amd64.amd64/tmp/= usr/bin -O2 -pipe -I/usr/src/crypto/openssh -include ssh_namespace.h -DHA= VE_LDNS=3D1 -DUSE_BSM_AUDIT=3D1 -DHAVE_GETAUDIT_ADDR=3D1 -DUSE_BLACKLIST=3D= 1 -I/usr/src/contrib/blacklist/include -include krb5_config.h -DLIBWRAP=3D1= -std=3Dgnu99 -fstack-protector-strong -Wno-pointer-sign -Wno-empty-body -W= no-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wn= o-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-con= version -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-switch= -Wno-switch-enum -Wno-knr-promoted-parameter -Wno-parentheses -Qunused-ar= guments -L/common/S4/obj/usr/src/amd64.amd64/lib/libblacklist /usr/src/c= rypto/openssh/moduli.c -o moduli; ;' > > > .CURDIR=3D'/usr/src/secure/usr.sbin/sshd' > > > .MAKE=3D'make' > > > .OBJDIR=3D'/common/S4/obj/usr/src/amd64.amd64/secure/usr.sbin/sshd' > > > .TARGETS=3D'all' > > > DESTDIR=3D'/common/S4/obj/usr/src/amd64.amd64/tmp' > > > .... > > > > > > (on both the laptop and the build machine). > > > > > > I have copied the .ERROR_META_FILE to > > > <http://www.catwhisker.org/~david/FreeBSD/head/r337903/moduli.meta an= d > > > a typescript of the attempted build to > > > <http://www.catwhisker.org/~david/FreeBSD/head/r337903/typescript>. > > > > > > Additional information (previous day's verbose dmesg.bot, etc.) may > > > be found at <http://www.catwhisker.org/~david/FreeBSD/history/>. > > > > > > Peace, > > > david > > > -- > > > David H. Wolfskill david@catwhisker.org > > > Trump is gaslighting us: https://www.bbc.com/news/world-us-canada-449= 59300 > > > > > > See http://www.catwhisker.org/~david/publickey.gpg for my public key.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGMYy3smc-yptUjsgV1vOvwn5k2jqdu%2BY3Ja%2B8Uu4q7pzXEQGA>