On 9/3/2020 12:43 AM, Bernd Prager wrote:
All,
While trying to install "pyarrow" and not able to find a distribution package so
far I was trying to compile the Apache Arrow sources from
https://arrow.apache.org/ under CYGWIN_NT-10.0 HW-016990 3.1.5(0.340/5/3).
I tried:
$ mkdir release; cd release/
$ cmake .. -DARROW_JEMALLOC=OFF
$ make
It fails with:
--- snip -----------------
[ 0%] Built target toolchain
[ 0%] Built target arrow_dependencies
[ 1%] Building CXX object
src/arrow/CMakeFiles/arrow_objlib.dir/array/concatenate.cc.o
In file included from
/home/xxx/Tmp/apache-arrow-1.0.1/cpp/src/arrow/util/int_util_internal.h:30,
from
/home/xxx/Tmp/apache-arrow-1.0.1/cpp/src/arrow/array/concatenate.cc:39:
/home/xxx/Tmp/apache-arrow-1.0.1/cpp/src/arrow/vendored/portable-snippets/safe-math.h:
In function ‘int psnip_safe_ulong_add(long unsigned int*, long unsigned int,
long unsigned int)’:
/home/xxx/Tmp/apache-arrow-1.0.1/cpp/src/arrow/vendored/portable-snippets/safe-math.h:621:22:
error: cannot convert ‘long unsigned int*’ to ‘ULONG*’ {aka ‘unsigned int*’}
621 | return isf(a, b, res) == S_OK; \
| ^~~
| |
| long unsigned int*
/home/xxx/Tmp/apache-arrow-1.0.1/cpp/src/arrow/vendored/portable-snippets/safe-math.h:621:22:
note: in definition of macro ‘PSNIP_SAFE_DEFINE_INTSAFE’
621 | return isf(a, b, res) == S_OK; \
| ^~~
In file included from
/home/xxx/Tmp/apache-arrow-1.0.1/cpp/src/arrow/vendored/portable-snippets/safe-math.h:126,
from
/home/xxx/Tmp/apache-arrow-1.0.1/cpp/src/arrow/util/int_util_internal.h:30,
from
/home/xxx/Tmp/apache-arrow-1.0.1/cpp/src/arrow/array/concatenate.cc:39:
/usr/include/w32api/intsafe.h:357:21: note: initializing argument 3 of
‘HRESULT ULongAdd(ULONG, ULONG, ULONG*)’
357 | __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongAdd, ULONG, add)
| ^~~~~~~~~~~~~~~~~~~~
--- snip -----------------
Now since I think this is a rather popular package I was wondering if anyone has
gone this journey already before me.
(I noticed that Cygwin is not officially supported by Apache Arrow so far.)
Was anybody able to successfully compile that package? Any hints, help or
advise?
The particular error message you quoted above comes from the fact that
/usr/include/w32api/intsafe.h was included. This is unlikely to be appropriate
in a Cygwin build. So you should track down why that happens and disable it.
Maybe you'll be lucky and the build will succeed after that. More likely, there
will be other places where the build system treats Cygwin as though it were
Windows, and you'll just have to fix them one by one. It can be very tedious.
If you succeed, I hope you'll offer to become the Cygwin maintainer of that
package.
Ken
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple