* [dpdk-dev] [PATCH] mk: fix libs installation when installing sdk @ 2017-12-14 14:24 Olivier Matz 2017-12-15 10:19 ` Thomas Monjalon 0 siblings, 1 reply; 8+ messages in thread From: Olivier Matz @ 2017-12-14 14:24 UTC (permalink / raw) To: dev, Thomas Monjalon; +Cc: Samuel Gauthier, stable From: Samuel Gauthier <samuel.gauthier@6wind.com> The 'install-sdk' target creates an invalid symlink in the install directory: # make install-sdk DESTDIR=/tmp/toto V=1 [...] ln -snf $(/root/dpdk.org/buildtools/relpath.sh /tmp/toto/usr/local/lib \ /tmp/toto/usr/local/share/dpdk/x86_64-native-linuxapp-gcc/) \ /tmp/toto/usr/local/share/dpdk/x86_64-native-linuxapp-gcc/lib [...] # ls -l /tmp/toto/usr/local/share/dpdk/x86_64-native-linuxapp-gcc drwxr-xr-x 2 root root 4096 Dec 11 11:49 app lrwxrwxrwx 1 root root 21 Dec 11 11:49 include -> ../../../include/dpdk lrwxrwxrwx 1 root root 12 Dec 11 11:49 lib -> ../../../lib # BAD LINK This happens because the directory is not created. Moreover, it makes sense for install-sdk to install the libs, which could be necessary to build something against dpdk. After the patch, the link is correct and the *.a libs are properly installed: # ls -l /tmp/toto/usr/local/share/dpdk/x86_64-native-linuxapp-gcc drwxr-xr-x 2 root root 4096 Dec 11 11:53 app lrwxrwxrwx 1 root root 21 Dec 11 11:53 include -> ../../../include/dpdk lrwxrwxrwx 1 root root 12 Dec 11 11:53 lib -> ../../../lib # ls -l /tmp/toto/usr/local/share/dpdk/x86_64-native-linuxapp-gcc/lib/ -rw-r--r-- 1 root root 1378 Dec 8 14:08 libdpdk.a -rw-r--r-- 1 root root 123380 Dec 8 14:02 librte_acl.a -rw-r--r-- 1 root root 3406 Dec 8 14:02 librte_bitratestats.a [...] Fixes: 6efca1e9f873 ("mk: split install rule") Cc: stable@dpdk.org Signed-off-by: Samuel Gauthier <samuel.gauthier@6wind.com> Signed-off-by: Olivier Matz <olivier.matz@6wind.com> --- mk/rte.sdkinstall.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk index 4e97feff9..338fb4971 100644 --- a/mk/rte.sdkinstall.mk +++ b/mk/rte.sdkinstall.mk @@ -157,6 +157,8 @@ install-sdk: $(Q)cp -a $O/.config $(DESTDIR)$(targetdir) $(Q)cp -a $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app $(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include) + $(Q)$(call rte_mkdir, $(DESTDIR)$(libdir)) + $(Q)cp -a $O/lib/* $(DESTDIR)$(libdir) $(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib) install-doc: -- 2.11.0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: fix libs installation when installing sdk 2017-12-14 14:24 [dpdk-dev] [PATCH] mk: fix libs installation when installing sdk Olivier Matz @ 2017-12-15 10:19 ` Thomas Monjalon 2017-12-15 10:25 ` Olivier MATZ 0 siblings, 1 reply; 8+ messages in thread From: Thomas Monjalon @ 2017-12-15 10:19 UTC (permalink / raw) To: Olivier Matz; +Cc: dev, Samuel Gauthier 14/12/2017 15:24, Olivier Matz: > @@ -157,6 +157,8 @@ install-sdk: > $(Q)cp -a $O/.config $(DESTDIR)$(targetdir) > $(Q)cp -a $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app > $(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include) > + $(Q)$(call rte_mkdir, $(DESTDIR)$(libdir)) > + $(Q)cp -a $O/lib/* $(DESTDIR)$(libdir) > $(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib) The libs are already installed with "make install-runtime". Either we add a dependency between install-sdk and install-runtime, or we clearly document it. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: fix libs installation when installing sdk 2017-12-15 10:19 ` Thomas Monjalon @ 2017-12-15 10:25 ` Olivier MATZ 2017-12-15 10:32 ` Thomas Monjalon 0 siblings, 1 reply; 8+ messages in thread From: Olivier MATZ @ 2017-12-15 10:25 UTC (permalink / raw) To: Thomas Monjalon; +Cc: dev, Samuel Gauthier On Fri, Dec 15, 2017 at 11:19:57AM +0100, Thomas Monjalon wrote: > 14/12/2017 15:24, Olivier Matz: > > @@ -157,6 +157,8 @@ install-sdk: > > $(Q)cp -a $O/.config $(DESTDIR)$(targetdir) > > $(Q)cp -a $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app > > $(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include) > > + $(Q)$(call rte_mkdir, $(DESTDIR)$(libdir)) > > + $(Q)cp -a $O/lib/* $(DESTDIR)$(libdir) > > $(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib) > > The libs are already installed with "make install-runtime". > Either we add a dependency between install-sdk and install-runtime, > or we clearly document it. To me, libs are needed when installing the sdk (to compile against them) and when installing the runtime (to use them). Is it a problem to have it in both targets? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: fix libs installation when installing sdk 2017-12-15 10:25 ` Olivier MATZ @ 2017-12-15 10:32 ` Thomas Monjalon 2017-12-15 10:45 ` Olivier MATZ 0 siblings, 1 reply; 8+ messages in thread From: Thomas Monjalon @ 2017-12-15 10:32 UTC (permalink / raw) To: Olivier MATZ; +Cc: dev, Samuel Gauthier 15/12/2017 11:25, Olivier MATZ: > On Fri, Dec 15, 2017 at 11:19:57AM +0100, Thomas Monjalon wrote: > > 14/12/2017 15:24, Olivier Matz: > > > @@ -157,6 +157,8 @@ install-sdk: > > > $(Q)cp -a $O/.config $(DESTDIR)$(targetdir) > > > $(Q)cp -a $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app > > > $(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include) > > > + $(Q)$(call rte_mkdir, $(DESTDIR)$(libdir)) > > > + $(Q)cp -a $O/lib/* $(DESTDIR)$(libdir) > > > $(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib) > > > > The libs are already installed with "make install-runtime". > > Either we add a dependency between install-sdk and install-runtime, > > or we clearly document it. > > To me, libs are needed when installing the sdk (to compile against them) > and when installing the runtime (to use them). > > Is it a problem to have it in both targets? Yes it is a problem because the general use is to call every targets, so the libs will be installed twice. Look at the global "install" target. Do you want to be able to install the SDK without the runtime? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: fix libs installation when installing sdk 2017-12-15 10:32 ` Thomas Monjalon @ 2017-12-15 10:45 ` Olivier MATZ 2017-12-15 11:00 ` Thomas Monjalon 0 siblings, 1 reply; 8+ messages in thread From: Olivier MATZ @ 2017-12-15 10:45 UTC (permalink / raw) To: Thomas Monjalon; +Cc: dev, Samuel Gauthier On Fri, Dec 15, 2017 at 11:32:12AM +0100, Thomas Monjalon wrote: > 15/12/2017 11:25, Olivier MATZ: > > On Fri, Dec 15, 2017 at 11:19:57AM +0100, Thomas Monjalon wrote: > > > 14/12/2017 15:24, Olivier Matz: > > > > @@ -157,6 +157,8 @@ install-sdk: > > > > $(Q)cp -a $O/.config $(DESTDIR)$(targetdir) > > > > $(Q)cp -a $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app > > > > $(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include) > > > > + $(Q)$(call rte_mkdir, $(DESTDIR)$(libdir)) > > > > + $(Q)cp -a $O/lib/* $(DESTDIR)$(libdir) > > > > $(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib) > > > > > > The libs are already installed with "make install-runtime". > > > Either we add a dependency between install-sdk and install-runtime, > > > or we clearly document it. > > > > To me, libs are needed when installing the sdk (to compile against them) > > and when installing the runtime (to use them). > > > > Is it a problem to have it in both targets? > > Yes it is a problem because the general use is to call every targets, > so the libs will be installed twice. Look at the global "install" target. > > Do you want to be able to install the SDK without the runtime? Hmm, you're right, installing the runtime instead of the sdk may be a solution in our case. We don't need the bin, man, ... but it's probably not an issue to have them anyway. So, to summarize: install-runtime is the equivalent of the binary package install-sdk is the equivalent of the -devel package And install-sdk depends on install-runtime, right? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: fix libs installation when installing sdk 2017-12-15 10:45 ` Olivier MATZ @ 2017-12-15 11:00 ` Thomas Monjalon 2018-01-23 16:30 ` Olivier Matz 0 siblings, 1 reply; 8+ messages in thread From: Thomas Monjalon @ 2017-12-15 11:00 UTC (permalink / raw) To: Olivier MATZ; +Cc: dev, Samuel Gauthier 15/12/2017 11:45, Olivier MATZ: > On Fri, Dec 15, 2017 at 11:32:12AM +0100, Thomas Monjalon wrote: > > 15/12/2017 11:25, Olivier MATZ: > > > On Fri, Dec 15, 2017 at 11:19:57AM +0100, Thomas Monjalon wrote: > > > > 14/12/2017 15:24, Olivier Matz: > > > > > @@ -157,6 +157,8 @@ install-sdk: > > > > > $(Q)cp -a $O/.config $(DESTDIR)$(targetdir) > > > > > $(Q)cp -a $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app > > > > > $(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include) > > > > > + $(Q)$(call rte_mkdir, $(DESTDIR)$(libdir)) > > > > > + $(Q)cp -a $O/lib/* $(DESTDIR)$(libdir) > > > > > $(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib) > > > > > > > > The libs are already installed with "make install-runtime". > > > > Either we add a dependency between install-sdk and install-runtime, > > > > or we clearly document it. > > > > > > To me, libs are needed when installing the sdk (to compile against them) > > > and when installing the runtime (to use them). > > > > > > Is it a problem to have it in both targets? > > > > Yes it is a problem because the general use is to call every targets, > > so the libs will be installed twice. Look at the global "install" target. > > > > Do you want to be able to install the SDK without the runtime? > > Hmm, you're right, installing the runtime instead of the sdk may be a > solution in our case. We don't need the bin, man, ... but it's probably > not an issue to have them anyway. > > So, to summarize: > install-runtime is the equivalent of the binary package > install-sdk is the equivalent of the -devel package Yes > And install-sdk depends on install-runtime, right? Depends logically, yes. But no dependence in the Makefile. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: fix libs installation when installing sdk 2017-12-15 11:00 ` Thomas Monjalon @ 2018-01-23 16:30 ` Olivier Matz 2018-06-25 14:46 ` Olivier Matz 0 siblings, 1 reply; 8+ messages in thread From: Olivier Matz @ 2018-01-23 16:30 UTC (permalink / raw) To: Thomas Monjalon; +Cc: dev, Samuel Gauthier Hi Thomas, On Fri, Dec 15, 2017 at 12:00:01PM +0100, Thomas Monjalon wrote: > 15/12/2017 11:45, Olivier MATZ: > > On Fri, Dec 15, 2017 at 11:32:12AM +0100, Thomas Monjalon wrote: > > > 15/12/2017 11:25, Olivier MATZ: > > > > On Fri, Dec 15, 2017 at 11:19:57AM +0100, Thomas Monjalon wrote: > > > > > 14/12/2017 15:24, Olivier Matz: > > > > > > @@ -157,6 +157,8 @@ install-sdk: > > > > > > $(Q)cp -a $O/.config $(DESTDIR)$(targetdir) > > > > > > $(Q)cp -a $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app > > > > > > $(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include) > > > > > > + $(Q)$(call rte_mkdir, $(DESTDIR)$(libdir)) > > > > > > + $(Q)cp -a $O/lib/* $(DESTDIR)$(libdir) > > > > > > $(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib) > > > > > > > > > > The libs are already installed with "make install-runtime". > > > > > Either we add a dependency between install-sdk and install-runtime, > > > > > or we clearly document it. > > > > > > > > To me, libs are needed when installing the sdk (to compile against them) > > > > and when installing the runtime (to use them). > > > > > > > > Is it a problem to have it in both targets? > > > > > > Yes it is a problem because the general use is to call every targets, > > > so the libs will be installed twice. Look at the global "install" target. > > > > > > Do you want to be able to install the SDK without the runtime? > > > > Hmm, you're right, installing the runtime instead of the sdk may be a > > solution in our case. We don't need the bin, man, ... but it's probably > > not an issue to have them anyway. > > > > So, to summarize: > > install-runtime is the equivalent of the binary package > > install-sdk is the equivalent of the -devel package > > Yes > > > And install-sdk depends on install-runtime, right? > > Depends logically, yes. But no dependence in the Makefile. Coming back on this topic, actually I think an issue remains with "make install-sdk" which generates a bad symlink. # ls -l /tmp/toto/usr/local/share/dpdk/x86_64-native-linuxapp-gcc drwxr-xr-x 2 root root 4096 Dec 11 11:49 app lrwxrwxrwx 1 root root 21 Dec 11 11:49 include -> ../../../include/dpdk lrwxrwxrwx 1 root root 12 Dec 11 11:49 lib -> ../../../lib # BAD LINK Would it make sense to remove the creation of the symlink? Something like this: --- a/mk/rte.sdkinstall.mk +++ b/mk/rte.sdkinstall.mk @@ -157,7 +157,6 @@ install-sdk: $(Q)cp -a $O/.config $(DESTDIR)$(targetdir) $(Q)cp -a $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app $(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include) - $(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib) install-doc: ifneq ($(wildcard $O/doc/html),) Thanks, Olivier ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] [PATCH] mk: fix libs installation when installing sdk 2018-01-23 16:30 ` Olivier Matz @ 2018-06-25 14:46 ` Olivier Matz 0 siblings, 0 replies; 8+ messages in thread From: Olivier Matz @ 2018-06-25 14:46 UTC (permalink / raw) To: Thomas Monjalon; +Cc: dev Hi Thomas, On Tue, Jan 23, 2018 at 05:30:57PM +0100, Olivier Matz wrote: > Hi Thomas, > > On Fri, Dec 15, 2017 at 12:00:01PM +0100, Thomas Monjalon wrote: > > 15/12/2017 11:45, Olivier MATZ: > > > On Fri, Dec 15, 2017 at 11:32:12AM +0100, Thomas Monjalon wrote: > > > > 15/12/2017 11:25, Olivier MATZ: > > > > > On Fri, Dec 15, 2017 at 11:19:57AM +0100, Thomas Monjalon wrote: > > > > > > 14/12/2017 15:24, Olivier Matz: > > > > > > > @@ -157,6 +157,8 @@ install-sdk: > > > > > > > $(Q)cp -a $O/.config $(DESTDIR)$(targetdir) > > > > > > > $(Q)cp -a $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app > > > > > > > $(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include) > > > > > > > + $(Q)$(call rte_mkdir, $(DESTDIR)$(libdir)) > > > > > > > + $(Q)cp -a $O/lib/* $(DESTDIR)$(libdir) > > > > > > > $(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib) > > > > > > > > > > > > The libs are already installed with "make install-runtime". > > > > > > Either we add a dependency between install-sdk and install-runtime, > > > > > > or we clearly document it. > > > > > > > > > > To me, libs are needed when installing the sdk (to compile against them) > > > > > and when installing the runtime (to use them). > > > > > > > > > > Is it a problem to have it in both targets? > > > > > > > > Yes it is a problem because the general use is to call every targets, > > > > so the libs will be installed twice. Look at the global "install" target. > > > > > > > > Do you want to be able to install the SDK without the runtime? > > > > > > Hmm, you're right, installing the runtime instead of the sdk may be a > > > solution in our case. We don't need the bin, man, ... but it's probably > > > not an issue to have them anyway. > > > > > > So, to summarize: > > > install-runtime is the equivalent of the binary package > > > install-sdk is the equivalent of the -devel package > > > > Yes > > > > > And install-sdk depends on install-runtime, right? > > > > Depends logically, yes. But no dependence in the Makefile. > > Coming back on this topic, actually I think an issue remains with "make > install-sdk" which generates a bad symlink. > > # ls -l /tmp/toto/usr/local/share/dpdk/x86_64-native-linuxapp-gcc > drwxr-xr-x 2 root root 4096 Dec 11 11:49 app > lrwxrwxrwx 1 root root 21 Dec 11 11:49 include -> ../../../include/dpdk > lrwxrwxrwx 1 root root 12 Dec 11 11:49 lib -> ../../../lib # BAD LINK > > Would it make sense to remove the creation of the symlink? Something > like this: > > --- a/mk/rte.sdkinstall.mk > +++ b/mk/rte.sdkinstall.mk > @@ -157,7 +157,6 @@ install-sdk: > $(Q)cp -a $O/.config $(DESTDIR)$(targetdir) > $(Q)cp -a $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app > $(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include) > - $(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib) > > install-doc: > ifneq ($(wildcard $O/doc/html),) It looks we forgot this thread for a long time. Any opinon about it? Thanks Olivier ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-06-25 14:46 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-12-14 14:24 [dpdk-dev] [PATCH] mk: fix libs installation when installing sdk Olivier Matz 2017-12-15 10:19 ` Thomas Monjalon 2017-12-15 10:25 ` Olivier MATZ 2017-12-15 10:32 ` Thomas Monjalon 2017-12-15 10:45 ` Olivier MATZ 2017-12-15 11:00 ` Thomas Monjalon 2018-01-23 16:30 ` Olivier Matz 2018-06-25 14:46 ` Olivier Matz
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).