Actually, I misunderstood destdir and some of the other context, my apologies.

I do think that it makes more sense to use "x86_64-native-linux-gcc" as a prefix and "/opt/intel/dpdk-stable-21.11.7" as a destdir, but that seems unlikely to solve the problem.

maybe you can redirect the output of compilation to a log file and share its output?

On Tue, Sep 17, 2024 at 12:40 PM Aldrin <akmontan@ucsc.edu> wrote:
> > $ cd /opt/intel/dpdk-stable-21.11.7
> > $ sudo meson -Dexamples=all -Dprefix="/"
> > -Ddisable_drivers=common/mvep,common/mlx5,net/mvneta,net/mvpp2,net/nfb,net/mlx4,net/mlx5,\
> > crypto/qat,crypto/aesni_gcm,crypto/aesni_mb,crypto/armv8,crypto/ccp,crypto/kasumi,crypto/mvsam,crypto/openssl,\
> > crypto/snow3g,crypto/zuc,compress/isal,regex/mlx5,vdpa/mlx5,net/pcap,net/szedata2,raw/ifpga,net/af_xdp,net/ipn3ke,\
> > crypto/ipsec_mb,crypto/ipsec_mb,crypto/mlx5,compress/mlx5,gpu/cuda build
> > $ cd build
> > $ sudo ninja

> Don't build as root. Use:
>  $ ninja -C build

I'm not sure this will address the issue, but you should avoid doing most of these things as root.

`export INSTALL_PREFIX="/x86_64-native-linux-gcc"`
`meson setup build`
`meson configure -Dexamples=all \
                 -Dprefix="${INSTALL_PREFIX}"   \
                 -Ddisable_drivers=common/mvep,
common/mlx5,net/mvneta,net/mvpp2,net/nfb,net/mlx4,net/mlx5,crypto/qat,crypto/aesni_gcm,crypto/aesni_mb,crypto/armv8,crypto/ccp,crypto/kasumi,crypto/mvsam,crypto/openssl,crypto/snow3g,crypto/zuc,compress/isal,regex/mlx5,vdpa/mlx5,net/pcap,net/szedata2,raw/ifpga,net/af_xdp,net/ipn3ke,crypto/ipsec_mb,crypto/ipsec_mb,crypto/mlx5,compress/mlx5,gpu/cuda \
                 build`
`meson compile -C build`
`meson install -C build`

where I do notice that you're setting some conflicting options is that you have `-Dprefix="/"` when configuring and you also have `--destdir=../x86_64-native-linux-gcc` when installing. I'm not sure why you would set these to different paths unless you're essentially on a root-only system and you are doing everything from the root directory?

In my example above, I set a variable, INSTALL_PREFIX, and use that in the configure step instead. Then, when you install, just let it install to the prefix that you specified. Presumably, this will ensure that all paths are correct whereas setting a different destdir from the prefix could potentially mismatch some paths.