Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Mar 2020 09:15:45 -0600
From:      Alan Somers <asomers@freebsd.org>
To:        Willem Jan Withagen <wjw@digiware.nl>
Cc:        "freebsd-virtualization@freebsd.org" <virtualization@freebsd.org>,  FreeBSD Hackers <freebsd-hackers@freebsd.org>, "ports@freebsd.org" <ports@freebsd.org>
Subject:   Re: [RFC] Adding a Rados block driver to bhyve
Message-ID:  <CAOtMX2iwJ1_VVDXOnSP6nui-JcYMwndXMex8fxtyi6qEikUX8A@mail.gmail.com>
In-Reply-To: <c2090191-920b-3d2f-f797-75a448b18ad6@digiware.nl>
References:  <9c7a8dea-ac8a-4d17-ed33-b6c4e882add8@digiware.nl> <CAOtMX2iyhS230oCysYx3YC72B8TwFrrkcXtCoMCYK85KbFORaQ@mail.gmail.com> <c2090191-920b-3d2f-f797-75a448b18ad6@digiware.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 10, 2020 at 3:59 AM Willem Jan Withagen <wjw@digiware.nl> wrote:

> On 9-3-2020 14:46, Alan Somers wrote:
>
> On Mon, Mar 9, 2020 at 4:32 AM Willem Jan Withagen <wjw@digiware.nl>
> wrote:
>
>> Hi all,
>>
>> And sorry for crosspoing three groups, but the answer can/could be a mix
>> of things to do in these three areas.
>>
>> I have a prototype of bhyve running on Rados/Ceph working:
>>      https://github.com/freebsd/freebsd/pull/426
>>
>> ..........
>
> 4) Create a bhyve-blockrbd port.
>>      This is much like 3) but instead of building a bhyve-rbd executable,
>>      it delivers a libblockrbd.so that is dynamically loadable by the
>>      standaard bhyve that comes with base.
>>
> ............
>
> > Great work!  I also agree that option 4 sounds like the best.  There's
> precedent for ports that
> > require the FreeBSD Sources.  For example, see devel/py-libzfs or
> emulators/virtualbox-ose.
> > You just need to define the SRC_BASE variable.
>
> Hi Alan,
>
> Thanx for the hint, and it made me check what is actually available within
> the poudriere jail
> And that does have full source, so the Makefile code is mainly for those
> that build in a different way.
>
> I've got a proto version working when compiling stuff with `make
> buildworld`, but run in the
> problem that libblock_rbd.so is stripped in such a way that the symbol I
> need is removed.
> Using the unstripped version does work.
>
> Is there an incantation for the SRC Makefiles that builds a dynamical
> loadable lib??
> And I'm still looking for a PORTS example of building a dynamical loadable
> lib.
> Or is there no generic code for that in the PORTS Mk files?
>
> --WjW
>
> BTW: Still haven't worked in your AIO code :(
>

There are plenty of dynamic libraries built with the SRC makefiles.  For
example,
https://svnweb.freebsd.org/base/head/lib/libbsdstat/Makefile?view=markup .
And there are plenty of ports that build shared libraries too, just look at
/usr/local/lib/*.so.  However, the ports framework doesn't have much
special code just to support building libraries.  Instead the hard work is
always done by the ports themselves.  Some use autotools, some cmake, etc
etc.  The simplest port I can find that uses both SRC_BASE and INSTALL_LIB
is this one: https://svnweb.freebsd.org/ports/head/devel/linux_libusb/ .



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2iwJ1_VVDXOnSP6nui-JcYMwndXMex8fxtyi6qEikUX8A>