Greetings,

During CI runs, I've noticed lots of failures from the Travis-CI side
all related to librte_power/version.map containing some duplicate
symbols.  It seems commit 4d3892dcd77b ("power: make channel message
functions public") made the following hunk:

diff --git a/lib/librte_power/version.map b/lib/librte_power/version.map
index 69ca9af616..13f0af3b2d 100644
--- a/lib/librte_power/version.map
+++ b/lib/librte_power/version.map
@@ -34,4 +34,8 @@ EXPERIMENTAL {
        rte_power_guest_channel_receive_msg;
        rte_power_poll_stat_fetch;
        rte_power_poll_stat_update;
+
+       # added in 21.02
+       rte_power_guest_channel_receive_msg;
+       rte_power_guest_channel_send_msg;
 };


As can be seen, rte_power_guest_channel_receive_msg was added already
(it's present in the hunk itself).  The rte_power_guest_channel_send_msg
function was added as part of 85ff364f3bd3 ("build: align symbols with
global ABI version").

I guess it may not be allowed to have duplicate symbols here, because in
travis, I see (only for some builds):

clang  -o lib/librte_power.so.21.1 
'lib/lib@@rte_power@sta/librte_power_rte_power.c.o' 
'lib/lib@@rte_power@sta/librte_power_power_acpi_cpufreq.c.o' 
'lib/lib@@rte_power@sta/librte_power_power_kvm_vm.c.o' 
'lib/lib@@rte_power@sta/librte_power_guest_channel.c.o' 
'lib/lib@@rte_power@sta/librte_power_rte_power_empty_poll.c.o' 
'lib/lib@@rte_power@sta/librte_power_power_pstate_cpufreq.c.o' 
'lib/lib@@rte_power@sta/librte_power_rte_power_pmd_mgmt.c.o' 
'lib/lib@@rte_power@sta/librte_power_power_common.c.o' -Wl,--no-undefined 
-Wl,--as-needed -shared -fPIC -Wl,--start-group -Wl,-soname,librte_power.so.21 
-Wl,--no-as-needed -pthread -lm -ldl lib/librte_eal.so.21.1 
lib/librte_kvargs.so.21.1 lib/librte_telemetry.so.21.1 lib/librte_timer.so.21.1 
lib/librte_ethdev.so.21.1 lib/librte_net.so.21.1 lib/librte_mbuf.so.21.1 
lib/librte_mempool.so.21.1 lib/librte_ring.so.21.1 lib/librte_meter.so.21.1 
-Wl,--end-group 
-Wl,--version-script=/home/travis/build/ovsrobot/dpdk/lib/librte_power/version.map
 '-Wl,-rpath,$ORIGIN/' 
-Wl,-rpath-link,/home/travis/build/ovsrobot/dpdk/build/lib -target 
aarch64-linux-gnu -fuse-ld=lld --gcc-toolchain=/usr 

ld.lld: error: duplicate symbol 'rte_power_guest_channel_send_msg' in version 
script

Thoughts?

Reply via email to