Re: Compiling for FreeBSD, Clang refuses to compile a test
On 8-12-2015 01:29, Willem Jan Withagen wrote: On 7-12-2015 23:19, Michal Jarzabek wrote: Hi Willem, If you look at line 411 and 412 you will have variables k and m defined. They are not changed anywhere(I think), so the sizes must be big enough. As Xinze mentioned just add const in front of it: const int k = 12 const int m = 4 and it should fix the compile error. buffer::ptr enc[k + m] works with gcc, because of the compiler extension, but it's not standard c++(https://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html) I will submit patch to change it. That is exactly what I have done to get things compiling. Have not yet gotten to the state that everything builds to start testing. Testing has started Not everything goes well, but it is getting there. Had to disable ebd testing as that still does not get build. But I think I saw a patch passing by that it only got build for Linux. And the tests below tooks to run for atleast 7 hours on a CPU: AMD Phenom(tm) II X6 1075T Processor (3013.83-MHz K8-class CPU) So what I gather from that is that that is too long. Some tests (like: unittest_erasure_code_shec_thread) got killed because they ran out of swap, others (unittest_on_exit) got a signal 6... But then again that could be because the gtest ASSERT_DEATH stuff is not suppoorted under FreeBSD (as by words of Google) --WjW PASS: unittest_erasure_code_plugin PASS: unittest_erasure_code PASS: unittest_erasure_code_jerasure PASS: unittest_erasure_code_plugin_jerasure PASS: unittest_erasure_code_isa PASS: unittest_erasure_code_plugin_isa PASS: unittest_erasure_code_lrc PASS: unittest_erasure_code_plugin_lrc PASS: unittest_erasure_code_shec PASS: unittest_erasure_code_shec_all PASS: unittest_erasure_code_shec_thread Killed FAIL: unittest_erasure_code_shec_arguments PASS: unittest_erasure_code_plugin_shec PASS: unittest_erasure_code_example PASS: unittest_librados PASS: unittest_librados_config PASS: unittest_journal PASS: unittest_rbd_replay PASS: unittest_encoding PASS: unittest_base64 PASS: unittest_run_cmd PASS: unittest_simple_spin PASS: unittest_libcephfs_config PASS: unittest_mon_moncap PASS: unittest_mon_pgmap PASS: unittest_ecbackend PASS: unittest_osdscrub PASS: unittest_pglog PASS: unittest_hitset PASS: unittest_osd_osdcap PASS: unittest_pageset PASS: unittest_chain_xattr PASS: unittest_lfnindex PASS: unittest_mds_authcap PASS: unittest_addrs PASS: unittest_bloom_filter PASS: unittest_histogram PASS: unittest_prioritized_queue PASS: unittest_str_map PASS: unittest_sharedptr_registry PASS: unittest_shared_cache PASS: unittest_sloppy_crc_map PASS: unittest_util PASS: unittest_crush_wrapper PASS: unittest_crush PASS: unittest_osdmap PASS: unittest_workqueue PASS: unittest_striper PASS: unittest_prebufferedstreambuf PASS: unittest_str_list PASS: unittest_log PASS: unittest_throttle PASS: unittest_ceph_argparse PASS: unittest_ceph_compatset PASS: unittest_mds_types PASS: unittest_osd_types PASS: unittest_lru PASS: unittest_io_priority PASS: unittest_gather PASS: unittest_signals PASS: unittest_bufferlist PASS: unittest_xlist PASS: unittest_crc32c PASS: unittest_arch PASS: unittest_crypto PASS: unittest_crypto_init PASS: unittest_perf_counters PASS: unittest_admin_socket PASS: unittest_ceph_crypto PASS: unittest_utf8 PASS: unittest_mime PASS: unittest_escape PASS: unittest_strtol PASS: unittest_confutils PASS: unittest_config PASS: unittest_context PASS: unittest_safe_io PASS: unittest_heartbeatmap PASS: unittest_formatter PASS: unittest_daemon_config PASS: unittest_ipaddr PASS: unittest_texttable Abort trap (core dumped) FAIL: unittest_on_exit PASS: unittest_readahead PASS: unittest_tableformatter PASS: unittest_bit_vector FAIL: ceph-detect-init/run-tox.sh FAIL: test/erasure-code/test-erasure-code.sh FAIL: test/erasure-code/test-erasure-eio.sh -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Compiling for FreeBSD, Clang refuses to compile a test
On 7-12-2015 23:19, Michal Jarzabek wrote: Hi Willem, If you look at line 411 and 412 you will have variables k and m defined. They are not changed anywhere(I think), so the sizes must be big enough. As Xinze mentioned just add const in front of it: const int k = 12 const int m = 4 and it should fix the compile error. buffer::ptr enc[k + m] works with gcc, because of the compiler extension, but it's not standard c++(https://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html) I will submit patch to change it. That is exactly what I have done to get things compiling. Have not yet gotten to the state that everything builds to start testing. --WjW -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Compiling for FreeBSD, Clang refuses to compile a test
Hi Willem, If you look at line 411 and 412 you will have variables k and m defined. They are not changed anywhere(I think), so the sizes must be big enough. As Xinze mentioned just add const in front of it: const int k = 12 const int m = 4 and it should fix the compile error. buffer::ptr enc[k + m] works with gcc, because of the compiler extension, but it's not standard c++(https://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html) I will submit patch to change it. Thanks, Michal On Mon, Dec 7, 2015 at 9:44 PM, Willem Jan Withagen wrote: > On 5-12-2015 14:02, Xinze Chi (信泽) wrote: >> >> I think "const int k = 12; const int m = 4" would pass the compile? > > > > Are these sizes big enough?? > > --WjW > >> 2015-12-05 20:56 GMT+08:00 Willem Jan Withagen : >>> >>> src/test/erasure-code/TestErasureCodeIsa.cc >>> >>> contains snippets, function definition like: >>> >>> buffer::ptr enc[k + m]; >>>// create buffers with a copy of the original data to be able to >>> compare >>> it after decoding >>>{ >>> for (int i = 0; i < (k + m); i++) { >>> >>> Clang refuses because the [k+m] size in not known at compiletime. >>> Suggesting to tempate this. >>> >>> How would one normally handle this? >>> >>> I've temporarily made it fixed size 1024*1024. >>> But I'm not sure if that is big enough > > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Compiling for FreeBSD, Clang refuses to compile a test
On 5-12-2015 14:02, Xinze Chi (信泽) wrote: I think "const int k = 12; const int m = 4" would pass the compile? Are these sizes big enough?? --WjW 2015-12-05 20:56 GMT+08:00 Willem Jan Withagen : src/test/erasure-code/TestErasureCodeIsa.cc contains snippets, function definition like: buffer::ptr enc[k + m]; // create buffers with a copy of the original data to be able to compare it after decoding { for (int i = 0; i < (k + m); i++) { Clang refuses because the [k+m] size in not known at compiletime. Suggesting to tempate this. How would one normally handle this? I've temporarily made it fixed size 1024*1024. But I'm not sure if that is big enough -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Compiling for FreeBSD, Clang refuses to compile a test
I think "const int k = 12; const int m = 4" would pass the compile? 2015-12-05 20:56 GMT+08:00 Willem Jan Withagen : > src/test/erasure-code/TestErasureCodeIsa.cc > > contains snippets, function definition like: > > buffer::ptr enc[k + m]; > // create buffers with a copy of the original data to be able to compare > it after decoding > { > for (int i = 0; i < (k + m); i++) { > > Clang refuses because the [k+m] size in not known at compiletime. > Suggesting to tempate this. > > How would one normally handle this? > > I've temporarily made it fixed size 1024*1024. > But I'm not sure if that is big enough > > --WjW > > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Regards, Xinze Chi -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Compiling for FreeBSD, Clang refuses to compile a test
src/test/erasure-code/TestErasureCodeIsa.cc contains snippets, function definition like: buffer::ptr enc[k + m]; // create buffers with a copy of the original data to be able to compare it after decoding { for (int i = 0; i < (k + m); i++) { Clang refuses because the [k+m] size in not known at compiletime. Suggesting to tempate this. How would one normally handle this? I've temporarily made it fixed size 1024*1024. But I'm not sure if that is big enough --WjW -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html