[dpdk-dev] [PATCH] mk: fix libs installation when installing sdk

Olivier Matz olivier.matz at 6wind.com
Thu Dec 14 15:24:11 CET 2017


From: Samuel Gauthier <samuel.gauthier at 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 at dpdk.org

Signed-off-by: Samuel Gauthier <samuel.gauthier at 6wind.com>
Signed-off-by: Olivier Matz <olivier.matz at 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



More information about the dev mailing list