[
https://issues.apache.org/jira/browse/ARROW-11954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17301779#comment-17301779
]
Neal Richardson commented on ARROW-11954:
-----------------------------------------
If I read
https://docs.oracle.com/cd/E36784_01/html/E36874/posix-madvise-3c.html
correctly, posix_madvise should be available (on some Solaris system at least),
but we're including that header and it's not there, so maybe we need to use
madvise instead: https://man7.org/linux/man-pages/man2/madvise.2.html
I'm not sure about mremap:
https://stackoverflow.com/questions/32211879/mremap-to-0-terminate-a-string
> [C++] arrow/util/io_util.cc does not compile on Solaris
> -------------------------------------------------------
>
> Key: ARROW-11954
> URL: https://issues.apache.org/jira/browse/ARROW-11954
> Project: Apache Arrow
> Issue Type: Sub-task
> Components: C++
> Reporter: Neal Richardson
> Priority: Major
>
> Looks similar to ARROW-11740
> {code}
> /export/home/XI4sjNd/Rtemp/RtmpvN4Lx2/fileef105d2909/cpp/src/arrow/util/io_util.cc:
> In function ‘arrow::Status arrow::internal::MemoryMapRemap(void*,
> std::size_t, std::size_t, int, void**)’:
> /export/home/XI4sjNd/Rtemp/RtmpvN4Lx2/fileef105d2909/cpp/src/arrow/util/io_util.cc:1089:48:
> error: ‘MREMAP_MAYMOVE’ was not declared in this scope
> *new_addr = mremap(addr, old_size, new_size, MREMAP_MAYMOVE);
> ^
> /export/home/XI4sjNd/Rtemp/RtmpvN4Lx2/fileef105d2909/cpp/src/arrow/util/io_util.cc:1089:62:
> error: ‘mremap’ was not declared in this scope
> *new_addr = mremap(addr, old_size, new_size, MREMAP_MAYMOVE);
> ^
> /export/home/XI4sjNd/Rtemp/RtmpvN4Lx2/fileef105d2909/cpp/src/arrow/util/io_util.cc:
> In function ‘arrow::Status arrow::internal::MemoryAdviseWillNeed(const
> std::vector&)’:
> /export/home/XI4sjNd/Rtemp/RtmpvN4Lx2/fileef105d2909/cpp/src/arrow/util/io_util.cc:1144:59:
> error: ‘POSIX_MADV_WILLNEED’ was not declared in this scope
> int err = posix_madvise(aligned.addr, aligned.size, POSIX_MADV_WILLNEED);
> ^
> /export/home/XI4sjNd/Rtemp/RtmpvN4Lx2/fileef105d2909/cpp/src/arrow/util/io_util.cc:1144:78:
> error: ‘posix_madvise’ was not declared in this scope
> int err = posix_madvise(aligned.addr, aligned.size, POSIX_MADV_WILLNEED);
> ^
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)