jonkeane opened a new pull request, #40244: URL: https://github.com/apache/arrow/pull/40244
This is not fully done yet, but I want to get something up here and ask for help. I was attempting to trigger the issue we ran into in https://github.com/apache/arrow/issues/40009 in CI so that we could confirm that we don't run into this in the future. CRAN does runs using pre-release compilers, and we've hit this a time or two. We can wait for them to come and tell us we need to move in order to stay up, but it would be nice if we could detect this ourselves. And more importantly: it gives us a hopefully easier we to replicate the error and confirm we've fixed it so that we can have confidence when we submit. The thing that I'm surprised by / stumped by is that I was hoping to trigger the following error we saw on CRAN (below). With this PR (which I purposefully branched before the fix was merged and sent to crossbow manually, one build: https://github.com/ursacomputing/crossbow/actions/runs/8051682513/job/21990127320 which pulls my ref 8af390383113ba7e3425edc6c352032bb8d6248b which IIUC does not have [the algorithm fix in it](https://github.com/jonkeane/arrow/blob/8af390383113ba7e3425edc6c352032bb8d6248b/cpp/src/arrow/filesystem/util_internal.cc#L20).) But this seems to work just fine. The thing I'm a bit stumped by is that the error we saw on CRAN was on their clang18 runner, but @kou's fix is for gcc 14. This might be my ignorance, but I thought clang and gcc were entirely separate so I'm confused why it was CRAN's clang 18 that caught this, but then the rhub replica of CRAN's clang 18 didn't. And also the paths in the error message from CRAN have references to gcc 14, yeah? @kou maybe you could help educate me on this? My assumptions about clang v gcc might be totally wrong, or it's possible the CRAN machine is configured in a very strange way that is causing this? ``` [1m/tmp/RtmpLtR2pg/R.INSTALL1d415a4f31ad3b/arrow/tools/cpp/src/arrow/filesystem/util_internal.cc:143:7: [0m [0;1;31merror: [0m [1mno matching function for call to 'find' [0m 143 | if (std::find(supported_schemes.begin(), supported_schemes.end(), scheme) == [0m | [0;1;32m ^~~~~~~~~ [0m [1m/usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/streambuf_iterator.h:435:5: [0m [0;1;30mnote: [0mcandidate template ignored: could not match 'istreambuf_iterator' against '__normal_iterator' [0m 435 | find(istreambuf_iterator<_CharT> __first, [0m | [0;1;32m ^ [0m1 error generated. ``` I've also downloaded + saved the log from CRAN since it will be overwritten soon now that we have a new release up: [Install log for 'arrow' with clang dev.txt](https://github.com/apache/arrow/files/14407630/Install.log.for.arrow.with.clang.dev.txt) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
