DPDK patches and discussions
 help / color / mirror / Atom feed
From: Panu Matilainen <pmatilai@redhat.com>
To: Thomas Monjalon <thomas.monjalon@6wind.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH 03/10] mk: install a standard cutomizable tree
Date: Wed, 2 Dec 2015 14:54:32 +0200	[thread overview]
Message-ID: <565EEA08.9050900@redhat.com> (raw)
In-Reply-To: <1789607.LxQySkSOJm@xps13>

On 12/02/2015 01:25 PM, Thomas Monjalon wrote:
> 2015-12-02 12:27, Panu Matilainen:
>> On 12/02/2015 05:57 AM, Thomas Monjalon wrote:
>>> The old installed tree was static and always had .config, includes and
>>> libs in a RTE_TARGET subdirectory. There is no such directory anymore in
>>> an installed SDK. So the top directory is checked.
>>> But RTE_TARGET can still be used, especially to build an app with a
>>> compiled but not installed SDK.
>>> That's why both cases are looked for RTE_SDK_BIN.
> [...]
>>> The old usage of an installed SDK is:
>>>       make -C examples/helloworld RTE_SDK=$(readlink -m $DESTDIR) \
>>>            RTE_TARGET=x86_64-native-linuxapp-gcc
>>> RTE_TARGET can be specified but is useless now with an installed SDK.
>>> The RTE_SDK directory must now point to a different path depending of
>>> the installation.
> [...]
>>> +	$(Q)$(call rte_mkdir,                            $(DESTDIR)$(sdkdir))
>>> +	$(Q)cp -a               $(BUILD_DIR)/.config     $(DESTDIR)$(sdkdir)
>>> +	$(Q)cp -a               $(RTE_SDK)/{mk,scripts}  $(DESTDIR)$(sdkdir)
>>> +	$(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(sdkdir)/include)
>>> +	$(Q)$(call rte_symlink, $(DESTDIR)$(libdir),     $(DESTDIR)$(sdkdir)/lib)
>>
>> $(prefix)/share is supposed to be shareable across different
>> architectures. Most of the content here is, but at least the lib symlink
>> and .config file are not.
>
> The case you want to address is multilib 32/x32/64, right?

That, plus modern Debian/Ubuntu supports multiarch, not just -lib.

And then there's the pedantic side, ie to be in line with the FHS 
definition: 
http://www.pathname.com/fhs/pub/fhs-2.3.html#USRSHAREARCHITECTUREINDEPENDENTDATA

>
>> One option is to install .config and the symlinks within $(sdkdir)/$(T)
>> directories, then it can be shared across architectures because each
>> lives in their own directory. Another possibility is moving the whole
>> sdk directory into a subdir in $(libdir), but that misses the
>> opportunity to share across architectures (whether anybody actually
>> cares is a whole other question :)
>
> Yes, I tried to remove the use of RTE_TARGET when building an example.
> But we can keep it with a subdirectory in $(sdkdir).

Just realized my suggestion $(sdkdir)/$(T) would not cut it because if 
T= is specified then this installation method wont be invoked at all :D

So yeah, RTE_TARGET. Or perhaps just RTE_ARCH. Dunno if there's actual 
added value to having the whole target string there, but I wont mind either.

>
>> $(sdkdir)/lib -> $(libdir) symlink seems reasonable when installing to
>> an empty staging root, but on a real-world installation it'd point to
>> /usr/lib(something) which has hundreds or thousands of other unrelated
>> libraries. My memory is hazy on details but I think this caused an
>> actual problem with something because I ended up $(sdkdir)/lib an actual
>> directory populated with symlinks to the individual DPDK libraries.
>
> I don't see the problem.
> I suggest to keep it and see how to fix it if an issue is raised.

The problem probably had to do with something external, like compiling 
OVS or pktgen, but ... this is too hand-wavy to worry about right now. 
Just wanted to mention it because I dont think I added the extra 
complexity in packaging just for fun.

	- Panu -

  reply	other threads:[~2015-12-02 12:54 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-02  3:57 [dpdk-dev] [PATCH 00/10] standard make install Thomas Monjalon
2015-12-02  3:57 ` [dpdk-dev] [PATCH 01/10] mk: remove multi-target install Thomas Monjalon
2015-12-02  3:57 ` [dpdk-dev] [PATCH 02/10] mk: move installation procedure in install rule Thomas Monjalon
2015-12-02  3:57 ` [dpdk-dev] [PATCH 03/10] mk: install a standard cutomizable tree Thomas Monjalon
2015-12-02 10:27   ` Panu Matilainen
2015-12-02 11:25     ` Thomas Monjalon
2015-12-02 12:54       ` Panu Matilainen [this message]
2015-12-02 13:05         ` Thomas Monjalon
2015-12-02 13:29           ` Panu Matilainen
2015-12-02  3:57 ` [dpdk-dev] [PATCH 04/10] mk: introduce new install syntax Thomas Monjalon
2015-12-02  3:57 ` [dpdk-dev] [PATCH 05/10] mk: split install rule Thomas Monjalon
2015-12-02  3:57 ` [dpdk-dev] [PATCH 06/10] mk: install kernel modules Thomas Monjalon
2015-12-02  9:53   ` Panu Matilainen
2015-12-02 10:09     ` Thomas Monjalon
2015-12-02  3:57 ` [dpdk-dev] [PATCH 07/10] mk: install binding tool in sbin directory Thomas Monjalon
2015-12-02  9:58   ` Panu Matilainen
2015-12-02  3:57 ` [dpdk-dev] [PATCH 08/10] mk: install doc Thomas Monjalon
2015-12-02  3:57 ` [dpdk-dev] [PATCH 09/10] mk: install examples Thomas Monjalon
2015-12-02  3:57 ` [dpdk-dev] [PATCH 10/10] app/proc_info: rename binary with prefix Thomas Monjalon
2015-12-02  7:44 ` [dpdk-dev] [PATCH 00/10] standard make install Panu Matilainen
2015-12-02  9:25   ` Thomas Monjalon
2015-12-02  9:47     ` Panu Matilainen
2015-12-02 10:07       ` Thomas Monjalon
2015-12-03  5:01 ` [dpdk-dev] [PATCH v2 00/12] " Thomas Monjalon
2015-12-03  5:01   ` [dpdk-dev] [PATCH v2 01/12] mk: remove testall Thomas Monjalon
2015-12-03  5:01   ` [dpdk-dev] [PATCH v2 02/12] mk: remove multi-target install Thomas Monjalon
2015-12-03  5:02   ` [dpdk-dev] [PATCH v2 03/12] mk: move installation procedure in install rule Thomas Monjalon
2015-12-03  5:02   ` [dpdk-dev] [PATCH v2 04/12] mk: install a standard cutomizable tree Thomas Monjalon
2015-12-03  5:02   ` [dpdk-dev] [PATCH v2 05/12] mk: introduce new install syntax Thomas Monjalon
2015-12-03  5:02   ` [dpdk-dev] [PATCH v2 06/12] mk: split install rule Thomas Monjalon
2015-12-03  5:02   ` [dpdk-dev] [PATCH v2 07/12] mk: install kernel modules Thomas Monjalon
2015-12-03  5:02   ` [dpdk-dev] [PATCH v2 08/12] mk: install binding tool in sbin directory Thomas Monjalon
2015-12-03  5:02   ` [dpdk-dev] [PATCH v2 09/12] mk: install doc Thomas Monjalon
2015-12-03  5:02   ` [dpdk-dev] [PATCH v2 10/12] mk: install examples Thomas Monjalon
2015-12-03 13:19     ` Panu Matilainen
2015-12-03 13:32       ` Thomas Monjalon
2015-12-03 13:35         ` Panu Matilainen
2015-12-03  5:02   ` [dpdk-dev] [PATCH v2 11/12] app/proc_info: rename binary with prefix Thomas Monjalon
2015-12-03  5:02   ` [dpdk-dev] [PATCH v2 12/12] pkg: update RPM with standard install Thomas Monjalon
2015-12-03 10:57   ` [dpdk-dev] [PATCH v2 00/12] standard make install Bruce Richardson
2015-12-03 11:02     ` Thomas Monjalon
2015-12-03 11:06       ` Thomas Monjalon
2015-12-03 11:10         ` Bruce Richardson
2015-12-03 11:07       ` Bruce Richardson
2015-12-03 13:26   ` Panu Matilainen
2015-12-03 13:34     ` Thomas Monjalon
2015-12-03 15:52       ` Arevalo, Mario Alfredo C
2015-12-03 13:45   ` [dpdk-dev] [PATCH v3 00/13] " Thomas Monjalon
2015-12-03 13:45     ` [dpdk-dev] [PATCH v3 01/13] mk: remove testall Thomas Monjalon
2015-12-03 13:45     ` [dpdk-dev] [PATCH v3 02/13] mk: remove multi-target install Thomas Monjalon
2015-12-03 13:45     ` [dpdk-dev] [PATCH v3 03/13] mk: move installation procedure in install rule Thomas Monjalon
2015-12-03 13:45     ` [dpdk-dev] [PATCH v3 04/13] mk: install a standard cutomizable tree Thomas Monjalon
2015-12-03 13:45     ` [dpdk-dev] [PATCH v3 05/13] mk: introduce new install syntax Thomas Monjalon
2015-12-03 13:45     ` [dpdk-dev] [PATCH v3 06/13] mk: split install rule Thomas Monjalon
2015-12-07 23:22       ` Arevalo, Mario Alfredo C
2015-12-07 23:51         ` Thomas Monjalon
2015-12-03 13:45     ` [dpdk-dev] [PATCH v3 07/13] mk: install kernel modules Thomas Monjalon
2015-12-03 13:45     ` [dpdk-dev] [PATCH v3 08/13] mk: install binding tool in sbin directory Thomas Monjalon
2015-12-03 13:45     ` [dpdk-dev] [PATCH v3 09/13] mk: install doc Thomas Monjalon
2015-12-03 13:45     ` [dpdk-dev] [PATCH v3 10/13] mk: install examples Thomas Monjalon
2015-12-03 13:45     ` [dpdk-dev] [PATCH v3 11/13] app/proc_info: rename binary with prefix Thomas Monjalon
2015-12-03 13:45     ` [dpdk-dev] [PATCH v3 12/13] pkg: update RPM with standard install Thomas Monjalon
2015-12-03 13:45     ` [dpdk-dev] [PATCH v3 13/13] maintainers: take responsibility for build system Thomas Monjalon
2015-12-04  9:40       ` Olivier MATZ
2015-12-03 15:31     ` [dpdk-dev] [PATCH v3 00/13] standard make install Bruce Richardson
2015-12-03 17:05       ` Thomas Monjalon
2015-12-06 15:00     ` Thomas Monjalon

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=565EEA08.9050900@redhat.com \
    --to=pmatilai@redhat.com \
    --cc=dev@dpdk.org \
    --cc=thomas.monjalon@6wind.com \
    /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).