error: undefined symbol: OPENSSL_cpuid_setup

Mark Millard marklmi at yahoo.com
Wed Sep 26 18:12:45 UTC 2018


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=yes DEFAULT_VERSIONS+=ssl=base > 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=87161+0+current/freebsd-ports
> > > https://docs.freebsd.org/cgi/getmsg.cgi?fetch=108259+0+current/freebsd-ports
> >
> > 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!
> 
> 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.
> 
> If that was the case making the suggested symlink may solve your problem:
> ln -sf ld.bfd /usr/bin/ld
> 
> 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.
> 
> On this topic, you might also like to take a look at this:
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=214864

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 >= 7. Maybe merge clang700 *before* /stable/12 branches to avoid facepalm for a whole year until EOL.

http://www.ipv6proxy.net/go.php?u=http%3A%2F%2Fbeefy12.nyi.freebsd.org%2Fdata%2Flatest-per-pkg%2Frpcs3%2F0.0.5.892%2Fhead-amd64-default.log
http://www.ipv6proxy.net/go.php?u=http%3A%2F%2Fbeefy12.nyi.freebsd.org%2Fdata%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.

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



More information about the freebsd-ports mailing list