spdk.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Walker, Benjamin <benjamin.walker at intel.com>
To: spdk@lists.01.org
Subject: Re: [SPDK] Howto build with an external env, i.e. alternate CONFIG_ENV
Date: Fri, 20 Jul 2018 22:17:47 +0000	[thread overview]
Message-ID: <c5e291801211f433f2f4ee2839677d7ef8b5e0d7.camel@intel.com> (raw)
In-Reply-To: E740DDA6-0C4E-477D-934E-37E91E6381FD@oracle.com

[-- Attachment #1: Type: text/plain, Size: 1939 bytes --]

Hi Lance,

On Fri, 2018-07-20 at 16:34 -0500, Lance Hartmann ORACLE wrote:
> Another especially notable take-away for me was the realization that the
> environment library -- I'll refer to the default env for example here,
> libspdk_env_dpdk.a -- consists only of the objects compiled from
> SPDK_ROOT_DIR/lib/env_dpdk.   With the ability to specify an alternate
> environment, semantically, I had mistakenly assumed that the env library would
> contain not only the SPDK implementation of the environment API, but also
> everything on which it depended; i.e. for the default environment, the DPDK
> objects.   But, that doesn't appear to be so.   Instead, when performing final
> linking of each SPDK executable, not only is the SPDK environment library
> specified, but so are the necessary DPDK libs on which it depends.   Variables
> pulled in from the SPDK's environment makefile, env.mk, are used to specify
> those DPDK libs along with additional, special linking flags.
> 
> We need to update the doc's Porting Guide to reflect these details, and I'd be
> happy to volunteer to work on that effort. 

Please do!

> However, before embarking on that task, I'd like to pose the question:   are
> there reasons why we couldn't or shouldn't produce the environment library to
> consist of both the SPDK env implementation layer and the objects on which it
> depends?  It would seem that would make final linking of executables a little
> easier and reduce the complexity/effort of someone wanting to develop and use
> an alternate environment.

How do you envision this playing with environment libraries that need to link
against shared libraries, especially ones provided with the system itself? I'm
not an expert in all of the available linker options, so maybe there is some way
to embed enough information to properly link/load a shared library directly into
the static library.

Thanks,
Ben


             reply	other threads:[~2018-07-20 22:17 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-20 22:17 Walker, Benjamin [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-08-02 19:12 [SPDK] Howto build with an external env, i.e. alternate CONFIG_ENV Lance Hartmann ORACLE
2018-08-01 20:51 Walker, Benjamin
2018-07-23 18:46 Lance Hartmann ORACLE
2018-07-20 21:34 Lance Hartmann ORACLE
2018-07-19  4:35 Luse, Paul E
2018-07-19  0:07 Lance Hartmann ORACLE

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c5e291801211f433f2f4ee2839677d7ef8b5e0d7.camel@intel.com \
    --to=spdk@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).