Skip to content
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

Clang unusual switches wrongly hardcoded in resulting setup.py #1704

Open
Manamama opened this issue May 19, 2024 · 3 comments
Open

Clang unusual switches wrongly hardcoded in resulting setup.py #1704

Manamama opened this issue May 19, 2024 · 3 comments

Comments

@Manamama
Copy link

After compiling manually (cmake and make with many switches and changes to CmakeList.txt file), Python kvetches that:

clang++: error: unknown argument: '-fno-openmp-implicit-rpath'                                              clang++: error: unknown argument: '-fno-openmp-implicit-rpath'                                          error: command '/data/data/com.termux/files/usr/bin/clang++' failed with exit code 1                error: subprocess-exited-with-error

amd:

clang++: error: unknown argument: '-fno-openmp-implicit-rpath'

Grep shows it hardcoded:

~/.../CTranslate2/python $ grep visibility . -r      ./setup.py:cflags = ["-std=c++17", "-fvisibility=hidden"]


...
~/.../CTranslate2/python $ grep rpath . -r           ./setup.py:    ldflags.append("-Wl,-rpath,/usr/local/lib")                                                ~/.../CTranslate2/python $

so we must trim it to:
./setup.py:cflags = ["-std=c++17"]
etc.

-> Do change.

With fixes:

~/.../CTranslate2/python $ pip install -v .          Using pip 24.0 from /data/data/com.termux/files/usr/lib/python3.11/site-packages/pip (python 3.11)
...
clang -DNDEBUG -g -fwrapv -O3 -Wall -fstack-protector-strong -O3 -fstack-protector-strong -O3 -fuse-ld=lld -pthread -g -march=armv8-a -mtune=cortex-a53 -Wall -Wextra -fPIC -I/data/data/com.termux/files/usr/lib/python3.11/site-packages/pybind11/include -I/data/data/com.termux/files/usr/include/python3.11 -c cpp/mpi.cc -o build/temp.linux-aarch64-cpython-311/cpp/mpi.o -std=c++17
...

etc and installs.

My box:
Compiler:

  • GCC Version: ndk-sysroot/tur-packages, (26b-3).
  • g++ (symbolic link to clang-18), clang version 18.1.5
    Target: aarch64-unknown-linux-android24
    Thread model: posix
    InstalledDir: /data/data/com.termux/files/usr/bin
  • Make version:
    GNU Make 4.4.1
    Built for aarch64-unknown-linux-android
  • Abseil C++ library: 20240116.2 for the AArch64

Python Environment:

  • Python Version: 3.11.9
  • pip Version: 24.0
  • Cython Version: 3.0.10
  • setuptools Version: 69.5.1
  • PyTorch Version: 2.1.2 *
  • numpy Version: 1.26.4 *
@Manamama Manamama changed the title Clang unusual switches wrongly in resulting setup.py Clang unusual switches wrongly hardcoded in resulting setup.py May 19, 2024
@minhthuc2502
Copy link
Collaborator

minhthuc2502 commented May 24, 2024

Not sure what your problem is and how to reproduce this. Please explain more clearly.

@Manamama
Copy link
Author

Manamama commented May 28, 2024

(On mobile, so pithy.) As I have found the same error: -fno-openmp-implicit-rpath in also another package, I have spent half an hour since then asking Ms Perplexity AI about root cause. In short, quoth she:

The clang 17.0.2 in NDK supports fopenmp-implicit-rpath option but clang 18.1.5 in termux-packages does not support that, so (here a Python script to change smth in pychache follows, which works for all such cases).

In very short: it may be specific to that config above, and yet removing this (hard-coded) switch may help all.

@Manamama
Copy link
Author

Seemingly solved since by Python upgrade itself, see: termux/termux-app#3948

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants