Re: OpenSSL 3.0 for 14.0-RELEASE: issues with 1.x/3.x symbol clashing, ports linking against base OpenSSL, ports that don't compile/link against OpenSSL 3, etc

Pierre Pronchery <[email protected]>
Newsgroups gmane.os.freebsd.architechture
Message-ID <CAAA5UuDV-EatresGFW_zfFMQYsP2MY-iHU_RzHnPnf=kbfHpLg@mail.gmail.com>
Hi Kyle, everyone,

Thanks for the hints!

Unfortunately I am still not able to make your solution work. With
"SUBDIR_DEPEND_modules= libcrypto" (no "S") and "SUBDIR_PARALLEL=" the
build fails with:
"make[4]: make[4]: don't know how to make
all_subdir_secure/lib/libcrypto/libcrypto. Stop"

I'm looking at other places in the source tree to try to reproduce the
behaviour we want.

In the meantime what I did is to remove LIBADD=crypto in
modules/Makefile.inc, but I am not sure yet if this is going to work or not.

Cheers,
-- Pierre

On Thu, May 11, 2023 at 9:45 AM Kyle Evans <[email protected]> wrote:

> On Thu, May 11, 2023 at 9:54 AM Enji Cooper <[email protected]> wrote:
> >
> >
> > > On May 11, 2023, at 00:23, Antoine Brodin <[email protected]> wrote:
> > >
> > > On Thu, May 11, 2023 at 6:31 AM Pierre Pronchery
> > > <[email protected]> wrote:
> > >>
> > >>                Hi everyone,
> > >>
> > >> It's been a long and tough fight, but I finally managed to complete a
> > >> `make buildworld` on amd64 with the latest state of my work on OpenSSL
> > >> 3; see https://github.com/freebsd/freebsd-src/pull/740 for a first
> draft
> > >> of a pull-request via GitHub.
> > >>
> > >> I will probably not be able to work on this again until the DevSummit
> at
> > >> BSDCan, so feel free to take it from there until then.
> > >>
> > >> HTH!
> > >> -- khorben
> > >
> > > Thanks,  I have this error during buildworld:
> > >
> > > ===> secure/lib/libcrypto/modules/fips (all)
> > > make[6]:
> /usr/obj/poudriere/data/src-openssl3/amd64.amd64/secure/lib/libcrypto/modules/fips/.depend,
> > > 1: ignoring stale .depend for
> > >
> /usr/obj/poudriere/data/src-openssl3/amd64.amd64/tmp/usr/lib/libcrypto.a
> > > building shared library fips.so
> > > cc -target x86_64-unknown-freebsd14.0
> > > --sysroot=/usr/obj/poudriere/data/src-openssl3/amd64.amd64/tmp
> > > -B/usr/obj/poudriere/data/src-openssl3/amd64.amd64/tmp/usr/bin
> > > -Wl,-zrelro   -fstack-protector-strong -shared -Wl,-x
> > > -Wl,--fatal-warnings -Wl,--warn-shared-textrel  -o fips.so.full
> > > -Wl,-soname,fips.so fips_entry.pico fipsprov.pico self_test.pico
> > > self_test_kats.pico  -lcrypto
> > > ld: error: unable to find library -lcrypto
> > > cc: error: linker command failed with exit code 1 (use -v to see
> invocation)
> > > *** Error code 1
> >
> > Good find!
> >
> > The modules directory will likely need to be built in a later stage of
> world (after libcrypto has been installed). That, or LDFLAGS needs to be
> adjusted to find libcrypto in the build tree.
> >
>
> I suspect it's a fairly simple one, actually: move all of the parts
> that actually build libcrypto into a subdir of secure/lib/libcrypto
> and make sure there's a proper SUBDIR_DEPENDS_modules= libcrypto. The
> module is built in secure/lib/libcrypto/Makefile, but I would guess
> either it's racing the build of modules/ (SUBDIR) against the build of
> the module in the parent Makefile, or it's just going to build the
> SUBDIR first every time. I don't recall the exact behavior of make
> here.
>
> libcrypto is in _prebuild_libs, but I don't think we have any way you
> can actually tell we're in the prebuild phase to avoid SUBDIR'ing in
> the modules/ while we're doing the earlier build. If we did, the later
> all pass should descend back into libcrypto/ and do nothing for the
> lib itself but build the modules.
>
> Thanks,
>
> Kyle Evans
>
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.