* installing to library ‘/home/hornik/tmp/R.check/r-release-gcc/Work/build/Packages’
* installing *source* package ‘nanoparquet’ ...
** package ‘nanoparquet’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: ‘g++-14 (Debian 14.2.0-16) 14.2.0’
make[1]: Entering directory '/home/hornik/tmp/scratch/Rtmp1CeK0f/R.INSTALL37ddd4292a7a12/nanoparquet/src'
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<ByteBuffer>::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<parquet::SchemaElement>::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<parquet::SchemaElement>::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<int>::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:958:12: warning: comparison of integer expressions of different signedness: ‘int64_t’ {aka ‘long int’} and ‘long unsigned int’ [-Wsign-compare]
  958 |   if (size > file_size - offset) {
      |       ~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from lib/ParquetReader.cpp:9:
lib/DbpDecoder.h: In instantiation of ‘uint8_t* DbpDecoder<T, Tunsigned>::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<uint8_t>(
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~^
  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<uint8_t>(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>((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<T, Tunsigned>::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<T, Tunsigned>::decode(T*) [with T = int; Tunsigned = unsigned int; uint8_t = unsigned char]’
   77 |         unpack_bits<Tunsigned>(
      |         ~~~~~~~~~~~~~~~~~~~~~~^
   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<T, Tunsigned>::decode(T*) [with T = long int; Tunsigned = long unsigned int; uint8_t = unsigned char]’
   77 |         unpack_bits<Tunsigned>(
      |         ~~~~~~~~~~~~~~~~~~~~~~^
   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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<ByteBuffer>::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:100:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  100 |   for (auto i = 0, idx = 0; i < metadata.num_cols; i++) {
      |                             ~~^~~~~~~~~~~~~~~~~~~
RParquetReader.cpp: In member function ‘void RParquetReader::create_metadata(RParquetFilter&)’:
RParquetReader.cpp:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<parquet::RowGroup>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  154 |     for (auto i = 0; i < fmt.row_groups.size(); i++) {
      |                      ~~^~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:172:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  172 |     for (auto i = 0; i < filter.row_groups.size(); i++) {
      |                      ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:185:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  185 |     for (auto i = 0; i < filter.columns.size(); i++) {
      |                      ~~^~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:194:33: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  194 |     for (auto i = 1, idx = 0; i < metadata.num_cols; i++) {
      |                               ~~^~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:205:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  205 |   for (auto i = 0; i < metadata.num_cols; i++) {
      |                    ~~^~~~~~~~~~~~~~~~~~~
RParquetReader.cpp: In member function ‘void RParquetReader::read_columns()’:
RParquetReader.cpp:219:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  219 |     for (auto i = 0; i < filter.columns.size(); i++) {
      |                      ~~^~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:223:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  223 |     for (auto i = 1; i < metadata.num_cols; i++) {
      |                      ~~^~~~~~~~~~~~~~~~~~~
RParquetReader.cpp: In function ‘void convert_column_to_r_dicts(postprocess*, uint32_t)’:
RParquetReader.cpp:543:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  543 |   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:590:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  590 |   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: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_nodict_miss(postprocess*, uint32_t)’:
RParquetReader.cpp:820:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  820 |   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:851:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  851 |   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:942:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  942 |   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:957:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  957 |   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:999:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  999 |   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:1028:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1028 |   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:1130:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1130 |   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:1169:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1169 |   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:1203:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1203 |   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:1292:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1292 |   for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) {
      |                     ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:1298:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1298 |       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:1314:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1314 |   for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) {
      |                     ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:1320:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1320 |         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:1368:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1368 |   for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) {
      |                     ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp: In function ‘double parse_decimal(uint8_t*, uint32_t)’:
RParquetReader.cpp:1423:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
 1423 |     for (auto j = 0; j < len; j++) {
      |                      ~~^~~~~
RParquetReader.cpp:1430:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
 1430 |     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:1441:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1441 |   for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) {
      |                     ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:1448:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1448 |       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:1457:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1457 |   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:1485:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1485 |   for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) {
      |                     ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:1492:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1492 |         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:1552:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1552 |   for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) {
      |                     ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:1558:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1558 |       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:1570:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1570 |   for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) {
      |                     ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:1576:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1576 |         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:1617:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1617 |   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:1670:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1670 |   for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) {
      |                     ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:1676:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1676 |       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:1694:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1694 |   for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) {
      |                     ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:1700:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1700 |         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:1776:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1776 |   for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) {
      |                     ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:1782:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1782 |       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:1793:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1793 |   for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) {
      |                     ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp:1799:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1799 |         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:1868:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1868 |   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:1885:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1885 |   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:1962:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 1962 |   for (auto rg = 0; rg < pp->metadata.num_row_groups; rg++) {
      |                     ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp: In function ‘void convert_columns_to_r_(postprocess*)’:
RParquetReader.cpp:2027:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 2027 |   for (auto cl = 0; cl < pp->metadata.num_cols_to_read; cl++) {
      |                     ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RParquetReader.cpp: In member function ‘void RParquetReader::create_df()’:
RParquetReader.cpp:2143:26: warning: comparison of integer expressions of different signedness: ‘R_xlen_t’ {aka ‘long int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
 2143 |   for (R_xlen_t i = 0; i < metadata.num_cols; i++) {
      |                        ~~^~~~~~~~~~~~~~~~~~~
RParquetReader.cpp: In member function ‘void RParquetReader::read_arrow_metadata()’:
RParquetReader.cpp:2173:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<parquet::KeyValue>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 2173 |     for (auto i = 0; i < kvm.size(); i++) {
      |                      ~~^~~~~~~~~~~~
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<ByteBuffer>::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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<ByteBuffer>::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:826:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
  826 |   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:1166:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 1166 |   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:1212:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 1212 |   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:1264:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 1264 |   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:1312:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 1312 |   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:1383:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 1383 |   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:1460:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 1460 |   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:1553:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 1553 |   if (until > Rf_xlength(col)) {
      |       ~~~~~~^~~~~~~~~~~~~~~~~
RParquetOutFile.cpp: In function ‘void write_boolean_impl(std::ostream&, SEXP, uint64_t, uint64_t)’:
RParquetOutFile.cpp:1673:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 1673 |   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:1728:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 1728 |   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:1743:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 1743 |   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:1823:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 1823 |   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:1857:13: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 1857 |   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:2429:30: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 2429 |       for (uint64_t i = 0; i < len; i++) {
      |                            ~~^~~~~
RParquetOutFile.cpp:2444:32: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 2444 |         for (uint64_t i = 0; i < len; i++) {
      |                              ~~^~~~~
RParquetOutFile.cpp:2460:32: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘R_xlen_t’ {aka ‘long int’} [-Wsign-compare]
 2460 |         for (uint64_t i = 0; i < len; i++) {
      |                              ~~^~~~~
RParquetOutFile.cpp:2463:20: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int32_t’ {aka ‘int’} [-Wsign-compare]
 2463 |           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:595:21: warning: ‘max’ may be used uninitialized [-Wmaybe-uninitialized]
  595 |     min = is_signed ? -max-1 : 0;
      |           ~~~~~~~~~~^~~~~~~~~~~~
RParquetOutFile.cpp:582:14: note: ‘max’ was declared here
  582 |     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:786:15: warning: ‘max’ may be used uninitialized [-Wmaybe-uninitialized]
  786 |       if (val > max) {
      |           ~~~~^~~~~
RParquetOutFile.cpp:764:14: note: ‘max’ was declared here
  764 |     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:2317:23: warning: ‘max’ may be used uninitialized [-Wmaybe-uninitialized]
 2317 |               if (val > max) {
      |                   ~~~~^~~~~
RParquetOutFile.cpp:2296:22: note: ‘max’ was declared here
 2296 |             uint32_t max;
      |                      ^~~
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<ByteBuffer>::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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c rwrapper.cpp -o rwrapper.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c protect.cpp -o protect.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<ByteBuffer>::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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<ByteBuffer>::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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<ByteBuffer>::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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<ByteBuffer>::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<parquet::RowGroup>&)’:
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<parquet::RowGroup>&)’:
read-metadata.cpp:302:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<parquet::RowGroup>::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<parquet::RowGroup>::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<parquet::ColumnChunk>::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<parquet::Encoding::type>::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<std::__cxx11::basic_string<char> >::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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<ByteBuffer>::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<parquet::RowGroup>::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<parquet::ColumnChunk>::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<parquet::RowGroup>::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<parquet::ColumnChunk>::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<parquet::RowGroup>::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<parquet::ColumnChunk>::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<parquet::SchemaElement>::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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<ByteBuffer>::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<std::unique_ptr<org::apache::arrow::flatbuf::FieldT> >::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<int>::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<std::unique_ptr<org::apache::arrow::flatbuf::KeyValueT> >::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<org::apache::arrow::flatbuf::Feature>::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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c base64.cpp -o base64.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c r-base64.cpp -o r-base64.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c snappy.cpp -o snappy.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<ByteBuffer>::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<T, Tunsigned>::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<T, Tunsigned>::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<uint32_t>(
      |   ~~~~~~~~~~~~~~~~~~~~~^
  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<T, Tunsigned>::decode(T*) [with T = long int; Tunsigned = long unsigned int; uint8_t = unsigned char]’
   77 |         unpack_bits<Tunsigned>(
      |         ~~~~~~~~~~~~~~~~~~~~~~^
   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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<ByteBuffer>::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:547:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  547 |   for (int idx = 0; idx < row_group_starts.size(); idx++) {
      |                     ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
lib/ParquetOutFile.cpp:553:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  553 |     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:719:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
  719 |   for (auto i = 0; i < num_pages; i++) {
      |                    ~~^~~~~~~~~~~
lib/ParquetOutFile.cpp:722:20: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘int64_t’ {aka ‘long int’} [-Wsign-compare]
  722 |     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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<ByteBuffer>::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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c parquet/parquet_types.cpp -o parquet/parquet_types.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c thrift/protocol/TProtocol.cpp -o thrift/protocol/TProtocol.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c thrift/transport/TTransportException.cpp -o thrift/transport/TTransportException.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c thrift/transport/TBufferTransports.cpp -o thrift/transport/TBufferTransports.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c fastpforlib/bitpacking.cpp -o fastpforlib/bitpacking.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -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<snappy::SnappySinkAllocator::Datablock>::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<Allocator>::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<snappy::SnappySinkAllocator>]’
  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<SnappySinkAllocator>; 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.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c snappy/snappy-sinksource.cc -o snappy/snappy-sinksource.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c miniz/miniz.cpp -o miniz/miniz.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/common/entropy_common.cpp -o zstd/common/entropy_common.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/common/error_private.cpp -o zstd/common/error_private.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/common/fse_decompress.cpp -o zstd/common/fse_decompress.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/common/xxhash.cpp -o zstd/common/xxhash.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/common/zstd_common.cpp -o zstd/common/zstd_common.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/decompress/huf_decompress.cpp -o zstd/decompress/huf_decompress.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/decompress/zstd_ddict.cpp -o zstd/decompress/zstd_ddict.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/decompress/zstd_decompress.cpp -o zstd/decompress/zstd_decompress.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/decompress/zstd_decompress_block.cpp -o zstd/decompress/zstd_decompress_block.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/compress/fse_compress.cpp -o zstd/compress/fse_compress.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/compress/hist.cpp -o zstd/compress/hist.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/compress/huf_compress.cpp -o zstd/compress/huf_compress.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/compress/zstd_compress.cpp -o zstd/compress/zstd_compress.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/compress/zstd_compress_literals.cpp -o zstd/compress/zstd_compress_literals.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/compress/zstd_compress_sequences.cpp -o zstd/compress/zstd_compress_sequences.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/compress/zstd_compress_superblock.cpp -o zstd/compress/zstd_compress_superblock.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/compress/zstd_double_fast.cpp -o zstd/compress/zstd_double_fast.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/compress/zstd_fast.cpp -o zstd/compress/zstd_fast.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/compress/zstd_lazy.cpp -o zstd/compress/zstd_lazy.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/compress/zstd_ldm.cpp -o zstd/compress/zstd_ldm.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-release-gcc/Work/build/include" -DNDEBUG -Ithrift -I. -Izstd/include  -I/usr/local/include -D_FORTIFY_SOURCE=3  -DR_NO_REMAP -fpic  -g -O2 -Wall -pedantic -mtune=native   -c zstd/compress/zstd_opt.cpp -o zstd/compress/zstd_opt.o
g++-14 -std=gnu++17 -shared -L/home/hornik/tmp/R.check/r-release-gcc/Work/build/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.check/r-release-gcc/Work/build/lib -lR
make[1]: Leaving directory '/home/hornik/tmp/scratch/Rtmp1CeK0f/R.INSTALL37ddd4292a7a12/nanoparquet/src'
make[1]: Entering directory '/home/hornik/tmp/scratch/Rtmp1CeK0f/R.INSTALL37ddd4292a7a12/nanoparquet/src'
make[1]: Leaving directory '/home/hornik/tmp/scratch/Rtmp1CeK0f/R.INSTALL37ddd4292a7a12/nanoparquet/src'
installing via 'install.libs.R' to /home/hornik/tmp/R.check/r-release-gcc/Work/build/Packages/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)