jlist icon indicating copy to clipboard operation
jlist copied to clipboard

Installation problem

Open rsheftel opened this issue 6 years ago • 4 comments

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?

rsheftel avatar Oct 29 '19 13:10 rsheftel

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.

llllllllll avatar Oct 29 '19 16:10 llllllllll

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/

rsheftel avatar Oct 31 '19 02:10 rsheftel

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?

llllllllll avatar Oct 31 '19 16:10 llllllllll

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.

rsheftel avatar Oct 31 '19 20:10 rsheftel