Bug 254078 - new sysutils/uefi-edk2-bhyve will not compile
Summary: new sysutils/uefi-edk2-bhyve will not compile
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Rebecca Cran
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-07 00:51 UTC by doctor
Modified: 2021-04-07 03:33 UTC (History)
3 users (show)

See Also:
linimon: maintainer-feedback? (bcran)


Attachments
compilation of port (213.52 KB, text/plain)
2021-03-07 00:51 UTC, doctor
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description doctor 2021-03-07 00:51:31 UTC
Created attachment 223037 [details]
compilation of port

Compiliation will not recognise a C++ Library
Comment 1 Rebecca Cran freebsd_committer 2021-03-07 20:00:44 UTC
So the thing that ends up causing the build to fail is the following:

ld-elf.so.1: /usr/local/lib/compat/libstdc++.so.6: version CXXABI_1.3.8 required by /usr/ports/sysutils/uefi-edk2-bhyve/work/edk2-2e1e8c35f3178df95d79da81ac6deec242da74c2/BaseTools/Source/C/bin/VfrCompile not found

From my experience this is normally caused by an unusual toolchain configuration being installed, for example gcc48. From discussions on the mailing list I understand it's not caused by that this time, but it's possible options in /etc/make.conf are causing problems.
Comment 2 doctor 2021-03-08 07:18:22 UTC
In one system

there is no /etc/make.conf so defaults.
Comment 3 doctor 2021-03-08 07:29:55 UTC
Looks like the libstbc++.so is the issue.

Just a simple rename does the trick
Comment 4 Rebecca Cran freebsd_committer 2021-03-14 04:47:34 UTC
I think I might have found the issue.

If you don't mind doing some testing, could you do the following:
On the following line (line 83) in sysutils/uefi-edk2-bhyve/Makefile

(cd ${WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C edk2-${GH_TAGNAME}/BaseTools -j ${MAKE_JOBS_NUMBER} ${_MAKE_JOBS})

Add the following at the end of the line but before the closing parenthesis:

EXTRA_LDFLAGS=-static

The line should look like:

(cd ${WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C edk2-${GH_TAGNAME}/BaseTools -j ${MAKE_JOBS_NUMBER} ${_MAKE_JOBS} EXTRA_LDFLAGS=-static)