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

Installation problem #7

Open
rsheftel opened this issue Oct 29, 2019 · 4 comments
Open

Installation problem #7

rsheftel opened this issue Oct 29, 2019 · 4 comments

Comments

@rsheftel
Copy link

I am trying to pip install this package from the github source but it is failing on Linux. Do you have plans to package and upload to PyPi?

@llllllllll
Copy link
Owner

I can add this to PyPI, but it will only be source dists, no binary wheels. A source dist will likely not solve whatever issue you are having. I have only built this on GNU+Linux, if you post your issue maybe I can help.

@rsheftel
Copy link
Author

From an ubuntu 18.04 instance:

    ERROR: Complete output from command /home/ubuntu/miniconda3/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-w70m3rlh/jlist/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-3ootriuo/install-record.txt --single-version-externally-managed --compile:
    ERROR: running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.7
    creating build/lib.linux-x86_64-3.7/jlist
    copying jlist/patch.py -> build/lib.linux-x86_64-3.7/jlist
    copying jlist/__init__.py -> build/lib.linux-x86_64-3.7/jlist
    creating build/lib.linux-x86_64-3.7/jlist/tests
    copying jlist/tests/test_jlist.py -> build/lib.linux-x86_64-3.7/jlist/tests
    copying jlist/tests/list_tests.py -> build/lib.linux-x86_64-3.7/jlist/tests
    copying jlist/tests/test_ops.py -> build/lib.linux-x86_64-3.7/jlist/tests
    copying jlist/tests/seq_tests.py -> build/lib.linux-x86_64-3.7/jlist/tests
    copying jlist/tests/__init__.py -> build/lib.linux-x86_64-3.7/jlist/tests
    running egg_info
    writing jlist.egg-info/PKG-INFO
    writing dependency_links to jlist.egg-info/dependency_links.txt
    writing top-level names to jlist.egg-info/top_level.txt
    reading manifest file 'jlist.egg-info/SOURCES.txt'
    writing manifest file 'jlist.egg-info/SOURCES.txt'
    copying jlist/jlist.cc -> build/lib.linux-x86_64-3.7/jlist
    copying jlist/ops.cc -> build/lib.linux-x86_64-3.7/jlist
    running build_ext
    building 'jlist.jlist' extension
    creating build/temp.linux-x86_64-3.7
    creating build/temp.linux-x86_64-3.7/jlist
    gcc -pthread -B /home/ubuntu/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I. -I/home/ubuntu/miniconda3/include/python3.7m -c jlist/jlist.cc -o build/temp.linux-x86_64-3.7/jlist/jlist.o -Wall -Wextra -Wno-missing-field-initializers -std=gnu++17 -march=native -mtune=native -O3 -g -fmax-errors=15
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    jlist/jlist.cc:3:10: fatal error: charconv: No such file or directory
     #include <charconv>
              ^~~~~~~~~~
    compilation terminated.
    error: command 'gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command "/home/ubuntu/miniconda3/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-w70m3rlh/jlist/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-3ootriuo/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-w70m3rlh/jlist/

@llllllllll
Copy link
Owner

We use charconv in the repr of int tagged lists: https://github.com/llllllllll/jlist/blob/master/jlist/jlist.cc#L607

This appears to have been added in 8.1 (for integral types only), and the default gcc on ubuntu 18.04 is gcc-7. This is just an efficient itoa implementation with a nice interface, so we could probably do a feature test for this and fall back to a different implementation. Would you be interested in implementing that?

@rsheftel
Copy link
Author

As much as I would like to test I have no C++/C capabilities so I am afraid I am not able to submit a PR.

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