All of lore.kernel.org
 help / color / mirror / Atom feed
From: Li Wei <lw@cn.fujitsu.com>
To: <dev@dpdk.org>
Subject: Build broken with COMBINE_LIBS=y
Date: Tue, 9 Jun 2015 14:31:55 +0800	[thread overview]
Message-ID: <5576885B.9060506@cn.fujitsu.com> (raw)

Hi list,

After drivers separation, the following building error was encountered,
it seems the build system build lib/ first and link it into libintel_dpdk.a
and then drivers/ got compiled, so the symbols in drivers never got linked
into libintel_dpdk.a.

I guess we need add some dependence on drivers/ on libintel_dpdk.a target,
but I'm not familiar with the build system :(

Error messages as follow:

[...]
== Build app
== Build app/test
  CC commands.o
  CC test.o
  CC test_pci.o
  CC test_prefetch.o
  CC test_byteorder.o
  CC test_per_lcore.o
  CC test_atomic.o
  CC test_malloc.o
  CC test_cycles.o
  CC test_spinlock.o
  CC test_memory.o
  CC test_memzone.o
  CC test_ring.o
  CC test_ring_perf.o
  CC test_pmd_perf.o
  CC test_table.o
  CC test_table_pipeline.o
  CC test_table_tables.o
  CC test_table_ports.o
  CC test_table_combined.o
  CC test_table_acl.o
  CC test_rwlock.o
  CC test_timer.o
  CC test_timer_perf.o
  CC test_mempool.o
  CC test_mempool_perf.o
  CC test_mbuf.o
  CC test_logs.o
  CC test_memcpy.o
  CC test_memcpy_perf.o
  CC test_hash.o
  CC test_hash_perf.o
  CC test_lpm.o
  CC test_lpm6.o
  CC test_debug.o
  CC test_errno.o
  CC test_tailq.o
  CC test_string_fns.o
  CC test_cpuflags.o
  CC test_mp_secondary.o
  CC test_eal_flags.o
  CC test_eal_fs.o
  CC test_alarm.o
  CC test_interrupts.o
  CC test_version.o
  CC test_func_reentrancy.o
  CC test_cmdline.o
  CC test_cmdline_num.o
  CC test_cmdline_etheraddr.o
  CC test_cmdline_portlist.o
  CC test_cmdline_ipaddr.o
  CC test_cmdline_cirbuf.o
  CC test_cmdline_string.o
  CC test_cmdline_lib.o
  CC test_red.o
  CC test_sched.o
  CC test_meter.o
  CC test_kni.o
  CC test_power.o
  CC test_power_acpi_cpufreq.o
  CC test_power_kvm_vm.o
  CC test_common.o
  CC test_distributor.o
  CC test_distributor_perf.o
  CC test_reorder.o
  CC test_devargs.o
  CC virtual_pmd.o
  CC packet_burst_generator.o
  CC test_acl.o
  CC test_link_bonding.o
  CC test_link_bonding_mode4.o
  CC test_pmd_ring.o
  CC test_kvargs.o
  LD test
test_link_bonding.o: In function `test_add_slave_to_bonded_device':
test_link_bonding.c:(.text+0x7ca): undefined reference to `rte_eth_bond_slave_add'
test_link_bonding.c:(.text+0x7e2): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0x807): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.o: In function `test_remove_slave_from_bonded_device':
test_link_bonding.c:(.text+0x8cf): undefined reference to `rte_eth_bond_slave_remove'
test_link_bonding.c:(.text+0x8ed): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.o: In function `test_get_slaves_from_bonded_device':
test_link_bonding.c:(.text+0xa1f): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0xa3e): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0xa59): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0xa79): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0xa90): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0xaac): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.o: In function `test_set_bonded_port_initialization_mac_assignment':
test_link_bonding.c:(.text+0xbd0): undefined reference to `rte_eth_bond_create'
test_link_bonding.c:(.text+0xc7e): undefined reference to `rte_eth_bond_slave_add'
test_link_bonding.c:(.text+0xca0): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0xcbf): undefined reference to `rte_eth_bond_mac_address_set'
test_link_bonding.c:(.text+0xddb): undefined reference to `rte_eth_bond_primary_set'
test_link_bonding.c:(.text+0xed3): undefined reference to `rte_eth_bond_slave_remove'
test_link_bonding.c:(.text+0xef5): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.o: In function `test_add_already_bonded_slave_to_bonded_device':
test_link_bonding.c:(.text+0x11fa): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0x1244): undefined reference to `rte_eth_bond_create'
test_link_bonding.c:(.text+0x1269): undefined reference to `rte_eth_bond_slave_add'
test_link_bonding.o: In function `test_create_bonded_device_with_invalid_params':
test_link_bonding.c:(.text+0x131d): undefined reference to `rte_eth_bond_create'
test_link_bonding.c:(.text+0x1341): undefined reference to `rte_eth_bond_create'
test_link_bonding.c:(.text+0x1362): undefined reference to `rte_eth_bond_create'
test_link_bonding.o: In function `test_create_bonded_device':
test_link_bonding.c:(.text+0x13e9): undefined reference to `rte_eth_bond_mode_set'
test_link_bonding.c:(.text+0x1405): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0x1421): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0x144d): undefined reference to `rte_eth_bond_create'
test_link_bonding.o: In function `test_stop_bonded_device':
test_link_bonding.c:(.text+0x158d): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0x15b0): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.o: In function `test_start_bonded_device':
test_link_bonding.c:(.text+0x1694): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0x16b7): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0x16d0): undefined reference to `rte_eth_bond_mode_get'
test_link_bonding.c:(.text+0x16e9): undefined reference to `rte_eth_bond_primary_get'
test_link_bonding.o: In function `test_add_slave_to_invalid_bonded_device':
test_link_bonding.c:(.text+0x19e1): undefined reference to `rte_eth_bond_slave_add'
test_link_bonding.c:(.text+0x19ff): undefined reference to `rte_eth_bond_slave_add'
test_link_bonding.o: In function `test_remove_slave_from_invalid_bonded_device':
test_link_bonding.c:(.text+0x1a76): undefined reference to `rte_eth_bond_slave_remove'
test_link_bonding.c:(.text+0x1a99): undefined reference to `rte_eth_bond_slave_remove'
test_link_bonding.o: In function `initialize_bonded_device_with_slaves.part.1':
test_link_bonding.c:(.text+0x24c8): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0x24fe): undefined reference to `rte_eth_bond_slave_add'
test_link_bonding.c:(.text+0x251a): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0x2596): undefined reference to `rte_eth_bond_mode_set'
test_link_bonding.o: In function `remove_slaves_and_stop_bonded_device':
test_link_bonding.c:(.text+0x27e1): undefined reference to `rte_eth_bond_slave_remove'
test_link_bonding.c:(.text+0x27ff): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0x2880): undefined reference to `rte_eth_bond_mac_address_reset'
test_link_bonding.o: In function `test_broadcast_verify_mac_assignment':
test_link_bonding.c:(.text+0x29cf): undefined reference to `rte_eth_bond_primary_set'
test_link_bonding.c:(.text+0x2b3d): undefined reference to `rte_eth_bond_mac_address_set'
test_link_bonding.o: In function `test_tlb_verify_slave_link_status_change_failover':
test_link_bonding.c:(.text+0x3c41): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0x3c6b): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0x3c80): undefined reference to `rte_eth_bond_primary_get'
test_link_bonding.c:(.text+0x3cbf): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0x3d1c): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0x3d31): undefined reference to `rte_eth_bond_primary_get'
test_link_bonding.o: In function `test_tlb_verify_promiscuous_enable_disable':
test_link_bonding.c:(.text+0x4108): undefined reference to `rte_eth_bond_primary_get'
test_link_bonding.o: In function `test_tlb_verify_mac_assignment':
test_link_bonding.c:(.text+0x43bc): undefined reference to `rte_eth_bond_primary_set'
test_link_bonding.c:(.text+0x44eb): undefined reference to `rte_eth_bond_mac_address_set'
test_link_bonding.o: In function `test_tlb_rx_burst':
test_link_bonding.c:(.text+0x4838): undefined reference to `rte_eth_bond_primary_get'
test_link_bonding.o: In function `test_balance_verify_mac_assignment':
test_link_bonding.c:(.text+0x510c): undefined reference to `rte_eth_bond_primary_set'
test_link_bonding.c:(.text+0x523b): undefined reference to `rte_eth_bond_mac_address_set'
test_link_bonding.o: In function `test_balance_xmit_policy_configuration':
test_link_bonding.c:(.text+0x5898): undefined reference to `rte_eth_bond_xmit_policy_set'
test_link_bonding.c:(.text+0x58ae): undefined reference to `rte_eth_bond_xmit_policy_set'
test_link_bonding.c:(.text+0x58c4): undefined reference to `rte_eth_bond_xmit_policy_set'
test_link_bonding.c:(.text+0x58d8): undefined reference to `rte_eth_bond_xmit_policy_get'
test_link_bonding.c:(.text+0x58f1): undefined reference to `rte_eth_bond_xmit_policy_set'
test_link_bonding.c:(.text+0x5905): undefined reference to `rte_eth_bond_xmit_policy_get'
test_link_bonding.c:(.text+0x591b): undefined reference to `rte_eth_bond_xmit_policy_set'
test_link_bonding.c:(.text+0x592f): undefined reference to `rte_eth_bond_xmit_policy_get'
test_link_bonding.c:(.text+0x593e): undefined reference to `rte_eth_bond_xmit_policy_get'
test_link_bonding.o: In function `test_activebackup_verify_mac_assignment':
test_link_bonding.c:(.text+0x5b6c): undefined reference to `rte_eth_bond_primary_set'
test_link_bonding.c:(.text+0x5c9b): undefined reference to `rte_eth_bond_mac_address_set'
test_link_bonding.o: In function `test_activebackup_verify_promiscuous_enable_disable':
test_link_bonding.c:(.text+0x5f98): undefined reference to `rte_eth_bond_primary_get'
test_link_bonding.o: In function `test_activebackup_rx_burst':
test_link_bonding.c:(.text+0x61c7): undefined reference to `rte_eth_bond_primary_get'
test_link_bonding.o: In function `test_roundrobin_verify_mac_assignment':
test_link_bonding.c:(.text+0x65af): undefined reference to `rte_eth_bond_primary_set'
test_link_bonding.c:(.text+0x671d): undefined reference to `rte_eth_bond_mac_address_set'
test_link_bonding.o: In function `test_roundrobin_verfiy_polling_slave_link_status_change':
test_link_bonding.c:(.text+0x73d7): undefined reference to `rte_eth_bond_slave_add'
test_link_bonding.c:(.text+0x75fb): undefined reference to `rte_eth_bond_slave_remove'
test_link_bonding.c:(.text+0x7616): undefined reference to `rte_eth_bond_slave_remove'
test_link_bonding.o: In function `test_status_interrupt':
test_link_bonding.c:(.text+0x7880): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0x794d): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.o: In function `test_set_bonding_mode':
test_link_bonding.c:(.text+0x7c3e): undefined reference to `rte_eth_bond_mode_set'
test_link_bonding.c:(.text+0x7c54): undefined reference to `rte_eth_bond_mode_set'
test_link_bonding.c:(.text+0x7c6a): undefined reference to `rte_eth_bond_mode_set'
test_link_bonding.c:(.text+0x7c7e): undefined reference to `rte_eth_bond_mode_get'
test_link_bonding.c:(.text+0x7c91): undefined reference to `rte_eth_bond_mode_get'
test_link_bonding.c:(.text+0x7ca5): undefined reference to `rte_eth_bond_mode_get'
test_link_bonding.o: In function `balance_l34_tx_burst.constprop.6':
test_link_bonding.c:(.text+0x8152): undefined reference to `rte_eth_bond_xmit_policy_set'
test_link_bonding.o: In function `balance_l23_tx_burst':
test_link_bonding.c:(.text+0x8642): undefined reference to `rte_eth_bond_xmit_policy_set'
test_link_bonding.o: In function `test_balance_l2_tx_burst':
test_link_bonding.c:(.text+0x8b17): undefined reference to `rte_eth_bond_xmit_policy_set'
test_link_bonding.o: In function `test_adding_slave_after_bonded_device_started':
test_link_bonding.c:(.text+0x8faf): undefined reference to `rte_eth_bond_slave_add'
test_link_bonding.o: In function `test_broadcast_verify_slave_link_status_change_behaviour':
test_link_bonding.c:(.text+0x90b1): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0x90ce): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0x9114): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.o: In function `test_add_remove_multiple_slaves_to_from_bonded_device':
test_link_bonding.c:(.text+0x9553): undefined reference to `rte_eth_bond_slave_add'
test_link_bonding.c:(.text+0x956f): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0x9594): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.o: In function `test_roundrobin_verify_slave_link_status_change_behaviour':
test_link_bonding.c:(.text+0x9712): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0x972f): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0x9768): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.o: In function `test_balance_tx_burst_slave_tx_fail':
test_link_bonding.c:(.text+0xa085): undefined reference to `rte_eth_bond_xmit_policy_set'
test_link_bonding.o: In function `test_activebackup_tx_burst':
test_link_bonding.c:(.text+0xa660): undefined reference to `rte_eth_bond_primary_get'
test_link_bonding.o: In function `test_set_explicit_bonded_mac':
test_link_bonding.c:(.text+0xa8ee): undefined reference to `rte_eth_bond_mac_address_set'
test_link_bonding.c:(.text+0xa905): undefined reference to `rte_eth_bond_mac_address_set'
test_link_bonding.c:(.text+0xa91b): undefined reference to `rte_eth_bond_mac_address_set'
test_link_bonding.c:(.text+0xa932): undefined reference to `rte_eth_bond_mac_address_set'
test_link_bonding.c:(.text+0xa96a): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0xa9a4): undefined reference to `rte_eth_bond_slave_add'
test_link_bonding.c:(.text+0xa9c5): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0xaa8f): undefined reference to `rte_eth_bond_mac_address_reset'
test_link_bonding.c:(.text+0xaaa3): undefined reference to `rte_eth_bond_mac_address_reset'
test_link_bonding.c:(.text+0xaac4): undefined reference to `rte_eth_bond_mac_address_reset'
test_link_bonding.o: In function `test_set_primary_slave':
test_link_bonding.c:(.text+0xb400): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0xb43a): undefined reference to `rte_eth_bond_slave_add'
test_link_bonding.c:(.text+0xb456): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0xb4ba): undefined reference to `rte_eth_bond_mode_set'
test_link_bonding.c:(.text+0xb4d6): undefined reference to `rte_eth_bond_primary_set'
test_link_bonding.c:(.text+0xb4ec): undefined reference to `rte_eth_bond_primary_set'
test_link_bonding.c:(.text+0xb50e): undefined reference to `rte_eth_bond_primary_set'
test_link_bonding.c:(.text+0xb522): undefined reference to `rte_eth_bond_primary_get'
test_link_bonding.c:(.text+0xb5f3): undefined reference to `rte_eth_bond_primary_get'
test_link_bonding.c:(.text+0xb607): undefined reference to `rte_eth_bond_primary_get'
test_link_bonding.c:(.text+0xb628): undefined reference to `rte_eth_bond_primary_get'
test_link_bonding.o: In function `test_balance_verify_slave_link_status_change_behaviour':
test_link_bonding.c:(.text+0xbeab): undefined reference to `rte_eth_bond_xmit_policy_set'
test_link_bonding.c:(.text+0xbec7): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0xbee4): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0xbf2a): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0xc0ac): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.o: In function `test_activebackup_verify_slave_link_status_change_failover':
test_link_bonding.c:(.text+0xc535): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding.c:(.text+0xc552): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0xc574): undefined reference to `rte_eth_bond_primary_get'
test_link_bonding.c:(.text+0xc5b3): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0xc600): undefined reference to `rte_eth_bond_active_slaves_get'
test_link_bonding.c:(.text+0xc625): undefined reference to `rte_eth_bond_primary_get'
test_link_bonding_mode4.o: In function `check_environment':
test_link_bonding_mode4.c:(.text+0x54c): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding_mode4.c:(.text+0x587): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding_mode4.c:(.text+0x692): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding_mode4.o: In function `remove_slaves_and_stop_bonded_device':
test_link_bonding_mode4.c:(.text+0x736): undefined reference to `rte_eth_bond_slaves_get'
test_link_bonding_mode4.c:(.text+0x7c3): undefined reference to `rte_eth_bond_slave_remove'
test_link_bonding_mode4.c:(.text+0x82d): undefined reference to `rte_eth_bond_slave_remove'
test_link_bonding_mode4.c:(.text+0x897): undefined reference to `rte_eth_bond_slave_remove'
test_link_bonding_mode4.c:(.text+0x8fd): undefined reference to `rte_eth_bond_slave_remove'
test_link_bonding_mode4.o: In function `initialize_bonded_device_with_slaves.constprop.6':
test_link_bonding_mode4.c:(.text+0xbfa): undefined reference to `rte_eth_bond_slave_add'
test_link_bonding_mode4.c:(.text+0xc98): undefined reference to `rte_eth_bond_8023ad_setup'
test_link_bonding_mode4.o: In function `bond_handshake':
test_link_bonding_mode4.c:(.text+0x1cb4): undefined reference to `rte_eth_bond_8023ad_conf_get'
test_link_bonding_mode4.o: In function `test_mode4_expired':
test_link_bonding_mode4.c:(.text+0x205f): undefined reference to `rte_eth_bond_8023ad_conf_get'
test_link_bonding_mode4.c:(.text+0x20a9): undefined reference to `rte_eth_bond_8023ad_setup'
test_link_bonding_mode4.o: In function `test_mode4_tx_burst':
test_link_bonding_mode4.c:(.text+0x28af): undefined reference to `rte_eth_bond_8023ad_conf_get'
test_link_bonding_mode4.o: In function `test_mode4_marker':
test_link_bonding_mode4.c:(.text+0x2eef): undefined reference to `rte_eth_bond_8023ad_conf_get'
test_link_bonding_mode4.o: In function `test_setup':
test_link_bonding_mode4.c:(.text+0x378b): undefined reference to `rte_eth_bond_mode_get'
test_link_bonding_mode4.c:(.text+0x37a1): undefined reference to `rte_eth_bond_mode_set'
test_link_bonding_mode4.c:(.text+0x37f9): undefined reference to `rte_eth_from_rings'
test_link_bonding_mode4.c:(.text+0x3827): undefined reference to `rte_eth_bond_create'
test_link_bonding_mode4.o: In function `test_mode4_rx':
test_link_bonding_mode4.c:(.text+0x441d): undefined reference to `rte_eth_bond_8023ad_conf_get'
collect2: error: ld returned 1 exit status
/home/liwei/src/dpdk/mk/rte.app.mk:195: recipe for target 'test' failed
make[3]: *** [test] Error 1
/home/liwei/src/dpdk/mk/rte.subdir.mk:61: recipe for target 'test' failed
make[2]: *** [test] Error 2
/home/liwei/src/dpdk/mk/rte.sdkbuild.mk:93: recipe for target 'app' failed
make[1]: *** [app] Error 2
/home/liwei/src/dpdk/mk/rte.sdkroot.mk:124: recipe for target 'all' failed
make: *** [all] Error 2

             reply	other threads:[~2015-06-09  6:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-09  6:31 Li Wei [this message]
2015-06-09  8:09 ` Build broken with COMBINE_LIBS=y Gonzalez Monroy, Sergio

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=5576885B.9060506@cn.fujitsu.com \
    --to=lw@cn.fujitsu.com \
    --cc=dev@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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.