Project

General

Profile

Bug #6352

Build from source failed

Added by Haomai Wang over 10 years ago. Updated over 10 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
common
Target version:
-
% Done:

0%

Source:
Community (dev)
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

When pull from master branch and make failed:


  CXXLD  ceph-dencoder
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<rados::cls::lock::locker_id_t>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `rados::cls::lock::locker_id_t::generate_test_instances(std::list<rados::cls::lock::locker_id_t*, std::allocator<rados::cls::lock::locker_id_t*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<rados::cls::lock::locker_id_t>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `rados::cls::lock::locker_id_t::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<rados::cls::lock::locker_info_t>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `rados::cls::lock::locker_info_t::generate_test_instances(std::list<rados::cls::lock::locker_info_t*, std::allocator<rados::cls::lock::locker_info_t*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<rados::cls::lock::locker_info_t>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `rados::cls::lock::locker_info_t::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_lock_lock_op>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_lock_lock_op::generate_test_instances(std::list<cls_lock_lock_op*, std::allocator<cls_lock_lock_op*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_lock_lock_op>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_lock_lock_op::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_lock_unlock_op>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_lock_unlock_op::generate_test_instances(std::list<cls_lock_unlock_op*, std::allocator<cls_lock_unlock_op*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_lock_unlock_op>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_lock_unlock_op::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_lock_break_op>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_lock_break_op::generate_test_instances(std::list<cls_lock_break_op*, std::allocator<cls_lock_break_op*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_lock_break_op>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_lock_break_op::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_lock_get_info_op>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_lock_get_info_op::generate_test_instances(std::list<cls_lock_get_info_op*, std::allocator<cls_lock_get_info_op*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_lock_get_info_op>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_lock_get_info_op::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_lock_get_info_reply>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_lock_get_info_reply::generate_test_instances(std::list<cls_lock_get_info_reply*, std::allocator<cls_lock_get_info_reply*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_lock_get_info_reply>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_lock_get_info_reply::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_lock_list_locks_reply>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_lock_list_locks_reply::generate_test_instances(std::list<cls_lock_list_locks_reply*, std::allocator<cls_lock_list_locks_reply*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_lock_list_locks_reply>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_lock_list_locks_reply::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_replica_log_item_marker>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_replica_log_item_marker::generate_test_instances(std::list<cls_replica_log_item_marker*, std::allocator<cls_replica_log_item_marker*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_replica_log_item_marker>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_replica_log_item_marker::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_replica_log_progress_marker>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_replica_log_progress_marker::generate_test_instances(std::list<cls_replica_log_progress_marker*, std::allocator<cls_replica_log_progress_marker*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_replica_log_progress_marker>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_replica_log_progress_marker::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_replica_log_bound>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_replica_log_bound::generate_test_instances(std::list<cls_replica_log_bound*, std::allocator<cls_replica_log_bound*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_replica_log_bound>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_replica_log_bound::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_replica_log_delete_marker_op>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_replica_log_delete_marker_op::generate_test_instances(std::list<cls_replica_log_delete_marker_op*, std::allocator<cls_replica_log_delete_marker_op*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_replica_log_delete_marker_op>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_replica_log_delete_marker_op::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_replica_log_set_marker_op>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_replica_log_set_marker_op::generate_test_instances(std::list<cls_replica_log_set_marker_op*, std::allocator<cls_replica_log_set_marker_op*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_replica_log_set_marker_op>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_replica_log_set_marker_op::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_replica_log_get_bounds_op>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_replica_log_get_bounds_op::generate_test_instances(std::list<cls_replica_log_get_bounds_op*, std::allocator<cls_replica_log_get_bounds_op*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_replica_log_get_bounds_op>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_replica_log_get_bounds_op::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_replica_log_get_bounds_ret>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_replica_log_get_bounds_ret::generate_test_instances(std::list<cls_replica_log_get_bounds_ret*, std::allocator<cls_replica_log_get_bounds_ret*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_replica_log_get_bounds_ret>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_replica_log_get_bounds_ret::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_refcount_get_op>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_refcount_get_op::generate_test_instances(std::list<cls_refcount_get_op*, std::allocator<cls_refcount_get_op*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_refcount_get_op>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_refcount_get_op::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_refcount_put_op>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_refcount_put_op::generate_test_instances(std::list<cls_refcount_put_op*, std::allocator<cls_refcount_put_op*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_refcount_put_op>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_refcount_put_op::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_refcount_read_op>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_refcount_read_op::generate_test_instances(std::list<cls_refcount_read_op*, std::allocator<cls_refcount_read_op*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_refcount_read_op>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_refcount_read_op::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_refcount_read_ret>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_refcount_read_ret::generate_test_instances(std::list<cls_refcount_read_ret*, std::allocator<cls_refcount_read_ret*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_refcount_read_ret>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_refcount_read_ret::dump(ceph::Formatter*) const'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_refcount_set_op>::generate()':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:87: undefined reference to `cls_refcount_set_op::generate_test_instances(std::list<cls_refcount_set_op*, std::allocator<cls_refcount_set_op*> >&)'
test/encoding/ceph_dencoder-ceph_dencoder.o: In function `DencoderBase<cls_refcount_set_op>::dump(ceph::Formatter*)':
/home/ceph/ceph/src/test/encoding/ceph_dencoder.cc:83: undefined reference to `cls_refcount_set_op::dump(ceph::Formatter*) const'

Comments src/test/encoding/ceph_dencoder.cc:83 and 87 will result in success.

Associated revisions

Revision 0681971e (diff)
Added by Sage Weil over 10 years ago

Makefile: add extra cls DENCODER_DEPS in the cls makefile, not rgw

They belong next to the class. Also, if rgw isn't built, ceph-dencoder
will fail to link.

Fixes: #6352
Tested-by: Haomai Wang <>
Signed-off-by: Sage Weil <>

History

#1 Updated by Sage Weil over 10 years ago

can you try 'make distclean'? and/or a clean checkout? my guess is that automake isn't smart enough to handle the makefile restructuring.

#2 Updated by Haomai Wang over 10 years ago

make clean
./autogen.sh
./configure
make

problem still exists

#3 Updated by Sage Weil over 10 years ago

  • Status changed from New to Resolved

Also available in: Atom PDF