usertools: fix build with gcc
Checks
Commit Message
dpdk-setup.sh fails to build with lack of environment variable
Build complete [x86_64-native-linuxapp-gcc]
Installation cannot run with T defined and DESTDIR undefined
Signed-off-by: Choonho Son <choonho.son@gmail.com>
---
usertools/dpdk-setup.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Comments
On Thu, Jun 21, 2018 at 09:35:41AM +0000, Choonho Son wrote:
> dpdk-setup.sh fails to build with lack of environment variable
>
> Build complete [x86_64-native-linuxapp-gcc]
> Installation cannot run with T defined and DESTDIR undefined
>
> Signed-off-by: Choonho Son <choonho.son@gmail.com>
> ---
> usertools/dpdk-setup.sh | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/usertools/dpdk-setup.sh b/usertools/dpdk-setup.sh
> index 5eebbce..5248e7a 100755
> --- a/usertools/dpdk-setup.sh
> +++ b/usertools/dpdk-setup.sh
> @@ -65,6 +65,7 @@ setup_target()
> {
> option=$1
> export RTE_TARGET=${TARGETS[option]}
> + export DESTDIR=${DESTDIR:-install}
>
> compiler=${RTE_TARGET##*-}
> if [ "$compiler" == "icc" ] ; then
> @@ -76,7 +77,7 @@ setup_target()
> fi
> fi
> if [ "$QUIT" == "0" ] ; then
> - make install T=${RTE_TARGET}
> + make install T=${RTE_TARGET} DESTDIR=${DESTDIR}
> fi
> echo "------------------------------------------------------------------------------"
> echo " RTE_TARGET exported as $RTE_TARGET"
The message about no DESTDIR is not really an error, the build has
completed successfully. I don't think copying the build over to a new
directory is something we should always do as part of this script.
/Bruce
21/06/2018 11:55, Bruce Richardson:
> On Thu, Jun 21, 2018 at 09:35:41AM +0000, Choonho Son wrote:
> > dpdk-setup.sh fails to build with lack of environment variable
> >
> > Build complete [x86_64-native-linuxapp-gcc]
> > Installation cannot run with T defined and DESTDIR undefined
> >
> > Signed-off-by: Choonho Son <choonho.son@gmail.com>
> > ---
[...]
> > - make install T=${RTE_TARGET}
> > + make install T=${RTE_TARGET} DESTDIR=${DESTDIR}
>
> The message about no DESTDIR is not really an error, the build has
> completed successfully. I don't think copying the build over to a new
> directory is something we should always do as part of this script.
Absolutely!
The syntax "make install T=" is old.
It should be replaced by "make config T=" + "make".
You can look at devtools/test-build.sh to see how compilation can be done.
It is also documented in various places like:
doc/guides/linux_gsg/build_dpdk.rst
doc/guides/prog_guide/dev_kit_root_make_help.rst
More options:
- use meson build system in dpdk-setup.sh - maybe too early
- remove dpdk-setup.sh - maybe used by real users
@@ -65,6 +65,7 @@ setup_target()
{
option=$1
export RTE_TARGET=${TARGETS[option]}
+ export DESTDIR=${DESTDIR:-install}
compiler=${RTE_TARGET##*-}
if [ "$compiler" == "icc" ] ; then
@@ -76,7 +77,7 @@ setup_target()
fi
fi
if [ "$QUIT" == "0" ] ; then
- make install T=${RTE_TARGET}
+ make install T=${RTE_TARGET} DESTDIR=${DESTDIR}
fi
echo "------------------------------------------------------------------------------"
echo " RTE_TARGET exported as $RTE_TARGET"