DPDK usage discussions
 help / color / mirror / Atom feed
From: "Avijit  Pandey" <Avijit@voereir.com>
To: "users@dpdk.org" <users@dpdk.org>
Subject: Undefined reference to symbol while compiling DPPD-PROX
Date: Wed, 27 Apr 2022 06:05:29 +0000
Message-ID: <AS8PR02MB683753B844AB70D8B545254ECCFA9@AS8PR02MB6837.eurprd02.prod.outlook.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 7799 bytes --]

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?

[-- Attachment #2: Type: text/html, Size: 9539 bytes --]

                 reply	other threads:[~2022-04-27  6:05 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=AS8PR02MB683753B844AB70D8B545254ECCFA9@AS8PR02MB6837.eurprd02.prod.outlook.com \
    --to=avijit@voereir.com \
    --cc=users@dpdk.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

DPDK usage discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/users/0 users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 users users/ http://inbox.dpdk.org/users \
		users@dpdk.org
	public-inbox-index users

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.users


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git