DPDK patches and discussions
 help / color / mirror / Atom feed
From: Luca Boccassi <bluca@debian.org>
To: Thomas Monjalon <thomas@monjalon.net>,
	Bruce Richardson <bruce.richardson@intel.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v6 2/5] build: use dependency() instead of find_library()
Date: Wed, 13 Feb 2019 11:48:26 +0000	[thread overview]
Message-ID: <1550058506.4818.8.camel@debian.org> (raw)
In-Reply-To: <1550054983.4818.3.camel@debian.org>

On Wed, 2019-02-13 at 10:49 +0000, Luca Boccassi wrote:
> On Tue, 2019-02-12 at 17:21 +0100, Thomas Monjalon wrote:
> > 12/02/2019 16:03, Bruce Richardson:
> > > On Tue, Feb 12, 2019 at 03:47:56PM +0100, Thomas Monjalon wrote:
> > > > 12/02/2019 12:43, Bruce Richardson:
> > > > > On Tue, Feb 12, 2019 at 12:36:17PM +0100, Thomas Monjalon
> > > > > wrote:
> > > > > > 12/02/2019 12:31, Bruce Richardson:
> > > > > > > On Tue, Feb 12, 2019 at 12:15:43PM +0100, Thomas Monjalon
> > > > > > > wrote:
> > > > > > > > 06/02/2019 18:08, Luca Boccassi:
> > > > > > > > > Whenever possible (if the library ships a pkg-config
> > > > > > > > > file) use meson's
> > > > > > > > > dependency() function to look for it, as it will
> > > > > > > > > automatically add it
> > > > > > > > > to the Requires.private list if needed, to allow for
> > > > > > > > > static builds to
> > > > > > > > > succeed for reverse dependencies of DPDK. Otherwise
> > > > > > > > > the
> > > > > > > > > recursive
> > > > > > > > > dependencies are not parsed, and users doing static
> > > > > > > > > builds have to
> > > > > > > > > resolve them manually by themselves.
> > > > > > > > > When using this API avoid additional checks that are
> > > > > > > > > superfluous and
> > > > > > > > > take extra time, and avoid adding the linker flag
> > > > > > > > > manually which causes
> > > > > > > > > it to be duplicated.
> > > > > > > > > 
> > > > > > > > > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > > > > > > > > Acked-by: Bruce Richardson <bruce.richardson@intel.co
> > > > > > > > > m>
> > > > > > > > 
> > > > > > > > This patch breaks compilation on my machine with a lot
> > > > > > > > of
> > > > > > > > strange errors:
> > > > > > > > 
> > > > > > > > from drivers/net/pcap/rte_eth_pcap.c
> > > > > > > > 
> > > > > > > > /usr/include/stdint.h:109: error: "__INT64_C" redefined
> > > > > > > > /usr/include/bits/stdlib-bsearch.h:32:13: error: cast
> > > > > > > > discards 'const' qualifier from pointer target type
> > > > > > > > /usr/include/pthread.h:682:6: error: 'regparm'
> > > > > > > > attribute
> > > > > > > > directive ignored
> > > > > > > > etc
> > > > > > > > 
> > > > > > > 
> > > > > > > Is this on Arch linux again? I just reverified these
> > > > > > > first
> > > > > > > two patches and
> > > > > > > they work fine for me on Fedora (I assume Luca probably
> > > > > > > tested them already on
> > > > > > > Debian) 
> > > > > > > 
> > > > > > > Anything unusual about your setup?
> > > > > > 
> > > > > > Nothing unusual. Just using the best environment ever ;)
> > > > > > I will try to debug it.
> > > > > > 
> > > > > 
> > > > > It may be something pcap-specific, since pcap has to have
> > > > > it's
> > > > > own special
> > > > > query mechanims outside the normal pkg-config one. If you
> > > > > remove the
> > > > > pcap-driver changes, does the rest of the patch work for you?
> > > > 
> > > > Yes, the issue happens only with pcap on Arm.
> > > > Reverting the pcap related changes, it builds fine.
> > > > 
> > > > More infos about my setup:
> > > > 	meson-0.49.1
> > > > 	aarch64-linux-gnu-gcc-8.2.0
> > > > 	libpcap-1.9.0 (32 and 64-bit) for x86
> > > > 
> > > > I think there is a mix between libcap for x86 and Arm
> > > > compilation.
> > > > Probably a meson bug?
> > > > 
> > > 
> > > Could well be a meson issue. It may be using the local pcap-
> > > config
> > > rather
> > > than the cross-compilation version [assuming cross-compilation
> > > here, though
> > > I don't see the issue with my setup].
> > > 
> > > Thomas, can you apply this set with the pcap driver change
> > > dropped,
> > > or is it better if Luca does a new version of this set?
> > 
> > I think we need a comment about the pcap miss.
> > Probably better to do a new version.
> > 
> > Luca, please could you test cross-compilation?
> 
> Hi,
> 
> I would, except downloading the toolchain from Linaro fails with 403
> forbidden...
> 
> https://releases.linaro.org/components/toolchain/binaries/latest/aarc
> h64-linux-gnu/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-
> gnu.tar.xz
> 
> I'll try with Debian's cross compiler

I think the issue is that I'm going in circles:

https://git.dpdk.org/dpdk/commit/?id=d1e4a5b7320905f025e7caea685708b5eea37456
https://git.dpdk.org/dpdk/commit/?id=6930c0403a1754eb5cab89577565eefa5a9995a1

As Bruce said, the root cause is libpcap's lack of a pkg-config file
and usage of a custom tool, which is a known bane for cross compilers.
The good news is that 1.9.0 finally added a pkg-config file in
addition:

https://github.com/the-tcpdump-group/libpcap/commit/a7deb6a241f8c71ca261adc45ac07c8427074792

Given cross-compilation doesn't work at all for me, I'll do a v7 without that snippet.

-- 
Kind regards,
Luca Boccassi

  parent reply	other threads:[~2019-02-13 11:48 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-03 17:57 [dpdk-dev] [PATCH 1/2] build: use static deps of libs for pkg-config libs.private Luca Boccassi
2019-01-03 17:57 ` [dpdk-dev] [PATCH 2/2] build: use dependency() instead of find_library() Luca Boccassi
2019-01-07 14:28   ` Bruce Richardson
2019-01-07 16:39     ` [dpdk-dev] [dpdk-stable] " Luca Boccassi
2019-01-07 16:55       ` Bruce Richardson
2019-01-07 17:03         ` [dpdk-dev] [dpdk-techboard] " Thomas Monjalon
2019-01-07 17:45           ` [dpdk-dev] [dpdk-stable] [dpdk-techboard] " Thomas Monjalon
2019-01-07 21:09             ` Luca Boccassi
2019-01-07 22:03               ` Luca Boccassi
2019-01-11 11:10         ` [dpdk-dev] [dpdk-stable] " Luca Boccassi
2019-01-11 11:52           ` Bruce Richardson
2019-01-11 12:39             ` Luca Boccassi
2019-01-11 14:24               ` Bruce Richardson
2019-01-11 14:56                 ` Luca Boccassi
2019-01-11 15:49                   ` Bruce Richardson
2019-01-11 16:27                     ` Luca Boccassi
2019-01-11 12:38 ` [dpdk-dev] [PATCH v2 1/3] build: use static deps of libs for pkg-config libs.private Luca Boccassi
2019-01-11 12:38   ` [dpdk-dev] [PATCH v2 2/3] build: use dependency() instead of find_library() Luca Boccassi
2019-01-11 12:38   ` [dpdk-dev] [PATCH v2 3/3] build: bump minimum Meson to 0.47.1 and use dependency() for libbsd Luca Boccassi
2019-01-11 14:27     ` Bruce Richardson
2019-01-11 14:30       ` Bruce Richardson
2019-01-11 15:04         ` Luca Boccassi
2019-01-11 15:50           ` Bruce Richardson
2019-01-11 16:14             ` Luca Boccassi
2019-01-11 16:26 ` [dpdk-dev] [PATCH v3 1/4] build: bump minimum Meson version to 0.47.1 Luca Boccassi
2019-01-11 16:26   ` [dpdk-dev] [PATCH v3 2/4] build: use dependency() instead of find_library() Luca Boccassi
2019-01-11 17:21     ` Bruce Richardson
2019-01-11 18:16       ` Luca Boccassi
2019-01-11 21:49         ` Bruce Richardson
2019-01-11 16:26   ` [dpdk-dev] [PATCH v3 3/4] build: reorder libraries and build eal before cmdline Luca Boccassi
2019-01-11 17:22     ` Bruce Richardson
2019-01-11 16:26   ` [dpdk-dev] [PATCH v3 4/4] build: use dependency() for libbsd instead of manual append to ldflags Luca Boccassi
2019-01-11 17:24     ` Bruce Richardson
2019-01-11 17:17   ` [dpdk-dev] [PATCH v3 1/4] build: bump minimum Meson version to 0.47.1 Bruce Richardson
2019-01-11 18:22 ` [dpdk-dev] [PATCH v4 " Luca Boccassi
2019-01-11 18:22   ` [dpdk-dev] [PATCH v4 2/4] build: use dependency() instead of find_library() Luca Boccassi
2019-01-11 18:22   ` [dpdk-dev] [PATCH v4 3/4] build: reorder libraries and build eal before cmdline Luca Boccassi
2019-01-11 18:22   ` [dpdk-dev] [PATCH v4 4/4] build: use dependency() for libbsd instead of manual append to ldflags Luca Boccassi
2019-01-22 13:10 ` [dpdk-dev] [PATCH v5 1/4] build: bump minimum Meson version to 0.47.1 Luca Boccassi
2019-01-22 13:10   ` [dpdk-dev] [PATCH v5 2/4] build: use dependency() instead of find_library() Luca Boccassi
2019-01-22 13:46     ` Bruce Richardson
2019-01-22 14:09       ` Luca Boccassi
2019-01-22 14:24         ` Bruce Richardson
2019-01-22 14:25     ` Bruce Richardson
2019-01-22 13:10   ` [dpdk-dev] [PATCH v5 3/4] build: reorder libraries and build eal before cmdline Luca Boccassi
2019-01-22 13:10   ` [dpdk-dev] [PATCH v5 4/4] build: use dependency() for libbsd instead of manual append to ldflags Luca Boccassi
2019-01-22 13:42   ` [dpdk-dev] [PATCH v5 1/4] build: bump minimum Meson version to 0.47.1 Bruce Richardson
2019-02-06 17:08 ` [dpdk-dev] [PATCH v6 1/5] " Luca Boccassi
2019-02-06 17:08   ` [dpdk-dev] [PATCH v6 2/5] build: use dependency() instead of find_library() Luca Boccassi
2019-02-12 11:15     ` Thomas Monjalon
2019-02-12 11:31       ` Bruce Richardson
2019-02-12 11:36         ` Thomas Monjalon
2019-02-12 11:43           ` Bruce Richardson
2019-02-12 14:47             ` Thomas Monjalon
2019-02-12 15:03               ` Bruce Richardson
2019-02-12 16:21                 ` Thomas Monjalon
2019-02-13 10:49                   ` Luca Boccassi
2019-02-13 11:10                     ` Thomas Monjalon
2019-02-13 13:45                       ` Luca Boccassi
2019-02-13 11:48                     ` Luca Boccassi [this message]
2019-02-06 17:08   ` [dpdk-dev] [PATCH v6 3/5] build: reorder libraries and build eal before cmdline Luca Boccassi
2019-02-06 17:08   ` [dpdk-dev] [PATCH v6 4/5] build: use dependency() for libbsd instead of manual append to ldflags Luca Boccassi
2019-02-06 17:08   ` [dpdk-dev] [PATCH v6 5/5] build: use integers for numerical options Luca Boccassi
2019-02-08 14:44     ` Bruce Richardson
2019-02-13 11:54 ` [dpdk-dev] [PATCH v7 1/5] build: bump minimum Meson version to 0.47.1 Luca Boccassi
2019-02-13 11:54   ` [dpdk-dev] [PATCH v7 2/5] build: use dependency() instead of find_library() Luca Boccassi
2019-02-13 15:35     ` Bruce Richardson
2019-02-13 11:54   ` [dpdk-dev] [PATCH v7 3/5] build: reorder libraries and build eal before cmdline Luca Boccassi
2019-02-13 11:54   ` [dpdk-dev] [PATCH v7 4/5] build: use dependency() for libbsd instead of manual append to ldflags Luca Boccassi
2019-02-13 11:54   ` [dpdk-dev] [PATCH v7 5/5] build: use integers for numerical options Luca Boccassi
2019-02-26 17:46 ` [dpdk-dev] [PATCH v8 1/6] build: bump minimum Meson version to 0.47.1 luca.boccassi
2019-02-26 17:46   ` [dpdk-dev] [PATCH v8 2/6] build: use dependency() instead of find_library() luca.boccassi
2019-02-26 17:46   ` [dpdk-dev] [PATCH v8 3/6] build: reorder libraries and build eal before cmdline luca.boccassi
2019-02-26 17:46   ` [dpdk-dev] [PATCH v8 4/6] build: use dependency() for libbsd instead of manual append to ldflags luca.boccassi
2019-02-26 17:46   ` [dpdk-dev] [PATCH v8 5/6] build: use integers for numerical options luca.boccassi
2019-02-26 17:46   ` [dpdk-dev] [PATCH v8 6/6] build: use dependency for pcap and fallback to find_library luca.boccassi
2019-02-26 17:49     ` Luca Boccassi
2019-02-27  8:33       ` Thomas Monjalon
2019-02-27  9:47         ` Bruce Richardson
2019-02-27 10:50           ` Luca Boccassi
2019-02-27 10:56             ` Thomas Monjalon
2019-02-27 12:03               ` Luca Boccassi
2019-02-27 13:53                 ` Bruce Richardson
2019-02-28 17:40                   ` Bruce Richardson
2019-03-01 13:13                     ` Thomas Monjalon
2019-03-01 15:13                       ` Luca Boccassi
2019-03-01 13:22     ` Thomas Monjalon
2019-02-27 11:29   ` [dpdk-dev] [PATCH v8 1/6] build: bump minimum Meson version to 0.47.1 Thomas Monjalon

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=1550058506.4818.8.camel@debian.org \
    --to=bluca@debian.org \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=thomas@monjalon.net \
    /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).