Skip to content

BUG: pandas does not build on AIX - when using xlc/xlC as compiler #35123

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

Closed
1 task
aixtools opened this issue Jul 4, 2020 · 5 comments
Closed
1 task

BUG: pandas does not build on AIX - when using xlc/xlC as compiler #35123

aixtools opened this issue Jul 4, 2020 · 5 comments
Labels
Build Library building on various platforms Enhancement

Comments

@aixtools
Copy link
Contributor

aixtools commented Jul 4, 2020

  • [x ] I have checked that this issue has not already been reported.

  • [ x] I have confirmed this bug exists on the latest version of pandas.

  • (optional) I have confirmed this bug exists on the master branch of pandas.


Panda build stops with:

"pandas/_libs/window/aggregations.cpp", line 5436.23: 1540-0063 (S) The text "(" is unexpected.
"pandas/_libs/window/aggregations.cpp", line 5523.23: 1540-0063 (S) The text "(" is unexpected.
"pandas/_libs/window/aggregations.cpp", line 6759.21: 1540-0063 (S) The text "(" is unexpected.
"pandas/_libs/window/aggregations.cpp", line 20023.21: 1540-0063 (S) The text "(" is unexpected.

On examining this I see that there are special statements - perhaps unsupported by xlc/xlC (v11).

 +5436      __pyx_t_1 = (std::signbit(__pyx_v_val) != 0);

 +5523      __pyx_t_1 = (std::signbit(__pyx_v_val) != 0);

 +6759    __pyx_t_1 = (std::isnan(__pyx_v_val) != 0);

+20023    __pyx_t_1 = (std::isnan(__pyx_v_val) != 0);

There is a good chance this is an issue caused by cython. but I thought I would post/mention it here as well.

@aixtools aixtools added Bug Needs Triage Issue that has not been reviewed by a pandas team member labels Jul 4, 2020
@jreback
Copy link
Contributor

jreback commented Jul 4, 2020

we have no support on AIX - but would accept patches

@jreback jreback added Build Library building on various platforms and removed Bug Needs Triage Issue that has not been reviewed by a pandas team member labels Jul 4, 2020
@aixtools
Copy link
Contributor Author

aixtools commented Jul 4, 2020

Would love to help - but will need help creating a patch. Cython says - not our problem: cython/cython#3723

The pandas reference they include goes well beyond my understanding of compilers.

Maybe it is fixed in v16 of the IBM compiler (I have v11 licensed), maybe it will be fixed in the next release (based on LLVM iirc) - but that does not help me now. And switching to gcc is not a supportable option for me. For AIX, using gcc means you must develop and maintain a complete GNU-GCC RTE. Do not have the resources for that.

@aixtools
Copy link
Contributor Author

aixtools commented Jul 4, 2020

For a starting point - currently testing the tagged

  • versions 0.23,4, 0.24.2 and
  • version 0.25.3 - stopped with similar issue:
xlc_r -DNDEBUG -O -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -DNPY_NO_DEPRECATED_API=0 -Ipandas/_libs -I./pandas/_libs -Ipandas/_libs/src/klib -Ipandas/_libs/src -I/opt/python/py37/lib/python3.7/site-packages/numpy/core/include -I/opt/python/py37/include -I/opt/include/python3.7m -c pandas/_libs/window.cpp -o build/temp.aix-6106-1043-32-3.7/pandas/_libs/window.o
"pandas/_libs/window.cpp", line 10039.23: 1540-0063 (S) The text "(" is unexpected.
"pandas/_libs/window.cpp", line 10126.23: 1540-0063 (S) The text "(" is unexpected.
"pandas/_libs/window.cpp", line 11258.21: 1540-0063 (S) The text "(" is unexpected.

FYI: checked my archives - last version I had built successfully was 0.19.0 (in Oct 2106)

@WillAyd
Copy link
Member

WillAyd commented Jul 7, 2020

I think @da-woods summed it up well on the Cython issue; seems like more of a compiler C++11 support issue than anything else

If you can find a way to define compatible functions without C++11 support feel free to push a PR

@WillAyd
Copy link
Member

WillAyd commented Dec 19, 2024

At this point in time pandas requires C++11 and that is explicitly enforced by the build system, so I don't think there is much to do here

@WillAyd WillAyd closed this as completed Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build Library building on various platforms Enhancement
Projects
None yet
Development

No branches or pull requests

4 participants