From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 238C9A034C; Thu, 28 Apr 2022 17:13:18 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C60BB42819; Thu, 28 Apr 2022 17:13:17 +0200 (CEST) Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) by mails.dpdk.org (Postfix) with ESMTP id 7FEB640E50 for ; Thu, 28 Apr 2022 17:13:16 +0200 (CEST) Received: by mail-pf1-f171.google.com with SMTP id p8so4497854pfh.8 for ; Thu, 28 Apr 2022 08:13:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hbrv/Yis7Kt27VhXJ9eUvJ+xUstc5KS7w6c+pPzOioQ=; b=kUo0UW0cP1XX6HDb5mnI9LVoEjwVWuzdUwIpPB4Iqb9llX+XGGIx2r+X9dTrgJCAiQ 8G7egxRo2uREHU5LBJxcKeNKEfkK88799bz5D/hV78Yx0dag6jeS3r2WWxSmodFwVTpH FMxH6kKw3RXyZMOewrcLDfRpUFRtsmQGWEguEpe7W2dMCvZvGmYn7q1t2KYc8cjqsMaj k9H2wvTHxY0x4eoNImXsZZs5Pi7kB4BM3vsO37SjewEQPeFfPmX+7DzaytbFji8hyDyi g5pkpOyxAOG4S66dVieUSJ4IR/RwirUZ/N34X5mAvmz1bZcXJrMk4y+BcRVi6kLPcNll wEDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hbrv/Yis7Kt27VhXJ9eUvJ+xUstc5KS7w6c+pPzOioQ=; b=bDxgYilzJMYGK/QbQSKTii2Wh1OGsnWeNNn7mDskhZzBa0Q5tNmd38hEPOOq8YUOdh CEc6vV7/93QkPrRPCUgSjh8O4khybztXtwvjxnAMMkS4S06hVqr8cU6zpQXpZjLIpFlE BGarW0XjoRLwPDm5DR/ezT3U1eukx/zPij0mIoCpPy2+l15h6E0poJOM+ArOcq5N401M TYOo4elkalJSEJFFrXAFRuvRFjreTWH1aGz+Q9hMHaamhDhUn5DRTSjO+P1wZCVQiqlk rN2IZHn592Rhe8rPGkVKrwjmaJqT0w/92sNeKrAM+N2ts1TFdG6kL+9QCgrlUlpOJOCT s7jA== X-Gm-Message-State: AOAM531kkIPW/LBjk+Obyig9+nmmT5v/TGjN+jvenaGvfgcphazd7T1q 84c3dnlWB2FN529pbiS22A7oEA== X-Google-Smtp-Source: ABdhPJxNwT2DMxumBVTnL3pEfeqfgSUORb62PnERULL1Vb4gUKwVFoVhnCTPkytSYamePFX7JAFNeA== X-Received: by 2002:a63:e147:0:b0:39c:d177:c01f with SMTP id h7-20020a63e147000000b0039cd177c01fmr28442472pgk.81.1651158795313; Thu, 28 Apr 2022 08:13:15 -0700 (PDT) Received: from hermes.local (204-195-112-199.wavecable.com. [204.195.112.199]) by smtp.gmail.com with ESMTPSA id l2-20020a056a0016c200b004f7e3181a41sm179853pfc.98.2022.04.28.08.13.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Apr 2022 08:13:14 -0700 (PDT) Date: Thu, 28 Apr 2022 08:13:08 -0700 From: Stephen Hemminger To: "Avijit Pandey" Cc: "dev@dpdk.org" Subject: Re: Undefined reference to symbol while compiling DPPD-PROX Message-ID: <20220428081308.1bf0f1f1@hermes.local> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Thu, 28 Apr 2022 06:32:14 +0000 "Avijit Pandey" 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 </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/lib rte_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_pc i.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