From: "Avijit Pandey" <Avijit@voereir.com>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: Undefined reference to symbol while compiling DPPD-PROX
Date: Tue, 24 May 2022 06:29:38 +0000 [thread overview]
Message-ID: <AS8PR02MB68372512D00E711557428AF9CCD79@AS8PR02MB6837.eurprd02.prod.outlook.com> (raw)
In-Reply-To: <20220428081308.1bf0f1f1@hermes.local>
[-- Attachment #1: Type: text/plain, Size: 8482 bytes --]
Yes, works.
Made changes into the meson.build as
sed -i "139i deps += [cc.find_library('dl', required: true)]" meson.build
Thanks a lot.
________________________________
From: Stephen Hemminger <stephen@networkplumber.org>
Sent: Thursday, April 28, 2022 8:43 PM
To: Avijit Pandey <Avijit@voereir.com>
Cc: dev@dpdk.org <dev@dpdk.org>
Subject: Re: Undefined reference to symbol while compiling DPPD-PROX
On Thu, 28 Apr 2022 06:32:14 +0000
"Avijit Pandey" <Avijit@voereir.com> wrote:
> I have OS: Ubuntu 20.04 with kernel: 5.4.0-42-generic
>
> Built DPDK from the following steps:
>
> cd /opt
> export RTE_SDK="/opt/dpdk"
> export RTE_TARGET="x86_64-native-linuxapp-gcc"
> export PKG_CONFIG_PATH="/usr/local/lib/x86_64-linux-gnu/pkgconfig"
> git clone https://github.com/DPDK/dpdk.git
> git clone http://dpdk.org/git/dpdk-kmods
> cd dpdk/
> git checkout v20.11
> cp -r /opt/dpdk-kmods/linux/igb_uio/ /opt/dpdk/kernel/linux/
> cat <<EOF >/opt/dpdk/kernel/linux/igb_uio/meson.build
> # SPDX-License-Identifier: BSD-3-Clause
> # Copyright(c) 2017 Intel Corporation
>
> mkfile = custom_target('igb_uio_makefile',
> output: 'Makefile',
> command: ['touch', '@OUTPUT@'])
>
> custom_target('igb_uio',
> input: ['igb_uio.c', 'Kbuild'],
> output: 'igb_uio.ko',
> command: ['make', '-C', kernel_dir + '/build',
> 'M=' + meson.current_build_dir(),
> 'src=' + meson.current_source_dir(),
> 'EXTRA_CFLAGS=-I' + meson.current_source_dir() +
> '/../../../lib/librte_eal/include',
> 'modules'],
> depends: mkfile,
> install: true,
> install_dir: kernel_dir + '/extra/dpdk',
> build_by_default: get_option('enable_kmods'))
> EOF
> meson setup ${RTE_SDK} ${RTE_TARGET}
> meson -Dexamples=all build
> cd build
> ninja
> ninja install
> ldconfig -v
> cd /opt/dpdk/kernel/linux/igb_uio
> make -j 4
>
>
> Building DPPD-PROX via below steps:
>
> git clone https://github.com/opnfv/samplevnf.git
> cd samplevnf/VNFs/DPPD-PROX
> meson build
> ninja -C build
>
> Facing error on the task: handle_fm.c on running that command ninja -C build
>
> Error:
> [108/108] Linking target prox.
>
> FAILED: prox
>
> cc -o prox 'prox@exe/task_init.c.o' 'prox@exe/handle_aggregator.c.o' 'prox@exe/handle_nop.c.o' 'prox@exe/handle_irq.c.o' 'prox@exe/handle_arp.c.o' 'prox@exe/handle_impair.c.o' 'prox@exe/handle_lat.c.o' 'prox@exe/handle_qos.c.o' 'prox@exe/handle_qinq_decap4.c.o' 'prox@exe/handle_routing.c.o' 'prox@exe/handle_untag.c.o' 'prox@exe/handle_mplstag.c.o' 'prox@exe/handle_qinq_decap6.c.o' 'prox@exe/rw_reg.c.o' 'prox@exe/handle_lb_qinq.c.o' 'prox@exe/handle_lb_pos.c.o' 'prox@exe/handle_lb_net.c.o' 'prox@exe/handle_qinq_encap4.c.o' 'prox@exe/handle_qinq_encap6.c.o' 'prox@exe/handle_classify.c.o' 'prox@exe/handle_l2fwd.c.o' 'prox@exe/handle_swap.c.o' 'prox@exe/handle_police.c.o' 'prox@exe/handle_acl.c.o' 'prox@exe/handle_gen.c.o' 'prox@exe/handle_master.c.o' 'prox@exe/packet_utils.c.o' 'prox@exe/handle_mirror.c.o' 'prox@exe/handle_genl4.c.o' 'prox@exe/handle_ipv6_tunnel.c.o' 'prox@exe/handle_read.c.o' 'prox@exe/handle_cgnat.c.o' 'prox@exe/handle_nat.c.o' 'prox@exe/handle_dump.c.o' 'prox@exe/handle_tsc.c.o' 'prox@exe/handle_fm.c.o' 'prox@exe/handle_lb_5tuple.c.o' 'prox@exe/handle_blockudp.c.o' 'prox@exe/toeplitz.c.o' 'prox@exe/thread_nop.c.o' 'prox@exe/thread_generic.c.o' 'prox@exe/prox_args.c.o' 'prox@exe/prox_cfg.c.o' 'prox@exe/prox_cksum.c.o' 'prox@exe/prox_port_cfg.c.o' 'prox@exe/cfgfile.c.o' 'prox@exe/clock.c.o' 'prox@exe/commands.c.o' 'prox@exe/cqm.c.o' 'prox@exe/msr.c.o' 'prox@exe/defaults.c.o' 'prox@exe/display.c.o' 'prox@exe/display_latency.c.o' 'prox@exe/display_latency_distr.c.o' 'prox@exe/display_mempools.c.o' 'prox@exe/display_ports.c.o' 'prox@exe/display_rings.c.o' 'prox@exe/display_priority.c.o' 'prox@exe/display_pkt_len.c.o' 'prox@exe/display_l4gen.c.o' 'prox@exe/display_tasks.c.o' 'prox@exe/display_irq.c.o' 'prox@exe/log.c.o' 'prox@exe/hash_utils.c.o' 'prox@exe/main.c.o' 'prox@exe/parse_utils.c.o' 'prox@exe/file_utils.c.o' 'prox@exe/run.c.o' 'prox@exe/input_conn.c.o' 'prox@exe/input_curses.c.o' 'prox@exe/rx_pkt.c.o' 'prox@exe/lconf.c.o' 'prox@exe/tx_pkt.c.o' 'prox@exe/expire_cpe.c.o' 'prox@exe/ip_subnet.c.o' 'prox@exe/stats_port.c.o' 'prox@exe/stats_mempool.c.o' 'prox@exe/stats_ring.c.o' 'prox@exe/stats_l4gen.c.o' 'prox@exe/stats_latency.c.o' 'prox@exe/stats_global.c.o' 'prox@exe/stats_core.c.o' 'prox@exe/stats_task.c.o' 'prox@exe/stats_prio.c.o' 'prox@exe/stats_irq.c.o' 'prox@exe/cmd_parser.c.o' 'prox@exe/input.c.o' 'prox@exe/prox_shared.c.o' 'prox@exe/prox_lua_types.c.o' 'prox@exe/genl4_bundle.c.o' 'prox@exe/heap.c.o' 'prox@exe/genl4_stream_tcp.c.o' 'prox@exe/genl4_stream_udp.c.o' 'prox@exe/cdf.c.o' 'prox@exe/stats.c.o' 'prox@exe/stats_cons_log.c.o' 'prox@exe/stats_cons_cli.c.o' 'prox@exe/stats_parser.c.o' 'prox@exe/hash_set.c.o' 'prox@exe/prox_lua.c.o' 'prox@exe/prox_malloc.c.o' 'prox@exe/prox_ipv6.c.o' 'prox@exe/prox_compat.c.o' 'prox@exe/handle_nsh.c.o' 'prox@exe/handle_pf_acl.c.o' 'prox@exe/thread_pipeline.c.o' 'prox@exe/git_version.c.o' -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,--as-needed -Wl,--start-group /usr/local/lib/x86_64-linux-gnu/librte_node.so /usr/local/lib/x86_64-linux-gnu/librte_graph.so /usr/local/lib/x86_64-linux-gnu/librte_bpf.so /usr/local/lib/x86_64-linux-gnu/librte_flow_classify.so /usr/local/lib/x86_64-linux-gnu/librte_pipeline.so /usr/local/lib/x86_64-linux-gnu/librte_table.so /usr/local/lib/x86_64-linux-gnu/librte_port.so /usr/local/lib/x86_64-linux-gnu/librte_fib.so /usr/local/lib/x86_64-linux-gnu/librte_ipsec.so /usr/local/lib/x86_64-linux-gnu/librte_vhost.so /usr/local/lib/x86_64-linux-gnu/librte_stack.so /usr/local/lib/x86_64-linux-gnu/librte_security.so /usr/local/lib/x86_64-linux-gnu/librte_sched.so /usr/local/lib/x86_64-linux-gnu/librte_reorder.so /usr/local/lib/x86_64-linux-gnu/librte_rib.so /usr/local/lib/x86_64-linux-gnu/librte_regexdev.so /usr/local/lib/x86_64-linux-gnu/librte_rawdev.so /usr/local/lib/x86_64-linux-gnu/librte_pdump.so /usr/local/lib/x86_64-linux-gnu/librte_power.so /usr/local/lib/x86_64-linux-gnu/librte_member.so /usr/local/lib/x86_64-linux-gnu/librte_lpm.so /usr/local/lib/x86_64-linux-gnu/librte_latencystats.so /usr/local/lib/x86_64-linux-gnu/librte_kni.so /usr/local/lib/x86_64-linux-gnu/librte_jobstats.so /usr/local/lib/x86_64-linux-gnu/librte_ip_frag.so /usr/local/lib/x86_64-linux-gnu/librte_gso.so /usr/local/lib/x86_64-linux-gnu/librte_gro.so /usr/local/lib/x86_64-linux-gnu/librte_eventdev.so /usr/local/lib/x86_64-linux-gnu/librte_efd.so /usr/local/lib/x86_64-linux-gnu/librte_distributor.so /usr/local/lib/x86_64-linux-gnu/librte_cryptodev.so /usr/local/lib/x86_64-linux-gnu/librte_compressdev.so /usr/local/lib/x86_64-linux-gnu/librte_cfgfile.so /usr/local/lib/x86_64-linux-gnu/librte_bitratestats.so /usr/local/lib/x86_64-linux-gnu/librte_bbdev.so /usr/local/lib/x86_64-linux-gnu/librte_acl.so /usr/local/lib/x86_64-linux-gnu/librte_timer.so /usr/local/lib/x86_64-linux-gnu/librte_hash.so /usr/local/lib/x86_64-linux-gnu/librte_metrics.so /usr/local/lib/x86_64-linux-gnu/librte_cmdline.so /usr/local/lib/x86_64-linux-gnu/librte_pci.so /usr/local/lib/x86_64-linux-gnu/librte_ethdev.so /usr/local/lib/x86_64-linux-gnu/librte_meter.so /usr/local/lib/x86_64-linux-gnu/librte_net.so /usr/local/lib/x86_64-linux-gnu/librte_mbuf.so /usr/local/lib/x86_64-linux-gnu/librte_mempool.so /usr/local/lib/x86_64-linux-gnu/librte_rcu.so /usr/local/lib/x86_64-linux-gnu/librte_ring.so /usr/local/lib/x86_64-linux-gnu/librte_eal.so /usr/local/lib/x86_64-linux-gnu/librte_telemetry.so /usr/local/lib/x86_64-linux-gnu/librte_kvargs.so /usr/lib/x86_64-linux-gnu/libbsd.so -Wl,-Bsymbolic-functions -ltinfo -pthread -lpcap -Wl,-Bsymbolic-functions -lncurses -ltinfo -Wl,-Bsymbolic-functions -lncursesw -ltinfo /usr/lib/x86_64-linux-gnu/libedit.so -lm /usr/lib/x86_64-linux-gnu/liblua5.3.so -lrte_bus_vdev -lrte_net_ring -Wl,--end-group
>
> /usr/bin/ld: prox@exe/handle_fm.c.o: undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
>
> /usr/bin/ld: /usr/local/lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
>
> collect2: error: ld returned 1 exit status
>
> ninja: build stopped: subcommand failed.
>
>
>
> How do I proceed in this?
Looks like compile line in PROX is missing -ldl
[-- Attachment #2: Type: text/html, Size: 11167 bytes --]
prev parent reply other threads:[~2022-05-24 6:29 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-28 6:32 Avijit Pandey
2022-04-28 15:13 ` Stephen Hemminger
2022-05-24 6:29 ` Avijit Pandey [this message]
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=AS8PR02MB68372512D00E711557428AF9CCD79@AS8PR02MB6837.eurprd02.prod.outlook.com \
--to=avijit@voereir.com \
--cc=dev@dpdk.org \
--cc=stephen@networkplumber.org \
/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).