* installing *source* package ‘nanoparquet’ ... ** this is package ‘nanoparquet’ version ‘0.4.0’ ** using staged installation ** libs using C++ compiler: ‘g++-14 (Debian 14.2.0-12) 14.2.0’ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c lib/ParquetReader.cpp -o lib/ParquetReader.o In file included from lib/ParquetReader.h:5, from lib/ParquetReader.cpp:6: lib/bytebuffer.h: In member function ‘virtual std::streamsize ByteBuffer::xsputn(const char*, std::streamsize)’: lib/bytebuffer.h:38:15: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘std::streamsize’ {aka ‘long int’} [-Wsign-compare] 38 | if (space < n) { | ~~~~~~^~~ lib/bytebuffer.h: In member function ‘BufferGuard BufferManager::claim()’: lib/bytebuffer.h:105:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 105 | for (auto i = 0; i < bufs.size(); i++) { | ~~^~~~~~~~~~~~~ lib/ParquetReader.cpp: In member function ‘void nanoparquet::ParquetReader::init_file_on_disk(bool)’: lib/ParquetReader.cpp:115:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 115 | for (int i = 0; i < file_meta_data_.schema.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/ParquetReader.cpp: In member function ‘void nanoparquet::ParquetReader::check_meta_data()’: lib/ParquetReader.cpp:146:46: warning: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 146 | if (file_meta_data_.schema[0].num_children != lib/ParquetReader.cpp: In function ‘void extract_snappy(uint8_t*, int32_t, ByteBuffer&, int32_t, int32_t)’: lib/ParquetReader.cpp:301:25: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int32_t’ {aka ‘int’} [-Wsign-compare] 301 | if (dec_size + skip != unc_len) break; | ~~~~~~~~~~~~~~~~^~~~~~~~~~ lib/ParquetReader.cpp: In member function ‘void nanoparquet::ParquetReader::update_data_page_size(nanoparquet::DataPage&, uint8_t*, int32_t)’: lib/ParquetReader.cpp:497:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 497 | for (auto i = 0; i < dp.prelen.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~ lib/ParquetReader.cpp: In member function ‘void nanoparquet::ParquetReader::unpack_plain_boolean(uint32_t*, uint8_t*, uint32_t)’: lib/ParquetReader.cpp:864:25: warning: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 864 | for (int32_t i = 0; i < num_values; i++) { | ~~^~~~~~~~~~~~ lib/ParquetReader.cpp: In member function ‘void nanoparquet::ParquetReader::read_chunk(int64_t, int64_t, int8_t*)’: lib/ParquetReader.cpp:956:12: warning: comparison of integer expressions of different signedness: ‘int64_t’ {aka ‘long int’} and ‘long unsigned int’ [-Wsign-compare] 956 | if (size > file_size - offset) { | ~~~~~^~~~~~~~~~~~~~~~~~~~ In file included from lib/ParquetReader.cpp:9: lib/DbpDecoder.h: In instantiation of ‘uint8_t* DbpDecoder::decode(T*) [with T = int; Tunsigned = unsigned int; uint8_t = unsigned char]’: lib/ParquetReader.cpp:491:34: required from here 491 | uint8_t *sufpos = predec.decode(dp.prelen.data()); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ lib/DbpDecoder.h:68:38: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; todo > 0 && i < mini_blocks_per_block; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~ lib/DbpDecoder.h:84:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint64_t’ {aka ‘long unsigned int’} [-Wsign-compare] 84 | for (auto i = 0; i < mb_vals; i++) { | ~~^~~~~~~~~ In file included from lib/ParquetReader.cpp:8: lib/RleBpDecoder.h: In instantiation of ‘uint32_t RleBpDecoder::GetBatchCount(T*, int) [with T = unsigned char; uint32_t = unsigned int]’: lib/ParquetReader.cpp:529:54: required from here 529 | uint32_t num_present = dec.GetBatchCount( | ~~~~~~~~~~~~~~~~~~~~~~~~~~^ 530 | (uint8_t*) def_levels.ptr, | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 531 | dp.num_values | ~~~~~~~~~~~~~ 532 | ); | ~ lib/RleBpDecoder.h:61:24: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 61 | while (values_read < batch_size) { | ~~~~~~~~~~~~^~~~~~~~~~~~ lib/RleBpDecoder.h: In instantiation of ‘int RleBpDecoder::GetBatch(T*, int) [with T = unsigned char]’: lib/ParquetReader.cpp:573:28: required from here 573 | dec.GetBatch(dp.present, dp.num_values); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/RleBpDecoder.h:30:24: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 30 | while (values_read < batch_size) { | ~~~~~~~~~~~~^~~~~~~~~~~~ lib/RleBpDecoder.h: In instantiation of ‘int RleBpDecoder::GetBatch(T*, int) [with T = unsigned int]’: lib/ParquetReader.cpp:629:27: required from here 629 | dec.GetBatch((uint32_t*) dp.data, dp.num_present); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/RleBpDecoder.h:30:24: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 30 | while (values_read < batch_size) { | ~~~~~~~~~~~~^~~~~~~~~~~~ lib/DbpDecoder.h: In instantiation of ‘uint8_t* DbpDecoder::decode(T*) [with T = long int; Tunsigned = long unsigned int; uint8_t = unsigned char]’: lib/ParquetReader.cpp:714:15: required from here 714 | dec.decode((int64_t*) dp.data); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ lib/DbpDecoder.h:68:38: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; todo > 0 && i < mini_blocks_per_block; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~ lib/DbpDecoder.h:84:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint64_t’ {aka ‘long unsigned int’} [-Wsign-compare] 84 | for (auto i = 0; i < mb_vals; i++) { | ~~^~~~~~~~~ In file included from lib/DbpDecoder.h:6: lib/decode-utils.h: In instantiation of ‘void unpack_bits(uint8_t*, uint64_t, uint8_t, T*, uint64_t) [with T = unsigned int; uint8_t = unsigned char; uint64_t = long unsigned int]’: lib/DbpDecoder.h:77:31: required from ‘uint8_t* DbpDecoder::decode(T*) [with T = int; Tunsigned = unsigned int; uint8_t = unsigned char]’ 77 | unpack_bits( | ~~~~~~~~~~~~~~~~~~~~~~^ 78 | buf->start, | ~~~~~~~~~~~ 79 | mb_len, | ~~~~~~~ 80 | bw, | ~~~ 81 | (Tunsigned*) values, | ~~~~~~~~~~~~~~~~~~~~ 82 | mb_vals | ~~~~~~~ 83 | ); | ~ lib/ParquetReader.cpp:491:34: required from here 491 | uint8_t *sufpos = predec.decode(dp.prelen.data()); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ lib/decode-utils.h:58:21: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 58 | while (num_values > output_group_size) { | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ lib/decode-utils.h: In instantiation of ‘void unpack_bits(uint8_t*, uint64_t, uint8_t, T*, uint64_t) [with T = long unsigned int; uint8_t = unsigned char; uint64_t = long unsigned int]’: lib/DbpDecoder.h:77:31: required from ‘uint8_t* DbpDecoder::decode(T*) [with T = long int; Tunsigned = long unsigned int; uint8_t = unsigned char]’ 77 | unpack_bits( | ~~~~~~~~~~~~~~~~~~~~~~^ 78 | buf->start, | ~~~~~~~~~~~ 79 | mb_len, | ~~~~~~~ 80 | bw, | ~~~ 81 | (Tunsigned*) values, | ~~~~~~~~~~~~~~~~~~~~ 82 | mb_vals | ~~~~~~~ 83 | ); | ~ lib/ParquetReader.cpp:714:15: required from here 714 | dec.decode((int64_t*) dp.data); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ lib/decode-utils.h:58:21: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 58 | while (num_values > output_group_size) { | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c RParquetReader.cpp -o RParquetReader.o In file included from lib/ParquetReader.h:5, from RParquetReader.h:5, from RParquetReader.cpp:3: lib/bytebuffer.h: In member function ‘virtual std::streamsize ByteBuffer::xsputn(const char*, std::streamsize)’: lib/bytebuffer.h:38:15: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘std::streamsize’ {aka ‘long int’} [-Wsign-compare] 38 | if (space < n) { | ~~~~~~^~~ lib/bytebuffer.h: In member function ‘BufferGuard BufferManager::claim()’: lib/bytebuffer.h:105:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 105 | for (auto i = 0; i < bufs.size(); i++) { | ~~^~~~~~~~~~~~~ RParquetReader.cpp: In function ‘uint32_t as_uint(float)’: RParquetReader.cpp:17:11: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 17 | return *(uint32_t*) &x; | ^~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘float as_float(uint32_t)’: RParquetReader.cpp:21:11: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 21 | return *(float*) &x; | ^~~~~~~~~~~ RParquetReader.cpp: In member function ‘void RParquetReader::init(RParquetFilter&)’: RParquetReader.cpp:99:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 99 | for (auto i = 0, idx = 0; i < metadata.num_cols; i++) { | ~~^~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In member function ‘void RParquetReader::create_metadata(RParquetFilter&)’: RParquetReader.cpp:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < fmt.row_groups.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:171:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | for (auto i = 0; i < filter.row_groups.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:184:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 184 | for (auto i = 0; i < filter.columns.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:193:33: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 193 | for (auto i = 1, idx = 0; i < metadata.num_cols; i++) { | ~~^~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:204:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 204 | for (auto i = 0; i < metadata.num_cols; i++) { | ~~^~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In member function ‘void RParquetReader::read_columns()’: RParquetReader.cpp:218:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 218 | for (auto i = 0; i < filter.columns.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:222:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (auto i = 1; i < metadata.num_cols; i++) { | ~~^~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_dicts(postprocess*, uint32_t)’: RParquetReader.cpp:508:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 508 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_dicts_na(postprocess*, uint32_t)’: RParquetReader.cpp:554:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 554 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_int64_dict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:745:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 745 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_int64_nodict_miss(postprocess*, uint32_t)’: RParquetReader.cpp:779:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 779 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_int64_dict_miss(postprocess*, uint32_t)’: RParquetReader.cpp:810:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 810 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_float_nodict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:896:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 896 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_float_dict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:911:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 911 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_float_nodict_miss(postprocess*, uint32_t)’: RParquetReader.cpp:949:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 949 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_float_dict_miss(postprocess*, uint32_t)’: RParquetReader.cpp:978:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 978 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_int96_dict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:1075:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1075 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_int96_nodict_miss(postprocess*, uint32_t)’: RParquetReader.cpp:1111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1111 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_int96_dict_miss(postprocess*, uint32_t)’: RParquetReader.cpp:1145:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1145 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_ba_string_nodict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:1230:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1230 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:1236:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1236 | for (auto i = 0; i < it->offsets.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_ba_string_dict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:1253:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1253 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:1261:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1261 | for (auto i = 0; i < it->offsets.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_ba_string_miss(postprocess*, uint32_t)’: RParquetReader.cpp:1302:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1302 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘double parse_decimal(uint8_t*, uint32_t)’: RParquetReader.cpp:1357:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 1357 | for (auto j = 0; j < len; j++) { | ~~^~~~~ RParquetReader.cpp:1364:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 1364 | for (auto j = 0; j < len; j++) { | ~~^~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_ba_decimal_nodict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:1375:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1375 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:1382:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1382 | for (auto i = 0; i < it->offsets.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_ba_decimal_miss(postprocess*, uint32_t)’: RParquetReader.cpp:1391:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1391 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_ba_decimal_dict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:1419:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1419 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:1428:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1428 | for (auto i = 0; i < it->offsets.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_ba_raw_nodict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:1481:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1481 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:1487:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1487 | for (auto i = 0; i < it->offsets.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_ba_raw_dict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:1499:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1499 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:1507:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1507 | for (auto i = 0; i < it->offsets.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_ba_raw_miss(postprocess*, uint32_t)’: RParquetReader.cpp:1541:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1541 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_ba_uuid_nodict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:1594:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1594 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:1600:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1600 | for (auto i = 0; i < it->offsets.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_ba_uuid_dict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:1618:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1618 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:1626:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1626 | for (auto i = 0; i < it->offsets.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_ba_float16_nodict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:1696:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1696 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:1702:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1702 | for (auto i = 0; i < it->offsets.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_ba_float16_dict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:1713:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1713 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp:1721:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1721 | for (auto i = 0; i < it->offsets.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_int32_decimal_nodict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:1783:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1783 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_int32_decimal_dict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:1800:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1800 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_column_to_r_int64_decimal_dict_nomiss(postprocess*, uint32_t)’: RParquetReader.cpp:1876:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1876 | for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In function ‘void convert_columns_to_r_(postprocess*)’: RParquetReader.cpp:1934:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1934 | for (auto cl = 0; cl < pp->metadata.num_cols_to_read; cl++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In member function ‘void RParquetReader::create_df()’: RParquetReader.cpp:2050:26: warning: comparison of integer expressions of different signedness: ‘R_xlen_t’ {aka ‘long int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 2050 | for (R_xlen_t i = 0; i < metadata.num_cols; i++) { | ~~^~~~~~~~~~~~~~~~~~~ RParquetReader.cpp: In member function ‘void RParquetReader::read_arrow_metadata()’: RParquetReader.cpp:2080:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 2080 | for (auto i = 0; i < kvm.size(); i++) { | ~~^~~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c RParquetAppender.cpp -o RParquetAppender.o In file included from lib/ParquetOutFile.h:8, from RParquetAppender.h:2, from RParquetAppender.cpp:1: lib/bytebuffer.h: In member function ‘virtual std::streamsize ByteBuffer::xsputn(const char*, std::streamsize)’: lib/bytebuffer.h:38:15: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘std::streamsize’ {aka ‘long int’} [-Wsign-compare] 38 | if (space < n) { | ~~~~~~^~~ lib/bytebuffer.h: In member function ‘BufferGuard BufferManager::claim()’: lib/bytebuffer.h:105:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 105 | for (auto i = 0; i < bufs.size(); i++) { | ~~^~~~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c RParquetOutFile.cpp -o RParquetOutFile.o In file included from lib/ParquetOutFile.h:8, from r-nanoparquet.h:7, from RParquetOutFile.cpp:4: lib/bytebuffer.h: In member function ‘virtual std::streamsize ByteBuffer::xsputn(const char*, std::streamsize)’: lib/bytebuffer.h:38:15: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘std::streamsize’ {aka ‘long int’} [-Wsign-compare] 38 | if (space < n) { | ~~~~~~^~~ lib/bytebuffer.h: In member function ‘BufferGuard BufferManager::claim()’: lib/bytebuffer.h:105:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 105 | for (auto i = 0; i < bufs.size(); i++) { | ~~^~~~~~~~~~~~~ RParquetOutFile.cpp: In member function ‘virtual void RParquetOutFile::write_int32(std::ostream&, uint32_t, uint32_t, uint32_t, uint64_t, uint64_t, parquet::SchemaElement&)’: RParquetOutFile.cpp:812:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 812 | if (until > Rf_xlength(col)) { | ~~~~~~^~~~~~~~~~~~~~~~~ RParquetOutFile.cpp: In member function ‘virtual void RParquetOutFile::write_int64(std::ostream&, uint32_t, uint32_t, uint32_t, uint64_t, uint64_t, parquet::SchemaElement&)’: RParquetOutFile.cpp:1134:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 1134 | if (until > Rf_xlength(col)) { | ~~~~~~^~~~~~~~~~~~~~~~~ RParquetOutFile.cpp: In member function ‘virtual void RParquetOutFile::write_int96(std::ostream&, uint32_t, uint32_t, uint32_t, uint64_t, uint64_t, parquet::SchemaElement&)’: RParquetOutFile.cpp:1180:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 1180 | if (until > Rf_xlength(col)) { | ~~~~~~^~~~~~~~~~~~~~~~~ RParquetOutFile.cpp: In member function ‘virtual void RParquetOutFile::write_float(std::ostream&, uint32_t, uint32_t, uint32_t, uint64_t, uint64_t, parquet::SchemaElement&)’: RParquetOutFile.cpp:1232:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 1232 | if (until > Rf_xlength(col)) { | ~~~~~~^~~~~~~~~~~~~~~~~ RParquetOutFile.cpp: In member function ‘virtual void RParquetOutFile::write_double(std::ostream&, uint32_t, uint32_t, uint32_t, uint64_t, uint64_t, parquet::SchemaElement&)’: RParquetOutFile.cpp:1277:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 1277 | if (until > Rf_xlength(col)) { | ~~~~~~^~~~~~~~~~~~~~~~~ RParquetOutFile.cpp: In member function ‘virtual void RParquetOutFile::write_byte_array(std::ostream&, uint32_t, uint32_t, uint32_t, uint64_t, uint64_t, parquet::SchemaElement&)’: RParquetOutFile.cpp:1345:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 1345 | if (until > Rf_xlength(col)) { | ~~~~~~^~~~~~~~~~~~~~~~~ RParquetOutFile.cpp: In member function ‘virtual uint32_t RParquetOutFile::get_size_byte_array(uint32_t, uint32_t, uint64_t, uint64_t)’: RParquetOutFile.cpp:1422:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 1422 | if (until > Rf_xlength(col)) { | ~~~~~~^~~~~~~~~~~~~~~~~ RParquetOutFile.cpp: In member function ‘virtual void RParquetOutFile::write_fixed_len_byte_array(std::ostream&, uint32_t, uint32_t, uint32_t, uint64_t, uint64_t, parquet::SchemaElement&)’: RParquetOutFile.cpp:1512:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 1512 | if (until > Rf_xlength(col)) { | ~~~~~~^~~~~~~~~~~~~~~~~ RParquetOutFile.cpp: In function ‘void write_boolean_impl(std::ostream&, SEXP, uint64_t, uint64_t)’: RParquetOutFile.cpp:1632:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 1632 | if (until > Rf_xlength(col)) { | ~~~~~~^~~~~~~~~~~~~~~~~ RParquetOutFile.cpp: In member function ‘virtual void RParquetOutFile::write_boolean_as_int(std::ostream&, uint32_t, uint32_t, uint32_t, uint64_t, uint64_t)’: RParquetOutFile.cpp:1687:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 1687 | if (until > Rf_xlength(col)) { | ~~~~~~^~~~~~~~~~~~~~~~~ RParquetOutFile.cpp: In member function ‘virtual uint32_t RParquetOutFile::write_present(std::ostream&, uint32_t, uint64_t, uint64_t)’: RParquetOutFile.cpp:1702:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 1702 | if (until > Rf_xlength(col)) { | ~~~~~~^~~~~~~~~~~~~~~~~ RParquetOutFile.cpp: In member function ‘virtual void RParquetOutFile::write_present_boolean_as_int(std::ostream&, uint32_t, uint32_t, uint64_t, uint64_t)’: RParquetOutFile.cpp:1782:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 1782 | if (until > Rf_xlength(col)) { | ~~~~~~^~~~~~~~~~~~~~~~~ RParquetOutFile.cpp: In member function ‘virtual void RParquetOutFile::write_present_boolean(std::ostream&, uint32_t, uint32_t, uint64_t, uint64_t)’: RParquetOutFile.cpp:1816:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 1816 | if (until > Rf_xlength(col)) { | ~~~~~~^~~~~~~~~~~~~~~~~ RParquetOutFile.cpp: In member function ‘virtual void RParquetOutFile::write_dictionary(std::ostream&, uint32_t, parquet::SchemaElement&, int64_t, int64_t)’: RParquetOutFile.cpp:2388:30: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 2388 | for (uint64_t i = 0; i < len; i++) { | ~~^~~~~ RParquetOutFile.cpp:2403:32: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 2403 | for (uint64_t i = 0; i < len; i++) { | ~~^~~~~ RParquetOutFile.cpp:2419:32: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare] 2419 | for (uint64_t i = 0; i < len; i++) { | ~~^~~~~ RParquetOutFile.cpp:2422:20: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int32_t’ {aka ‘int’} [-Wsign-compare] 2422 | if (len1 != sel.type_length) { | ~~~~~^~~~~~~~~~~~~~~~~~ RParquetOutFile.cpp: In member function ‘void RParquetOutFile::write_integer_int32(std::ostream&, SEXP, uint32_t, uint64_t, uint64_t, parquet::SchemaElement&)’: RParquetOutFile.cpp:592:21: warning: ‘max’ may be used uninitialized [-Wmaybe-uninitialized] 592 | min = is_signed ? -max-1 : 0; | ~~~~~~~~~~^~~~~~~~~~~~ RParquetOutFile.cpp:579:14: note: ‘max’ was declared here 579 | int min, max; | ^~~ RParquetOutFile.cpp: In member function ‘void RParquetOutFile::write_double_int32(std::ostream&, SEXP, uint32_t, uint64_t, uint64_t, parquet::SchemaElement&)’: RParquetOutFile.cpp:774:15: warning: ‘max’ may be used uninitialized [-Wmaybe-uninitialized] 774 | if (val > max) { | ~~~~^~~~~ RParquetOutFile.cpp:752:14: note: ‘max’ was declared here 752 | uint32_t max; | ^~~ RParquetOutFile.cpp: In member function ‘virtual void RParquetOutFile::write_dictionary(std::ostream&, uint32_t, parquet::SchemaElement&, int64_t, int64_t)’: RParquetOutFile.cpp:2276:23: warning: ‘max’ may be used uninitialized [-Wmaybe-uninitialized] 2276 | if (val > max) { | ~~~~^~~~~ RParquetOutFile.cpp:2255:22: note: ‘max’ was declared here 2255 | uint32_t max; | ^~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c r-utils.cpp -o r-utils.o In file included from lib/ParquetOutFile.h:8, from r-nanoparquet.h:7, from r-utils.cpp:4: lib/bytebuffer.h: In member function ‘virtual std::streamsize ByteBuffer::xsputn(const char*, std::streamsize)’: lib/bytebuffer.h:38:15: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘std::streamsize’ {aka ‘long int’} [-Wsign-compare] 38 | if (space < n) { | ~~~~~~^~~ lib/bytebuffer.h: In member function ‘BufferGuard BufferManager::claim()’: lib/bytebuffer.h:105:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 105 | for (auto i = 0; i < bufs.size(); i++) { | ~~^~~~~~~~~~~~~ r-utils.cpp: In function ‘uint16_t double_to_float16(double)’: r-utils.cpp:68:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 68 | uint32_t fi32 = *((uint32_t*) &f); | ~^~~~~~~~~~~~~~~ r-nanoparquet.h: At global scope: r-nanoparquet.h:18:20: warning: ‘type_names’ defined but not used [-Wunused-variable] 18 | static const char *type_names[] = { | ^~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c rwrapper.cpp -o rwrapper.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c protect.cpp -o protect.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c read2.cpp -o read2.o In file included from lib/nanoparquet.h:8, from read2.cpp:4: lib/bytebuffer.h: In member function ‘virtual std::streamsize ByteBuffer::xsputn(const char*, std::streamsize)’: lib/bytebuffer.h:38:15: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘std::streamsize’ {aka ‘long int’} [-Wsign-compare] 38 | if (space < n) { | ~~~~~~^~~ lib/bytebuffer.h: In member function ‘BufferGuard BufferManager::claim()’: lib/bytebuffer.h:105:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 105 | for (auto i = 0; i < bufs.size(); i++) { | ~~^~~~~~~~~~~~~ read2.cpp: In function ‘SEXPREC* nanoparquet_read_col_names(SEXP)’: read2.cpp:240:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 240 | for (auto i = 0; i < ncols; i++) { | ~~^~~~~~~ read2.cpp:247:33: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 247 | for (auto i = 0, idx = 0; i < ncols; i++) { | ~~^~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c write2.cpp -o write2.o In file included from write2.cpp:1: lib/memstream.h: In member function ‘virtual std::streamsize MemStream::xsputn(const char*, std::streamsize)’: lib/memstream.h:37:13: warning: comparison of integer expressions of different signedness: ‘std::streamsize’ {aka ‘long int’} and ‘uint64_t’ {aka ‘long unsigned int’} [-Wsign-compare] 37 | if (n > space) { | ~~^~~~~~~ In file included from lib/nanoparquet.h:8, from RParquetOutFile.h:2, from write2.cpp:4: lib/bytebuffer.h: In member function ‘virtual std::streamsize ByteBuffer::xsputn(const char*, std::streamsize)’: lib/bytebuffer.h:38:15: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘std::streamsize’ {aka ‘long int’} [-Wsign-compare] 38 | if (space < n) { | ~~~~~~^~~ lib/bytebuffer.h: In member function ‘BufferGuard BufferManager::claim()’: lib/bytebuffer.h:105:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 105 | for (auto i = 0; i < bufs.size(); i++) { | ~~^~~~~~~~~~~~~ In file included from write2.cpp:6: r-nanoparquet.h: At global scope: r-nanoparquet.h:18:20: warning: ‘type_names’ defined but not used [-Wunused-variable] 18 | static const char *type_names[] = { | ^~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c cpp-utils.cpp -o cpp-utils.o In file included from lib/nanoparquet.h:8, from cpp-utils.cpp:1: lib/bytebuffer.h: In member function ‘virtual std::streamsize ByteBuffer::xsputn(const char*, std::streamsize)’: lib/bytebuffer.h:38:15: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘std::streamsize’ {aka ‘long int’} [-Wsign-compare] 38 | if (space < n) { | ~~~~~~^~~ lib/bytebuffer.h: In member function ‘BufferGuard BufferManager::claim()’: lib/bytebuffer.h:105:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 105 | for (auto i = 0; i < bufs.size(); i++) { | ~~^~~~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c read-metadata.cpp -o read-metadata.o In file included from lib/nanoparquet.h:8, from read-metadata.cpp:1: lib/bytebuffer.h: In member function ‘virtual std::streamsize ByteBuffer::xsputn(const char*, std::streamsize)’: lib/bytebuffer.h:38:15: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘std::streamsize’ {aka ‘long int’} [-Wsign-compare] 38 | if (space < n) { | ~~~~~~^~~ lib/bytebuffer.h: In member function ‘BufferGuard BufferManager::claim()’: lib/bytebuffer.h:105:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 105 | for (auto i = 0; i < bufs.size(); i++) { | ~~^~~~~~~~~~~~~ read-metadata.cpp: In function ‘SEXPREC* convert_key_value_metadata(const parquet::FileMetaData&)’: read-metadata.cpp:133:28: warning: comparison of integer expressions of different signedness: ‘R_xlen_t’ {aka ‘long int’} and ‘long unsigned int’ [-Wsign-compare] 133 | for (R_xlen_t i = 0; i < kvsize; i++) { | ~~^~~~~~~~ read-metadata.cpp: In function ‘SEXPREC* convert_row_groups(const char*, std::vector&)’: read-metadata.cpp:247:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 247 | for (auto i = 0; i < nrgs; i++) { | ~~^~~~~~ read-metadata.cpp: In function ‘SEXPREC* convert_column_chunks(const char*, std::vector&)’: read-metadata.cpp:302:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 302 | for (auto i = 0; i < rgs.size(); i++) { | ~~^~~~~~~~~~~~ read-metadata.cpp:335:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 335 | for (int i = 0; i < rgs.size(); i++) { | ~~^~~~~~~~~~~~ read-metadata.cpp:336:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 336 | for (int j = 0; j < rgs[i].columns.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~ read-metadata.cpp:355:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 355 | for (auto k = 0; k < cmd.encodings.size(); k++) { | ~~^~~~~~~~~~~~~~~~~~~~~~ read-metadata.cpp:359:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 359 | for (auto k = 0; k < cmd.path_in_schema.size(); k++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c read-pages.cpp -o read-pages.o In file included from lib/nanoparquet.h:8, from read-pages.cpp:1: lib/bytebuffer.h: In member function ‘virtual std::streamsize ByteBuffer::xsputn(const char*, std::streamsize)’: lib/bytebuffer.h:38:15: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘std::streamsize’ {aka ‘long int’} [-Wsign-compare] 38 | if (space < n) { | ~~~~~~^~~ lib/bytebuffer.h: In member function ‘BufferGuard BufferManager::claim()’: lib/bytebuffer.h:105:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 105 | for (auto i = 0; i < bufs.size(); i++) { | ~~^~~~~~~~~~~~~ read-pages.cpp: In function ‘SEXPREC* nanoparquet_read_pages(SEXP)’: read-pages.cpp:27:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 27 | for (auto i = 0; i < rgs.size(); i++) { | ~~^~~~~~~~~~~~ read-pages.cpp:28:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 28 | for (auto j = 0; j < rgs[i].columns.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~ read-pages.cpp:101:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 101 | for (auto i = 0; i < rgs.size(); i++) { | ~~^~~~~~~~~~~~ read-pages.cpp:102:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 102 | for (auto j = 0; j < rgs[i].columns.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~ read-pages.cpp: In function ‘PageData find_page(nanoparquet::ParquetReader&, int64_t)’: read-pages.cpp:213:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 213 | for (auto i = 0; i < rgs.size(); i++) { | ~~^~~~~~~~~~~~ read-pages.cpp:214:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 214 | for (auto j = 0; j < rgs[i].columns.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~ read-pages.cpp: In function ‘SEXPREC* nanoparquet_read_page(SEXP, SEXP)’: read-pages.cpp:306:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 306 | for (int i = 0; i < schema.size(); i++) { | ~~^~~~~~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c arrow-schema.cpp -o arrow-schema.o In file included from arrow-schema.cpp:7: lib/bytebuffer.h: In member function ‘virtual std::streamsize ByteBuffer::xsputn(const char*, std::streamsize)’: lib/bytebuffer.h:38:15: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘std::streamsize’ {aka ‘long int’} [-Wsign-compare] 38 | if (space < n) { | ~~~~~~^~~ lib/bytebuffer.h: In member function ‘BufferGuard BufferManager::claim()’: lib/bytebuffer.h:105:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 105 | for (auto i = 0; i < bufs.size(); i++) { | ~~^~~~~~~~~~~~~ arrow-schema.cpp: In function ‘SEXPREC* nanoparquet_parse_arrow_schema_impl(uint8_t*, uint32_t)’: arrow-schema.cpp:80:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 80 | for (auto i = 0; i < sch->fields.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ arrow-schema.cpp:187:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 187 | for (auto j = 0; j < ft->typeIds.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ arrow-schema.cpp:262:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 262 | for (auto j = 0; j < kvlen; j++) { | ~~^~~~~~~ arrow-schema.cpp:280:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 280 | for (auto i = 0; i < sch->custom_metadata.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arrow-schema.cpp:294:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 294 | for (auto i = 0; i < sch->features.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~ arrow-schema.cpp: In function ‘SEXPREC* nanoparquet_encode_arrow_schema(SEXP)’: arrow-schema.cpp:379:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 379 | for (auto i = 0; i < nfields; i++) { | ~~^~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c base64.cpp -o base64.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c r-base64.cpp -o r-base64.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c snappy.cpp -o snappy.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c encodings.cpp -o encodings.o In file included from lib/nanoparquet.h:8, from lib/RleBpDecoder.h:5, from encodings.cpp:1: lib/bytebuffer.h: In member function ‘virtual std::streamsize ByteBuffer::xsputn(const char*, std::streamsize)’: lib/bytebuffer.h:38:15: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘std::streamsize’ {aka ‘long int’} [-Wsign-compare] 38 | if (space < n) { | ~~~~~~^~~ lib/bytebuffer.h: In member function ‘BufferGuard BufferManager::claim()’: lib/bytebuffer.h:105:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 105 | for (auto i = 0; i < bufs.size(); i++) { | ~~^~~~~~~~~~~~~ lib/RleBpDecoder.h: In instantiation of ‘int RleBpDecoder::GetBatch(T*, int) [with T = unsigned int]’: encodings.cpp:32:19: required from here 32 | decoder.GetBatch((uint32_t *)INTEGER(res), num_values); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/RleBpDecoder.h:30:24: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 30 | while (values_read < batch_size) { | ~~~~~~~~~~~~^~~~~~~~~~~~ In file included from encodings.cpp:2: lib/RleBpEncoder.h: In instantiation of ‘uint32_t RleBpEncode(const T*, uint32_t, uint8_t, uint8_t*, uint32_t) [with T = int; uint32_t = unsigned int; uint8_t = unsigned char]’: encodings.cpp:50:26: required from here 50 | size_t rs = RleBpEncode(input, input_len, bw, output, os); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/RleBpEncoder.h:63:16: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 63 | if (reps >= min_reps) { | ~~~~~^~~~~~~~~~~ In file included from encodings.cpp:3: lib/DbpDecoder.h: In instantiation of ‘uint8_t* DbpDecoder::decode(T*) [with T = int; Tunsigned = unsigned int; uint8_t = unsigned char]’: encodings.cpp:72:13: required from here 72 | dbp.decode(INTEGER(res)); | ~~~~~~~~~~^~~~~~~~~~~~~~ lib/DbpDecoder.h:68:38: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; todo > 0 && i < mini_blocks_per_block; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~ lib/DbpDecoder.h:84:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint64_t’ {aka ‘long unsigned int’} [-Wsign-compare] 84 | for (auto i = 0; i < mb_vals; i++) { | ~~^~~~~~~~~ lib/DbpDecoder.h: In instantiation of ‘uint8_t* DbpDecoder::decode(T*) [with T = long int; Tunsigned = long unsigned int; uint8_t = unsigned char]’: encodings.cpp:90:13: required from here 90 | dbp.decode((int64_t*) REAL(res)); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ lib/DbpDecoder.h:68:38: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; todo > 0 && i < mini_blocks_per_block; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~ lib/DbpDecoder.h:84:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint64_t’ {aka ‘long unsigned int’} [-Wsign-compare] 84 | for (auto i = 0; i < mb_vals; i++) { | ~~^~~~~~~~~ In file included from lib/DbpDecoder.h:6: lib/decode-utils.h: In instantiation of ‘void unpack_bits(uint8_t*, uint64_t, uint8_t, T*, uint64_t) [with T = unsigned int; uint8_t = unsigned char; uint64_t = long unsigned int]’: encodings.cpp:108:24: required from here 108 | unpack_bits( | ~~~~~~~~~~~~~~~~~~~~~^ 109 | RAW(x), | ~~~~~~~ 110 | Rf_xlength(x), | ~~~~~~~~~~~~~~ 111 | INTEGER(bit_width)[0], | ~~~~~~~~~~~~~~~~~~~~~~ 112 | (uint32_t*) INTEGER(res), | ~~~~~~~~~~~~~~~~~~~~~~~~~ 113 | cn | ~~ 114 | ); | ~ lib/decode-utils.h:58:21: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 58 | while (num_values > output_group_size) { | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ lib/decode-utils.h: In instantiation of ‘void unpack_bits(uint8_t*, uint64_t, uint8_t, T*, uint64_t) [with T = long unsigned int; uint8_t = unsigned char; uint64_t = long unsigned int]’: lib/DbpDecoder.h:77:31: required from ‘uint8_t* DbpDecoder::decode(T*) [with T = long int; Tunsigned = long unsigned int; uint8_t = unsigned char]’ 77 | unpack_bits( | ~~~~~~~~~~~~~~~~~~~~~~^ 78 | buf->start, | ~~~~~~~~~~~ 79 | mb_len, | ~~~~~~~ 80 | bw, | ~~~ 81 | (Tunsigned*) values, | ~~~~~~~~~~~~~~~~~~~~ 82 | mb_vals | ~~~~~~~ 83 | ); | ~ encodings.cpp:90:13: required from here 90 | dbp.decode((int64_t*) REAL(res)); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ lib/decode-utils.h:58:21: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 58 | while (num_values > output_group_size) { | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c dictionary-encoding.cpp -o dictionary-encoding.o dictionary-encoding.cpp: In function ‘SEXPREC* nanoparquet_avg_run_length(SEXP, SEXP)’: dictionary-encoding.cpp:334:11: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 334 | if (len == -1) { | ~~~~^~~~~ dictionary-encoding.cpp:344:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 344 | for (auto i = 0; i < len; i++, xx++) { | ~~^~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c test.cpp -o test.o In file included from test.cpp:2: lib/memstream.h: In member function ‘virtual std::streamsize MemStream::xsputn(const char*, std::streamsize)’: lib/memstream.h:37:13: warning: comparison of integer expressions of different signedness: ‘std::streamsize’ {aka ‘long int’} and ‘uint64_t’ {aka ‘long unsigned int’} [-Wsign-compare] 37 | if (n > space) { | ~~^~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c lib/ParquetOutFile.cpp -o lib/ParquetOutFile.o In file included from lib/nanoparquet.h:8, from lib/ParquetOutFile.cpp:12: lib/bytebuffer.h: In member function ‘virtual std::streamsize ByteBuffer::xsputn(const char*, std::streamsize)’: lib/bytebuffer.h:38:15: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘std::streamsize’ {aka ‘long int’} [-Wsign-compare] 38 | if (space < n) { | ~~~~~~^~~ lib/bytebuffer.h: In member function ‘BufferGuard BufferManager::claim()’: lib/bytebuffer.h:105:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 105 | for (auto i = 0; i < bufs.size(); i++) { | ~~^~~~~~~~~~~~~ lib/ParquetOutFile.cpp: In member function ‘void nanoparquet::ParquetOutFile::append()’: lib/ParquetOutFile.cpp:546:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 546 | for (int idx = 0; idx < row_group_starts.size(); idx++) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ lib/ParquetOutFile.cpp:552:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 552 | int64_t until = idx < row_group_starts.size() - 1 ? row_group_starts[idx + 1] : num_rows; | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/ParquetOutFile.cpp: In member function ‘void nanoparquet::ParquetOutFile::write_data_pages(uint32_t, uint32_t, int64_t, int64_t)’: lib/ParquetOutFile.cpp:718:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 718 | for (auto i = 0; i < num_pages; i++) { | ~~^~~~~~~~~~~ lib/ParquetOutFile.cpp:721:20: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘int64_t’ {aka ‘long int’} [-Wsign-compare] 721 | if (page_until > until) { | ~~~~~~~~~~~^~~~~~~ In file included from lib/ParquetOutFile.cpp:13: lib/RleBpEncoder.h: In instantiation of ‘uint32_t RleBpEncode(const T*, uint32_t, uint8_t, uint8_t*, uint32_t) [with T = int; uint32_t = unsigned int; uint8_t = unsigned char]’: lib/ParquetOutFile.cpp:519:32: required from here 519 | size_t tgt_size = RleBpEncode( | ~~~~~~~~~~~^ 520 | (int*) src.ptr, | ~~~~~~~~~~~~~~~ 521 | src_size, | ~~~~~~~~~ 522 | bit_width, | ~~~~~~~~~~ 523 | (uint8_t *) tgt.ptr + skip + (add_bit_width ? 1 : 0) + (add_size ? 4 : 0), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 524 | tgt_size_est | ~~~~~~~~~~~~ 525 | ); | ~ lib/RleBpEncoder.h:63:16: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 63 | if (reps >= min_reps) { | ~~~~~^~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c lib/RleBpDecoder.cpp -o lib/RleBpDecoder.o In file included from lib/nanoparquet.h:8, from lib/RleBpDecoder.h:5, from lib/RleBpDecoder.cpp:1: lib/bytebuffer.h: In member function ‘virtual std::streamsize ByteBuffer::xsputn(const char*, std::streamsize)’: lib/bytebuffer.h:38:15: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘std::streamsize’ {aka ‘long int’} [-Wsign-compare] 38 | if (space < n) { | ~~~~~~^~~ lib/bytebuffer.h: In member function ‘BufferGuard BufferManager::claim()’: lib/bytebuffer.h:105:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 105 | for (auto i = 0; i < bufs.size(); i++) { | ~~^~~~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c parquet/parquet_types.cpp -o parquet/parquet_types.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c thrift/protocol/TProtocol.cpp -o thrift/protocol/TProtocol.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c thrift/transport/TTransportException.cpp -o thrift/transport/TTransportException.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c thrift/transport/TBufferTransports.cpp -o thrift/transport/TBufferTransports.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c fastpforlib/bitpacking.cpp -o fastpforlib/bitpacking.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c snappy/snappy.cc -o snappy/snappy.o snappy/snappy.cc: In member function ‘void snappy::SnappySinkAllocator::Flush(size_t)’: snappy/snappy.cc:1599:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1599 | for (int i = 0; i < blocks_.size(); ++i) { | ~~^~~~~~~~~~~~~~~~ In file included from snappy/snappy-internal.h:34, from snappy/snappy.cc:30: snappy/snappy.cc: In instantiation of ‘bool snappy::SnappyScatteredWriter::AppendFromSelf(size_t, size_t) [with Allocator = snappy::SnappySinkAllocator; size_t = long unsigned int]’: snappy/snappy.cc:902:36: required from ‘void snappy::SnappyDecompressor::DecompressAllTags(Writer*) [with Writer = snappy::SnappyScatteredWriter]’ 902 | if (!writer->AppendFromSelf(copy_offset + trailer, length)) { | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ snappy/snappy.cc:991:34: required from ‘bool snappy::InternalUncompressAllTags(SnappyDecompressor*, Writer*, uint32, uint32) [with Writer = SnappyScatteredWriter; uint32 = unsigned int]’ 991 | decompressor->DecompressAllTags(writer); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ snappy/snappy.cc:1657:37: required from here 1657 | return InternalUncompressAllTags(&decompressor, &writer, compressed_len, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1658 | uncompressed_len); | ~~~~~~~~~~~~~~~~~ snappy/snappy.cc:1511:41: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘long int’ [-Wsign-compare] 1511 | if (SNAPPY_PREDICT_TRUE(offset - 1u < op_ptr_ - op_base_ && | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ snappy/snappy-stubs-internal.h:104:32: note: in definition of macro ‘SNAPPY_PREDICT_TRUE’ 104 | #define SNAPPY_PREDICT_TRUE(x) x | ^ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c snappy/snappy-sinksource.cc -o snappy/snappy-sinksource.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c miniz/miniz.cpp -o miniz/miniz.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/common/entropy_common.cpp -o zstd/common/entropy_common.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/common/error_private.cpp -o zstd/common/error_private.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/common/fse_decompress.cpp -o zstd/common/fse_decompress.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/common/xxhash.cpp -o zstd/common/xxhash.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/common/zstd_common.cpp -o zstd/common/zstd_common.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/decompress/huf_decompress.cpp -o zstd/decompress/huf_decompress.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/decompress/zstd_ddict.cpp -o zstd/decompress/zstd_ddict.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/decompress/zstd_decompress.cpp -o zstd/decompress/zstd_decompress.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/decompress/zstd_decompress_block.cpp -o zstd/decompress/zstd_decompress_block.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/compress/fse_compress.cpp -o zstd/compress/fse_compress.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/compress/hist.cpp -o zstd/compress/hist.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/compress/huf_compress.cpp -o zstd/compress/huf_compress.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/compress/zstd_compress.cpp -o zstd/compress/zstd_compress.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/compress/zstd_compress_literals.cpp -o zstd/compress/zstd_compress_literals.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/compress/zstd_compress_sequences.cpp -o zstd/compress/zstd_compress_sequences.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/compress/zstd_compress_superblock.cpp -o zstd/compress/zstd_compress_superblock.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/compress/zstd_double_fast.cpp -o zstd/compress/zstd_double_fast.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/compress/zstd_fast.cpp -o zstd/compress/zstd_fast.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/compress/zstd_lazy.cpp -o zstd/compress/zstd_lazy.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/compress/zstd_ldm.cpp -o zstd/compress/zstd_ldm.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R/include" -DNDEBUG -Ithrift -I. -Izstd/include -I/usr/local/include -DUSE_TYPE_CHECKING_STRICT -D_FORTIFY_SOURCE=3 -DR_NO_REMAP -fpic -g -O2 -Wall -pedantic -mtune=native -DR_NO_REMAP -c zstd/compress/zstd_opt.cpp -o zstd/compress/zstd_opt.o g++-14 -std=gnu++17 -shared -L/home/hornik/tmp/R/lib -Wl,-O1 -o nanoparquet.so lib/ParquetReader.o RParquetReader.o RParquetAppender.o RParquetOutFile.o r-utils.o rwrapper.o protect.o read2.o write2.o cpp-utils.o read-metadata.o read-pages.o arrow-schema.o base64.o r-base64.o snappy.o encodings.o dictionary-encoding.o test.o lib/ParquetOutFile.o lib/RleBpDecoder.o parquet/parquet_types.o thrift/protocol/TProtocol.o thrift/transport/TTransportException.o thrift/transport/TBufferTransports.o fastpforlib/bitpacking.o snappy/snappy.o snappy/snappy-sinksource.o miniz/miniz.o zstd/common/entropy_common.o zstd/common/error_private.o zstd/common/fse_decompress.o zstd/common/xxhash.o zstd/common/zstd_common.o zstd/decompress/huf_decompress.o zstd/decompress/zstd_ddict.o zstd/decompress/zstd_decompress.o zstd/decompress/zstd_decompress_block.o zstd/compress/fse_compress.o zstd/compress/hist.o zstd/compress/huf_compress.o zstd/compress/zstd_compress.o zstd/compress/zstd_compress_literals.o zstd/compress/zstd_compress_sequences.o zstd/compress/zstd_compress_superblock.o zstd/compress/zstd_double_fast.o zstd/compress/zstd_fast.o zstd/compress/zstd_lazy.o zstd/compress/zstd_ldm.o zstd/compress/zstd_opt.o -L/home/hornik/tmp/R/lib -lR installing via 'install.libs.R' to /home/hornik/tmp/CRAN_recheck/nanoparquet.Rcheck/00LOCK-nanoparquet/00new/nanoparquet ** R ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices ** building package indices ** testing if installed package can be loaded from temporary location ** checking absolute paths in shared objects and dynamic libraries ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (nanoparquet)