DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Ivan Serdyuk <local.tourist.kiev@gmail.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] Building without AVX2 support, with Clang 11, on Ubuntu 20.04.1
Date: Mon, 19 Oct 2020 14:34:26 +0100	[thread overview]
Message-ID: <20201019133426.GB663@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <CANFCsz-CVrbUZNax+KpKDD=4-tH9R3B_vC3sBXsf9gwvBmjwtA@mail.gmail.com>

On Mon, Oct 19, 2020 at 04:17:36PM +0300, Ivan Serdyuk wrote:
> Hi there.
> I tried the following:
> 
> export CPPFLAGS=' -stdlib=libc++ ' CXXFLAGS=' -stdlib=libc++ '
> > meson build-clang
> > cd build-clang
> > ninja -j 4
> >
> 
Hi Ivan

Why are you exporting these CPP and CXX flags? The CXX flags will have no
effect on the DPDK build as it does not use c++ code.

> and got such issues:
> 
> 
> > [213/2379] Compiling C object 'lib/76b5a35@@rte_bitratestats@sta
> > /librte_bitratestats_rte_bitrate.c.o'.
> > clang-11: warning: argument unused during compilation: '-stdlib=libc++'
> > [-Wunused-command-line-argument]
> > [219/2379] Compiling C object 'lib/76b5a35@@rte_cfgfile@sta
> > /librte_cfgfile_rte_cfgfile.c.o'.
> > clang-11: warning: argument unused during compilation: '-stdlib=libc++'
> > [-Wunused-command-line-argument]
> > [222/2379] Linking target lib/librte_acl.so.20.0.3.
> > FAILED: lib/librte_acl.so.20.0.3
> > clang  -o lib/librte_acl.so.20.0.3 'lib/76b5a35@@rte_acl@sta/librte_acl_acl_bld.c.o'
> > 'lib/76b5a35@@rte_acl@sta/librte_acl_acl_gen.c.o' 'lib/76b5a35@
> > @rte_acl@sta/librte_acl_acl_run_scalar.c.o' 'lib/76b5a35@@rte_acl@sta/librte_acl_rte_acl.c.o'
> > 'lib/76b5a35@@rte_acl@sta/librte_acl_tb_mem.c.o' 'lib/76b5a35@@rte_acl@sta/librte_acl_acl_run_sse.c.o'
> > -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group
> > -Wl,-soname,librte_acl.so.20.0 -Wl,--no-as-needed -pthread -lm -ldl
> > lib/librte_eal.so.20.0.3 lib/librte_kvargs.so.20.0.3
> > lib/librte_telemetry.so.20.0.3 -Wl,--end-group
> > -Wl,--version-script=/home/oceanfish81/dpdk-20.08/lib/librte_acl/rte_acl_version.map
> > '-Wl,-rpath,$ORIGIN/'
> > -Wl,-rpath-link,/home/oceanfish81/dpdk-20.08/build-clang/lib
> > /usr/bin/ld: lib/76b5a35@@rte_acl@sta/librte_acl_rte_acl.c.o:(.data.rel.ro+0x18):
> > undefined reference to `rte_acl_classify_avx2'
> > clang-11: error: linker command failed with exit code 1 (use -v to see
> > invocation)
> > [225/2379] Generating bbdev.sym_chk with a meson_exe.py custom command.
> > ninja: build stopped: subcommand failed.
> 
> 
> I am using
> 
> > $ clang --version
> > clang version 11.0.0 (https://github.com/llvm/llvm-project.git
> > 0160ad802e899c2922bc9b29564080c22eb0908c)
> > Target: x86_64-unknown-linux-gnu
> 
> 
> I am working under Virtualbox, currently. My host CPU doesn't have any AVX
> support - and there is no guest emulation support for them. Could I bypass
> this somehow, while building librte, as a dependency?
> 

I'm not sure exactly what the problem is here, because DPDK should build
fine on any system that has SSE4.2 support - no AVX2 support is required.
To test, I've done a build of DPDK on an old Core i7 machine with AVX, but
not AVX2, and it built fine with clang 8 (this was using FreeBSD 12),
including the ACL library.

Can you try deleting your build folder and configure it again without
overriding the environmental vars? If it still fails, please paste the
errors here, and also try configuring the build with "-Dmachine=default" to
turn off detecting the present instruction sets and assume an SSE4
baseline.

/Bruce

  reply	other threads:[~2020-10-19 13:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-19 13:17 Ivan Serdyuk
2020-10-19 13:34 ` Bruce Richardson [this message]
2020-10-20 14:44   ` Ivan Serdyuk
2020-10-20 15:49     ` Ivan Serdyuk
2020-10-20 15:59       ` Bruce Richardson

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=20201019133426.GB663@bricha3-MOBL.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=local.tourist.kiev@gmail.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).