* installing *source* package 'nanoparquet' ...
** this is package 'nanoparquet' version '0.4.0'
** package 'nanoparquet' successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: 'g++.exe (GCC) 13.3.0'
make[1]: Entering directory '/d/temp/2025_01_31_01_50_00_7169/Rtmp6JgbMm/R.INSTALL8564404f64e2/nanoparquet/src'
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long unsigned int'} and 'std::streamsize' {aka 'long 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 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 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 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 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 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 long int'} and 'long 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<T, Tunsigned>::decode(T*) [with T = int; Tunsigned = unsigned int; uint8_t = unsigned char]':
lib/ParquetReader.cpp:491:34:   required from here
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 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
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
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
lib/RleBpDecoder.h:30:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
lib/DbpDecoder.h: In instantiation of 'uint8_t* DbpDecoder<T, Tunsigned>::decode(T*) [with T = long long int; Tunsigned = long long unsigned int; uint8_t = unsigned char]':
lib/ParquetReader.cpp:714:15:   required from here
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 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 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]'
lib/ParquetReader.cpp:491:34:   required from here
lib/decode-utils.h:58:21: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long 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 long unsigned int; uint8_t = unsigned char; uint64_t = long long unsigned int]':
lib/DbpDecoder.h:77:31:   required from 'uint8_t* DbpDecoder<T, Tunsigned>::decode(T*) [with T = long long int; Tunsigned = long long unsigned int; uint8_t = unsigned char]'
lib/ParquetReader.cpp:714:15:   required from here
lib/decode-utils.h:58:21: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long unsigned int'} and 'std::streamsize' {aka 'long 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 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 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<parquet::RowGroup>::size_type' {aka 'long 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<unsigned int>::size_type' {aka 'long 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<unsigned int>::size_type' {aka 'long 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 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 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<unsigned int>::size_type' {aka 'long 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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<unsigned int>::size_type' {aka 'long 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 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<unsigned int>::size_type' {aka 'long 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 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 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<unsigned int>::size_type' {aka 'long 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 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 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<unsigned int>::size_type' {aka 'long 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 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<unsigned int>::size_type' {aka 'long 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 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<unsigned int>::size_type' {aka 'long 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 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 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<unsigned int>::size_type' {aka 'long 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 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<unsigned int>::size_type' {aka 'long 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 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<unsigned int>::size_type' {aka 'long 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 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<unsigned int>::size_type' {aka 'long 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 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 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 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 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 long int'} and 'size_t' {aka 'long 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<parquet::KeyValue>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 2080 |     for (auto i = 0; i < kvm.size(); i++) {
      |                      ~~^~~~~~~~~~~~
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long unsigned int'} and 'std::streamsize' {aka 'long 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 long unsigned int'} [-Wsign-compare]
  105 |     for (auto i = 0; i < bufs.size(); i++) {
      |                      ~~^~~~~~~~~~~~~
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long unsigned int'} and 'std::streamsize' {aka 'long 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 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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 long unsigned int'} and 'R_xlen_t' {aka 'long 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++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long unsigned int'} and 'std::streamsize' {aka 'long 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 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++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c rwrapper.cpp -o rwrapper.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c protect.cpp -o protect.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long unsigned int'} and 'std::streamsize' {aka 'long 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 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++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long int'} and 'uint64_t' {aka 'long 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 long unsigned int'} and 'std::streamsize' {aka 'long 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 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++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long unsigned int'} and 'std::streamsize' {aka 'long 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 long unsigned int'} [-Wsign-compare]
  105 |     for (auto i = 0; i < bufs.size(); i++) {
      |                      ~~^~~~~~~~~~~~~
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long unsigned int'} and 'std::streamsize' {aka 'long 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 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 long int'} and 'long 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 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 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 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 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 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 long unsigned int'} [-Wsign-compare]
  359 |       for (auto k = 0; k < cmd.path_in_schema.size(); k++) {
      |                        ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long unsigned int'} and 'std::streamsize' {aka 'long 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 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 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 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 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 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 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 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 long unsigned int'} [-Wsign-compare]
  306 |   for (int i = 0; i < schema.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long unsigned int'} and 'std::streamsize' {aka 'long 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 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 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 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 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 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 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 long unsigned int'} [-Wsign-compare]
  379 |   for (auto i = 0; i < nfields; i++) {
      |                    ~~^~~~~~~~~
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c base64.cpp -o base64.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c r-base64.cpp -o r-base64.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c snappy.cpp -o snappy.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long unsigned int'} and 'std::streamsize' {aka 'long 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 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
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
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
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 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 long int; Tunsigned = long long unsigned int; uint8_t = unsigned char]':
encodings.cpp:90:13:   required from here
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 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 long unsigned int]':
encodings.cpp:108:24:   required from here
lib/decode-utils.h:58:21: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long 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 long unsigned int; uint8_t = unsigned char; uint64_t = long long unsigned int]':
lib/DbpDecoder.h:77:31:   required from 'uint8_t* DbpDecoder<T, Tunsigned>::decode(T*) [with T = long long int; Tunsigned = long long unsigned int; uint8_t = unsigned char]'
encodings.cpp:90:13:   required from here
lib/decode-utils.h:58:21: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long int'} and 'uint64_t' {aka 'long long unsigned int'} [-Wsign-compare]
   37 |       if (n > space) {
      |           ~~^~~~~~~
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long unsigned int'} and 'std::streamsize' {aka 'long 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 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<long long int>::size_type' {aka 'long 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<long long int>::size_type' {aka 'long 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 long unsigned int'} and 'int64_t' {aka 'long 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
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++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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 long unsigned int'} and 'std::streamsize' {aka 'long 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 long unsigned int'} [-Wsign-compare]
  105 |     for (auto i = 0; i < bufs.size(); i++) {
      |                      ~~^~~~~~~~~~~~~
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c parquet/parquet_types.cpp -o parquet/parquet_types.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c thrift/protocol/TProtocol.cpp -o thrift/protocol/TProtocol.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c thrift/transport/TTransportException.cpp -o thrift/transport/TTransportException.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c thrift/transport/TBufferTransports.cpp -o thrift/transport/TBufferTransports.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c fastpforlib/bitpacking.cpp -o fastpforlib/bitpacking.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -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<snappy::SnappySinkAllocator::Datablock>::size_type' {aka 'long 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 long unsigned int]':
snappy/snappy.cc:902:36:   required from 'void snappy::SnappyDecompressor::DecompressAllTags(Writer*) [with Writer = snappy::SnappyScatteredWriter<snappy::SnappySinkAllocator>]'
snappy/snappy.cc:991:34:   required from 'bool snappy::InternalUncompressAllTags(SnappyDecompressor*, Writer*, uint32, uint32) [with Writer = SnappyScatteredWriter<SnappySinkAllocator>; uint32 = unsigned int]'
snappy/snappy.cc:1657:37:   required from here
snappy/snappy.cc:1511:41: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long long unsigned int'} and 'long 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++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c snappy/snappy-sinksource.cc -o snappy/snappy-sinksource.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c miniz/miniz.cpp -o miniz/miniz.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/common/entropy_common.cpp -o zstd/common/entropy_common.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/common/error_private.cpp -o zstd/common/error_private.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/common/fse_decompress.cpp -o zstd/common/fse_decompress.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/common/xxhash.cpp -o zstd/common/xxhash.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/common/zstd_common.cpp -o zstd/common/zstd_common.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/decompress/huf_decompress.cpp -o zstd/decompress/huf_decompress.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/decompress/zstd_ddict.cpp -o zstd/decompress/zstd_ddict.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/decompress/zstd_decompress.cpp -o zstd/decompress/zstd_decompress.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/decompress/zstd_decompress_block.cpp -o zstd/decompress/zstd_decompress_block.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/compress/fse_compress.cpp -o zstd/compress/fse_compress.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/compress/hist.cpp -o zstd/compress/hist.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/compress/huf_compress.cpp -o zstd/compress/huf_compress.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/compress/zstd_compress.cpp -o zstd/compress/zstd_compress.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/compress/zstd_compress_literals.cpp -o zstd/compress/zstd_compress_literals.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/compress/zstd_compress_sequences.cpp -o zstd/compress/zstd_compress_sequences.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/compress/zstd_compress_superblock.cpp -o zstd/compress/zstd_compress_superblock.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/compress/zstd_double_fast.cpp -o zstd/compress/zstd_double_fast.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/compress/zstd_fast.cpp -o zstd/compress/zstd_fast.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/compress/zstd_lazy.cpp -o zstd/compress/zstd_lazy.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/compress/zstd_ldm.cpp -o zstd/compress/zstd_ldm.o
g++ -std=gnu++17  -I"D:/RCompile/recent/R/include" -DNDEBUG -Ithrift -I. -Izstd/include    -I"d:/rtools44/x86_64-w64-mingw32.static.posix/include"   -DR_NO_REMAP   -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign   -DR_NO_REMAP -c zstd/compress/zstd_opt.cpp -o zstd/compress/zstd_opt.o
g++ -std=gnu++17 -shared -s -static-libgcc -o nanoparquet.dll tmp.def 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 -Ld:/rtools44/x86_64-w64-mingw32.static.posix/lib/x64 -Ld:/rtools44/x86_64-w64-mingw32.static.posix/lib -LD:/RCompile/recent/R/bin/x64 -lR
make[1]: Leaving directory '/d/temp/2025_01_31_01_50_00_7169/Rtmp6JgbMm/R.INSTALL8564404f64e2/nanoparquet/src'
make[1]: Entering directory '/d/temp/2025_01_31_01_50_00_7169/Rtmp6JgbMm/R.INSTALL8564404f64e2/nanoparquet/src'
make[1]: Leaving directory '/d/temp/2025_01_31_01_50_00_7169/Rtmp6JgbMm/R.INSTALL8564404f64e2/nanoparquet/src'
installing via 'install.libs.R' to d:/Rcompile/CRANpkg/lib/4.5/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
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* MD5 sums
packaged installation of 'nanoparquet' as nanoparquet_0.4.0.zip
* DONE (nanoparquet)