Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Sep 2018 11:02:33 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        bob prohaska <fbsd@www.zefox.net>, phascolarctos@protonmail.ch, FreeBSD Ports <freebsd-ports@freebsd.org>
Subject:   Re: error: undefined symbol: OPENSSL_cpuid_setup
Message-ID:  <7A165122-1296-44A9-BD51-2FAB9F2DD56A@yahoo.com>

next in thread | raw e-mail | index | archive | help
Lorenzo Salvadore phascolarctos at protonmail.ch wrote on
Wed Sep 26 17:01:01 UTC 2018 :

> > On Wed, Sep 26, 2018 at 09:53:32AM +0000, Lorenzo Salvadore via =
freebsd-ports wrote:
> >
> > > > > While playing with compiling www/chromium, I'm seeing make =
stop with
> > > > > /usr/bin/ld.lld: error: undefined symbol: OPENSSL_cpuid_setup
> > > > > This is on a Raspberry Pi 3 running
> > > > > FreeBSD www.zefox.org 12.0-ALPHA7 FreeBSD 12.0-ALPHA7 r338880 =
GENERIC
> > > > > with ports at
> > > > > 480613
> > > > > World and kernel build, install and run acceptably, so the =
system as
> > > > > a whole isn't hugely broken. Can anybody suggest a =
fix/workaround?
> > > >
> > > > Changed the make command to
> > > > make -DBATCH DISABLE_VULNERABILITIES=3Dyes =
DEFAULT_VERSIONS+=3Dssl=3Dbase > make.log
> > > > but make stopped with the same error:
> > > > /usr/bin/ld.lld: error: undefined symbol: OPENSSL_cpuid_setup
> > > >
> > > > > > > referenced by crypto.c
> > > > > > > crypto.o:(do_library_init) in archive =
obj/third_party/boringssl/libboringssl.a
> > > >
> > > > c++: error: linker command failed with exit code 1 (use -v to =
see invocation)
> > > > It's not clear to me if this is an issue with the port, or the =
base system.
> > > > Any advice appreciated!
> > >
> > > I might be wrong, but I see some similiraties with an issue =
discussed in those days
> > > under the subject "error: undefined symbol: main in poudriere =
jail". It was a
> > > linking problem that appeared only on 12.0-ALPHA7 (or current any =
anyway, not on
> > > 11.2-RELEASE). I suggest you take a look into it.
> > > Here are the links to the most relevant messages (from the week =
archive, so they
> > > will not work anymore after the week pass and then you will have =
to search them
> > > in an other archive):
> > > =
https://docs.freebsd.org/cgi/getmsg.cgi?fetch=3D87161+0+current/freebsd-po=
rts
> > > =
https://docs.freebsd.org/cgi/getmsg.cgi?fetch=3D108259+0+current/freebsd-p=
orts
> >
> > My situation is much simpler than the one described, there's no =
jail, just
> > a plain "make" in /usr/ports/www/chromium. Hopefully it'll be less =
complex!
>=20
> The jail was not relevant for that problem: the point was that the new =
default linker
> for 12.0-ALPHA7 made disappear the symbol main() and my guess is that =
it also makes
> disappear the symbol OPENSSL_cpuid_setup in your case.
>=20
> If that was the case making the suggested symlink may solve your =
problem:
> ln -sf ld.bfd /usr/bin/ld
>=20
> As I do not have a 12.0-ALPHA7 installed, I can not tell you where is =
ld.bfd, but I am sure
> you will not have problem to find it.
>=20
> On this topic, you might also like to take a look at this:
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D214864

In particular there is Comment 168 from Jan Beich:

QUOTE
I'm puzzled why my port started to fail only recently. Not to mention, =
audio/openal-soft builds fine with LLD >=3D 7. Maybe merge clang700 =
*before* /stable/12 branches to avoid facepalm for a whole year until =
EOL.

=
http://www.ipv6proxy.net/go.php?u=3Dhttp%3A%2F%2Fbeefy12.nyi.freebsd.org%2=
Fdata%2Flatest-per-pkg%2Frpcs3%2F0.0.5.892%2Fhead-amd64-default.log
=
http://www.ipv6proxy.net/go.php?u=3Dhttp%3A%2F%2Fbeefy12.nyi.freebsd.org%2=
Fdata%2Flatest-per-pkg%2Frpcs3%2F0.0.5.912%2Fhead-amd64-default.log
END QUOTE

Although that last link (the failure example) shows getting:

/usr/bin/ld: error: cannot preempt symbol: . . .

errors. Still, it seems to be another example of
recently changed linking behavior if I read
correctly.

I think that makes 3 new link failures for 3 different people
for 3 distinct contexts that are referenced in the above
material: the "cannot preempt symbol" one, the "main" one,
and the "OPENSSL_cpuid_setup" one.

=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7A165122-1296-44A9-BD51-2FAB9F2DD56A>