Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to Boost 1.78 #80

Closed
eddelbuettel opened this issue Dec 11, 2021 · 11 comments
Closed

Upgrade to Boost 1.78 #80

eddelbuettel opened this issue Dec 11, 2021 · 11 comments

Comments

@eddelbuettel
Copy link
Owner

Boost 1.78 was just released so we can continue our cadence of annual releases.

With that we should look into Boost process (cf #78) and see if #77 needs work as things have by now changed (e.g. Solaris now retired from the set of test platforms)

@eddelbuettel
Copy link
Owner Author

(Poking issue #77 and participants @Jean-Romain @dcooley -- may make more sense over here)

So I ran a reverse depends check and it is not looking great; the results summary is here and I'll just copy the results table over:

Test of BH 1.78.0.0 had 249 successes, 17 failures, and 4 skipped packages. 
Ran from 2021-12-13 08:26:59.97 to 2021-12-13 14:56:40.35 for 6.495 hours 
Average of 86.594 secs relative to 513.32 secs using 6 runners

Failed packages:  APAtree, breathteststan, gfilogisreg, googlePolylines, incgraph, lidR, lolog, policytree, PReMiuM, rgeoda, rlas, rstpm2, secr, spNetwork, TDA, tmbstan, wellknown 

Skipped packages:  hBayesDM, nlmixr, RcppRedis, starvz 

None still working

None still scheduled

Error summary:
            package missingPkg badInstall error fail warn note ok hasOtherIssue
 1:         APAtree                  TRUE     0    0    0    0 13         FALSE
 2:  breathteststan                 FALSE     1    0    0   12  0         FALSE  no BH, minor (?) recurring numeric test error
 3:     gfilogisreg                  TRUE     0    0    0   11  2         FALSE
 4: googlePolylines                  TRUE     0    0    0    0 13         FALSE
 5:        incgraph                  TRUE     0    0    0    6  7         FALSE
 6:            lidR                  TRUE     0    1    0    7  5         FALSE
 7:           lolog                  TRUE     0    0    8    4  1         FALSE
 8:      policytree                  TRUE     0    0    0    0 13         FALSE
 9:         PReMiuM                  TRUE     0    0    0    4  9         FALSE
10:          rgeoda                  TRUE     0    0    0    6  7         FALSE
11:            rlas                  TRUE     0    0    0    6  7         FALSE
12:          rstpm2                 FALSE     0    0    3    6  4         FALSE  no BH, minor (?) recurring numeric test error
13:            secr                  TRUE     0    0    0   13  0         FALSE
14:       spNetwork                  TRUE     0    0    2    5  6         FALSE
15:             TDA                  TRUE     0    0    3    8  2          TRUE
16:         tmbstan                  TRUE     0    0    0    4  9         FALSE
17:       wellknown                  TRUE     0    0    0    4  9         FALSE

The second (filled-in) column 'badInstall' matters, a TRUE indicates compilation problem. I only had time to look at APAtree so far while it still ran and it is geometry related. As are your packages which also seem fail to build. (The following columns just quote the current CRAN status to indicate whether the package has other open issues at CRAN.)

Addressing builds under BH 1.78.0 may be something simple and I would really appreciate if you had time to poke and take a look. I have my hands still a little full my an ongoing Rcpp tranistion, and one we may want to do for RcppEigen. I will try to take a look too, maybe we can compare notes here over the couple of days and weeks. This will likely drag on into January.

I have prepared a release of the snapshot / branch you can install directly from the drat repo via

 install.packages("BH", repo="https://ghrr.github.io/drat")

This corresponds to the 1.78.0 branch in the repo here.

Let me know if you have any questions.

@Jean-Romain
Copy link

I'll test as soon as possible with rlas. For lidR it gonna be the exact same issues but it is more difficult to test.

@Jean-Romain
Copy link

Jean-Romain commented Dec 13, 2021

Tested, and I think you can't release Boost 1.78 as is. There are numerous errors from boost code. I'm not a Boost expert and I don't understand each error but they definitively do no come from my code. Here a summary of the main errors found at compile time. The first one looks particularly odd. Seems like a bad character introduced by error.

BH/include/boost/move/algo/detail/merge.hpp:27:1: error: ‘o’ does not name a type
   27 | o//#pragma GCC diagnostic ignored "-Wsign-conversion"

BH/include/boost/move/algo/adaptive_merge.hpp:350:58: error: expected primary-expression before ‘*’ token
  350 |    ::boost::movelib::adaptive_xbuf<value_type, value_type*, size_type> xbuf(uninitialized, size_type(uninitialized_len));

BH/include/boost/move/algo/detail/merge_sort.hpp:201:22: error: ‘adaptive_xbuf’ is not a member of ‘boost::movelib’
  201 |    ::boost::movelib::adaptive_xbuf<value_type, RandRawIt> xbuf(uninitialized, uninitialized_len);

BH/include/boost/move/algo/detail/merge_sort.hpp:201:46: error: expected primary-expression before ‘,’ token
  201 |    ::boost::movelib::adaptive_xbuf<value_type, RandRawIt> xbuf(uninitialized, uninitialized_len);

BH/include/boost/move/algo/detail/adaptive_sort_merge.hpp:249:35: error: ‘lower_bound’ is not a member of ‘boost::movelib’; did you mean ‘std::lower_bound’?
  249 |          last1  = boost::movelib::lower_bound(last1, last2, *first1, comp);

BH/include/boost/move/algo/adaptive_merge.hpp:350:46: error: expected primary-expression before ‘,’ token
  350 |    ::boost::movelib::adaptive_xbuf<value_type, value_type*, size_type> xbuf(uninitialized, size_type(uninitialized_len));
Compilation log (excluding files with no Boost includes)
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c readLAS.cpp -o readLAS.o
In file included from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/bind/mem_fn.hpp:25,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/mem_fn.hpp:22,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/function/detail/prologue.hpp:18,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/function.hpp:30,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/algorithm/string/detail/find_iterator.hpp:18,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/algorithm/string/find_iterator.hpp:24,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/algorithm/string/iter_find.hpp:27,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/algorithm/string/split.hpp:16,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/algorithm/string.hpp:23,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/io/wkt/read.hpp:30,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/io/wkt/wkt.hpp:17,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/strategies/cartesian/buffer_end_round.hpp:27,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/strategies/strategies.hpp:45,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/geometry.hpp:60,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry.hpp:17,
                 from readLAS.cpp:36:
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/get_pointer.hpp:48:40: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
   48 | template<class T> T * get_pointer(std::auto_ptr<T> const& p)
      |                                        ^~~~~~~~
In file included from /usr/include/c++/9/bits/locale_conv.h:41,
                 from /usr/include/c++/9/locale:43,
                 from /usr/include/c++/9/iomanip:43,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/Rcpp/include/RcppCommon.h:53,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/Rcpp/include/Rcpp.h:27,
                 from readLAS.cpp:35:
/usr/include/c++/9/bits/unique_ptr.h:53:28: note: declared here
   53 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
In file included from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/detail/adaptive_sort_merge.hpp:49,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/adaptive_merge.hpp:16,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/container/vector.hpp:60,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/index/detail/rtree/node/node.hpp:20,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/index/rtree.hpp:64,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/within/multi_point.hpp:34,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/within/implementation.hpp:30,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/covered_by/implementation.hpp:25,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/covered_by.hpp:24,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp:32,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp:29,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/buffer.hpp:41,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/geometry.hpp:66,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry.hpp:17,
                 from readLAS.cpp:36:
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/detail/merge.hpp:27:1: error: ‘o’ does not name a type
   27 | o//#pragma GCC diagnostic ignored "-Wsign-conversion"
      | ^
In file included from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/detail/adaptive_sort_merge.hpp:52,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/adaptive_merge.hpp:16,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/container/vector.hpp:60,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/index/detail/rtree/node/node.hpp:20,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/index/rtree.hpp:64,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/within/multi_point.hpp:34,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/within/implementation.hpp:30,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/covered_by/implementation.hpp:25,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/covered_by.hpp:24,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp:32,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp:29,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/buffer.hpp:41,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/geometry.hpp:66,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry.hpp:17,
                 from readLAS.cpp:36:
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/detail/merge_sort.hpp: In function ‘void boost::movelib::stable_sort_adaptive_ONlogN2(BidirectionalIterator, BidirectionalIterator, Compare, RandRawIt, std::size_t)’:
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/detail/merge_sort.hpp:201:22: error: ‘adaptive_xbuf’ is not a member of ‘boost::movelib’
  201 |    ::boost::movelib::adaptive_xbuf<value_type, RandRawIt> xbuf(uninitialized, uninitialized_len);
      |                      ^~~~~~~~~~~~~
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/detail/merge_sort.hpp:201:46: error: expected primary-expression before ‘,’ token
  201 |    ::boost::movelib::adaptive_xbuf<value_type, RandRawIt> xbuf(uninitialized, uninitialized_len);
      |                                              ^
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/detail/merge_sort.hpp:201:57: error: expected primary-expression before ‘>’ token
  201 |    ::boost::movelib::adaptive_xbuf<value_type, RandRawIt> xbuf(uninitialized, uninitialized_len);
      |                                                         ^
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/detail/merge_sort.hpp:202:4: error: ‘xbuf’ was not declared in this scope
  202 |    xbuf.initialize_until(uninitialized_len, *first);
      |    ^~~~
In file included from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/adaptive_merge.hpp:16,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/container/vector.hpp:60,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/index/detail/rtree/node/node.hpp:20,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/index/rtree.hpp:64,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/within/multi_point.hpp:34,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/within/implementation.hpp:30,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/covered_by/implementation.hpp:25,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/covered_by.hpp:24,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp:32,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp:29,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/buffer.hpp:41,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/geometry.hpp:66,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry.hpp:17,
                 from readLAS.cpp:36:
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/detail/adaptive_sort_merge.hpp: In function ‘RandIt boost::movelib::detail_adaptive::partial_merge_bufferless_impl(RandIt, RandIt, RandIt, bool*, Compare)’:
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/detail/adaptive_sort_merge.hpp:249:35: error: ‘lower_bound’ is not a member of ‘boost::movelib’; did you mean ‘std::lower_bound’?
  249 |          last1  = boost::movelib::lower_bound(last1, last2, *first1, comp);
      |                                   ^~~~~~~~~~~
In file included from /usr/include/c++/9/algorithm:62,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/Rcpp/include/RcppCommon.h:64,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/Rcpp/include/Rcpp.h:27,
                 from readLAS.cpp:35:
/usr/include/c++/9/bits/stl_algo.h:2022:5: note: ‘std::lower_bound’ declared here
 2022 |     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
      |     ^~~~~~~~~~~
In file included from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/adaptive_merge.hpp:16,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/container/vector.hpp:60,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/index/detail/rtree/node/node.hpp:20,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/index/rtree.hpp:64,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/within/multi_point.hpp:34,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/within/implementation.hpp:30,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/covered_by/implementation.hpp:25,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/covered_by.hpp:24,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp:32,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp:29,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/buffer.hpp:41,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/geometry.hpp:66,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry.hpp:17,
                 from readLAS.cpp:36:
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/detail/adaptive_sort_merge.hpp: In function ‘typename boost::movelib::iterator_traits<Iterator>::size_type boost::movelib::detail_adaptive::collect_unique(RandIt, RandIt, typename boost::movelib::iterator_traits<It>::size_type, Compare, XBuf&)’:
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/detail/adaptive_sort_merge.hpp:410:63: error: ‘lower_bound’ is not a member of ‘boost::movelib’; did you mean ‘std::lower_bound’?
  410 |             typename XBuf::iterator const r = boost::movelib::lower_bound(ph0, xbuf.end(), *u, comp);
      |                                                               ^~~~~~~~~~~
In file included from /usr/include/c++/9/algorithm:62,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/Rcpp/include/RcppCommon.h:64,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/Rcpp/include/Rcpp.h:27,
                 from readLAS.cpp:35:
/usr/include/c++/9/bits/stl_algo.h:2022:5: note: ‘std::lower_bound’ declared here
 2022 |     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
      |     ^~~~~~~~~~~
In file included from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/adaptive_merge.hpp:16,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/container/vector.hpp:60,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/index/detail/rtree/node/node.hpp:20,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/index/rtree.hpp:64,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/within/multi_point.hpp:34,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/within/implementation.hpp:30,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/covered_by/implementation.hpp:25,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/covered_by.hpp:24,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp:32,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp:29,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/buffer.hpp:41,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/geometry.hpp:66,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry.hpp:17,
                 from readLAS.cpp:36:
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/detail/adaptive_sort_merge.hpp:427:46: error: ‘lower_bound’ is not a member of ‘boost::movelib’; did you mean ‘std::lower_bound’?
  427 |             RandIt const r = boost::movelib::lower_bound(h0, search_end, *u, comp);
      |                                              ^~~~~~~~~~~
In file included from /usr/include/c++/9/algorithm:62,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/Rcpp/include/RcppCommon.h:64,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/Rcpp/include/Rcpp.h:27,
                 from readLAS.cpp:35:
/usr/include/c++/9/bits/stl_algo.h:2022:5: note: ‘std::lower_bound’ declared here
 2022 |     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
      |     ^~~~~~~~~~~
In file included from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/container/vector.hpp:60,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/index/detail/rtree/node/node.hpp:20,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/index/rtree.hpp:64,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/within/multi_point.hpp:34,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/within/implementation.hpp:30,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/covered_by/implementation.hpp:25,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/covered_by.hpp:24,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp:32,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp:29,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/buffer.hpp:41,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/geometry.hpp:66,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry.hpp:17,
                 from readLAS.cpp:36:
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/adaptive_merge.hpp: In function ‘void boost::movelib::adaptive_merge(RandIt, RandIt, RandIt, Compare, typename boost::movelib::iterator_traits<It>::value_type*, typename boost::movelib::iterator_traits<It>::size_type)’:
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/adaptive_merge.hpp:350:22: error: ‘adaptive_xbuf’ is not a member of ‘boost::movelib’
  350 |    ::boost::movelib::adaptive_xbuf<value_type, value_type*, size_type> xbuf(uninitialized, size_type(uninitialized_len));
      |                      ^~~~~~~~~~~~~
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/adaptive_merge.hpp:350:46: error: expected primary-expression before ‘,’ token
  350 |    ::boost::movelib::adaptive_xbuf<value_type, value_type*, size_type> xbuf(uninitialized, size_type(uninitialized_len));
      |                                              ^
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/adaptive_merge.hpp:350:58: error: expected primary-expression before ‘*’ token
  350 |    ::boost::movelib::adaptive_xbuf<value_type, value_type*, size_type> xbuf(uninitialized, size_type(uninitialized_len));
      |                                                          ^
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/adaptive_merge.hpp:350:59: error: expected primary-expression before ‘,’ token
  350 |    ::boost::movelib::adaptive_xbuf<value_type, value_type*, size_type> xbuf(uninitialized, size_type(uninitialized_len));
      |                                                           ^
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/adaptive_merge.hpp:350:70: error: expected primary-expression before ‘>’ token
  350 |    ::boost::movelib::adaptive_xbuf<value_type, value_type*, size_type> xbuf(uninitialized, size_type(uninitialized_len));
      |                                                                      ^
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/move/algo/adaptive_merge.hpp:351:125: error: ‘xbuf’ was not declared in this scope
  351 |    ::boost::movelib::detail_adaptive::adaptive_merge_impl(first, size_type(middle - first), size_type(last - middle), comp, xbuf);
      |                                                                                                                             ^~~~
In file included from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/scoped_ptr.hpp:13,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/index/detail/rtree/query_iterators.hpp:18,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/index/rtree.hpp:90,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/within/multi_point.hpp:34,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/within/implementation.hpp:30,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/covered_by/implementation.hpp:25,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/covered_by.hpp:24,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp:32,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp:29,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/algorithms/buffer.hpp:41,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry/geometry.hpp:66,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/geometry.hpp:17,
                 from readLAS.cpp:36:
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/smart_ptr/scoped_ptr.hpp: At global scope:
/home/jr/R/x86_64-pc-linux-gnu-library/4.1/BH/include/boost/smart_ptr/scoped_ptr.hpp:74:31: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
   74 |     explicit scoped_ptr( std::auto_ptr<T> p ) BOOST_SP_NOEXCEPT : px( p.release() )
      |                               ^~~~~~~~
In file included from /usr/include/c++/9/bits/locale_conv.h:41,
                 from /usr/include/c++/9/locale:43,
                 from /usr/include/c++/9/iomanip:43,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/Rcpp/include/RcppCommon.h:53,
                 from /home/jr/R/x86_64-pc-linux-gnu-library/4.1/Rcpp/include/Rcpp.h:27,
                 from readLAS.cpp:35:
/usr/include/c++/9/bits/unique_ptr.h:53:28: note: declared here
   53 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
make: *** [/usr/lib/R/etc/Makeconf:177 : readLAS.o] Erreur 1
ERROR: compilation failed for package ‘rlas’
* removing ‘/home/jr/R/x86_64-pc-linux-gnu-library/4.1/rlas’
* restoring previous ‘/home/jr/R/x86_64-pc-linux-gnu-library/4.1/rlas’

Exited with status 1.

@eddelbuettel
Copy link
Owner Author

eddelbuettel commented Dec 13, 2021

Line 27 is a typo I made. I will remove that. Can you edit locally and try again?

modified   inst/include/boost/move/algo/detail/merge.hpp
@@ -24,7 +24,7 @@
 
 #if defined(BOOST_CLANG) || (defined(BOOST_GCC) && (BOOST_GCC >= 40600))
 #pragma GCC diagnostic push
-o//#pragma GCC diagnostic ignored "-Wsign-conversion"
+//#pragma GCC diagnostic ignored "-Wsign-conversion"
 #endif
 
 namespace boost {

I also updated the drat repo, you should now get BH_1.77.99-1. Sorry for the trouble!

@Jean-Romain
Copy link

So I removed the o myself and it compiled fine. Then R CMD check with 0 error, 0 warning, 0 note for rlas.

I'm wondering how this simple error may have induced so much unrelated troubles 😮

@eddelbuettel
Copy link
Owner Author

eddelbuettel commented Dec 14, 2021

Yes it did :) Lessons learned: do not fat-finger in errors. Doh. And don't ... rush! I usually inspect all failed logs but it is such a pain with Boost and CRAN's insistence to turn off diagnostitcs suppression. Anyway, much better now:

Test of BH 1.77.99.1 had 11 successes, 7 failures, and 4 skipped packages. 
Ran from 2021-12-13 17:45:46.04 to 2021-12-13 18:03:19.79 for 17.562 mins 
Average of 47.898 secs relative to 201.386 secs using 6 runners

Failed packages:  breathteststan, gfilogisreg, PReMiuM, rstpm2, secr, TDA, tmbstan 

Skipped packages:  hBayesDM, nlmixr, RcppRedis, starvz 

None still working

None still scheduled

Error summary:
          package missingPkg badInstall error fail warn note ok hasOtherIssue
1: breathteststan                 FALSE     1    0    0   12  0         FALSE  not BH, minor (?) recurring numeric test error
2:    gfilogisreg                  TRUE     0    0    0   11  2         FALSE  error: ‘isnormal’ was not declared in this scope
3:        PReMiuM                  TRUE     0    0    0    4  9         FALSE  known flaky
4:         rstpm2                 FALSE     0    0    3    6  4         FALSE  not BH, minor (?) recurring numeric test error
5:           secr                  TRUE     0    0    0   13  0         FALSE  error: 'isnan' was not declared in this scope
6:            TDA                  TRUE     0    0    3    8  2          TRUE  error: wrong number of template arguments (2, should be 1)
7:        tmbstan                  TRUE     0    0    0    4  9         FALSE  uses C++03, should try C++11 or later

Thanks for lending an ear, and most importantly, for spotting my blunder. I'll take a more detailed look at these in a bit after dinner.

@Jean-Romain
Copy link

You're welcome, You have already made so much for the community. If we can sometime help you in return it very fair 😉

@eddelbuettel
Copy link
Owner Author

First fix: tmbstan needs to remove a #define from src/Makevars which confuses Boost. Builds fine in C++14. Will possibly file a PR for @kaskr at the tmbstan repo.

@eddelbuettel
Copy link
Owner Author

Second fix: gfilogisteg needs to prefix isnormal() with std::.

TDA is dicier as it was last year.

@eddelbuettel
Copy link
Owner Author

Third fix for secr, a one-liner emailed to maintainer. Also run another set:

Test of BH 1.77.99.3 had 259 successes, 7 failures, and 4 skipped packages. 
Ran from 2021-12-14 12:42:09.16 to 2021-12-14 15:20:28.83 for 2.639 hours 
Average of 35.184 secs relative to 206.975 secs using 6 runners

Failed packages:  breathteststan, gfilogisreg, PReMiuM, rstpm2, secr, TDA, tmbstan 

Skipped packages:  hBayesDM, nlmixr, RcppRedis, starvz 

None still working

None still scheduled

Error summary:
          package missingPkg badInstall error fail warn note ok hasOtherIssue
1: breathteststan                 FALSE     1    0    0   12  0         FALSE  not BH, minor (?) recurring numeric test error
2:    gfilogisreg                  TRUE     0    0    0   11  2         FALSE  identified, PR sent, merged
3:        PReMiuM                  TRUE     0    0    0    4  9         FALSE  known flaky
4:         rstpm2                 FALSE     0    0    3    6  3         FALSE  not BH, minor (?) recurring numeric test error
5:           secr                  TRUE     0    0    0   12  0         FALSE  needs one std::isnan
6:            TDA                  TRUE     0    0    3    8  2          TRUE  identified, upstream contacted
7:        tmbstan                  TRUE     0    0    0    4  9         FALSE  identified, PR sent, merged

We are looking good now, this should be ready to ship.

@eddelbuettel
Copy link
Owner Author

And we're on CRAN! So closing this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants