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

Reply via email to