Bug 228219 - emulators/virtualbox-ose: Stop linking programs statically and fix build with LibreSSL
Summary: emulators/virtualbox-ose: Stop linking programs statically and fix build with...
Status: Closed Feedback Timeout
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Virtualbox Team (Nobody)
URL:
Keywords: needs-qa, patch
Depends on:
Blocks: 226843
  Show dependency treegraph
 
Reported: 2018-05-13 14:43 UTC by Tobias Kortkamp
Modified: 2019-01-05 12:28 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (vbox)


Attachments
virtualbox-ose.diff (6.19 KB, patch)
2018-05-13 14:43 UTC, Tobias Kortkamp
tobik: maintainer-approval? (vbox)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tobias Kortkamp freebsd_committer freebsd_triage 2018-05-13 14:43:37 UTC
Created attachment 193356 [details]
virtualbox-ose.diff

Hi,

it seems that virtualbox-ose attempts to link statically with some
libraries. This fails on 12.0-CURRENT/amd64 (r333416) with
DEFAULT_VERSIONS=ssl=libressl in make.conf:

    kBuild: Linking VBoxCpuReport
    /usr/bin/ld: error: duplicate symbol: arc4random
    >>> defined at arc4random.o:(arc4random) in archive /usr/local/lib/libcrypto.a
    >>> defined at arc4random.c:223 (/usr/src/lib/libc/gen/arc4random.c:223)
    >>>            arc4random.o:(.text+0x6D0) in archive /usr/lib/libc.a
    
    /usr/bin/ld: error: duplicate symbol: arc4random_buf
    >>> defined at arc4random.o:(arc4random_buf) in archive /usr/local/lib/libcrypto.a
    >>> defined at arc4random.c:235 (/usr/src/lib/libc/gen/arc4random.c:235)
    >>>            arc4random.o:(.text+0xAE0) in archive /usr/lib/libc.a
    
    /usr/bin/ld: error: duplicate symbol: arc4random_uniform
    >>> defined at arc4random_uniform.o:(arc4random_uniform) in archive /usr/local/lib/libcrypto.a
    >>> defined at arc4random.c:259 (/usr/src/lib/libc/gen/arc4random.c:259)
    >>>            arc4random.o:(.text+0x1110) in archive /usr/lib/libc.a
    c++: error: linker command failed with exit code 1 (use -v to see invocation)
    kmk: *** [/wrkdirs/usr/ports/emulators/virtualbox-ose/work/VirtualBox-5.2.12/out/freebsd.amd64/release/obj/VBoxCpuReport/VBoxCpuReport] Error 1
    The failing command:
    @c++                     '-Wl,-rpath,/usr/local/lib/virtualbox' -static   -m64   -o /wrkdirs/usr/ports/emulators/virtualbox-ose/work/VirtualBox-5.2.12/out/freebsd.amd64/release/obj/VBoxCpuReport/VBoxCpuReport /wrkdirs/usr/ports/emulators/virtualbox-ose/work/VirtualBox-5.2.12/out/freebsd.amd64/release/obj/VBoxCpuReport/VBoxCpuReport.o /wrkdirs/usr/ports/emulators/virtualbox-ose/work/VirtualBox-5.2.12/out/freebsd.amd64/release/obj/VBoxCpuReport/VBoxCpuReportMsrSup.o /wrkdirs/usr/ports/emulators/virtualbox-ose/work/VirtualBox-5.2.12/out/freebsd.amd64/release/obj/VBoxCpuReport/dt/VMMR3/CPUMR3CpuId.o   -L/usr/local/lib   /wrkdirs/usr/ports/emulators/virtualbox-ose/work/VirtualBox-5.2.12/out/freebsd.amd64/release/lib/SUPR3Static.a   /wrkdirs/usr/ports/emulators/virtualbox-ose/work/VirtualBox-5.2.12/out/freebsd.amd64/release/lib/RuntimeR3.a   /wrkdirs/usr/ports/emulators/virtualbox-ose/work/VirtualBox-5.2.12/out/freebsd.amd64/release/lib/RuntimeR3.a   /wrkdirs/usr/ports/emulators/virtualbox-ose/work/VirtualBox-5.2.12/out/freebsd.amd64/release/lib/VBox-liblzf.a   -lz   -lpthread   -lssl   -lcrypto
    *** Error code 2

The attached patch adds FreeBSD to the list of platforms where this is
not allowed. (It seems the last update did not regenerate the patches,
so sorry for the extra noise in the patch.)