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

cykhash build error while installing in Docker #213

Open
anjanvb opened this issue Apr 4, 2023 · 2 comments
Open

cykhash build error while installing in Docker #213

anjanvb opened this issue Apr 4, 2023 · 2 comments

Comments

@anjanvb
Copy link

anjanvb commented Apr 4, 2023

Describe the bug
I am trying to get ducks to install in a Docker for AWS Lambda, I see this error during the build process. The Docker image being used here is this lambda/python:3.9-x86_64 found here https://gallery.ecr.aws/lambda/python.

#7 31.42   × Building wheel for cykhash (pyproject.toml) did not run successfully.
#7 31.42   │ exit code: 1
#7 31.42   ╰─> [53 lines of output]
#7 31.42       running bdist_wheel
#7 31.42       running build
#7 31.42       running build_py
#7 31.42       creating build
#7 31.42       creating build/lib.linux-x86_64-cpython-39
#7 31.42       creating build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       copying src/cykhash/compat.py -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       copying src/cykhash/__init__.py -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       running egg_info
#7 31.42       writing src/cykhash.egg-info/PKG-INFO
#7 31.42       writing dependency_links to src/cykhash.egg-info/dependency_links.txt
#7 31.42       writing top-level names to src/cykhash.egg-info/top_level.txt
#7 31.42       reading manifest file 'src/cykhash.egg-info/SOURCES.txt'
#7 31.42       reading manifest template 'MANIFEST.in'
#7 31.42       adding license file 'LICENSE'
#7 31.42       writing manifest file 'src/cykhash.egg-info/SOURCES.txt'
#7 31.42       copying src/cykhash/common.pxi -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       copying src/cykhash/floatdef.pxd -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       copying src/cykhash/hash_functions.pxi -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       copying src/cykhash/khash.pxi -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       copying src/cykhash/khashmaps.pxd -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       copying src/cykhash/khashmaps.pyx -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       copying src/cykhash/khashsets.pxd -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       copying src/cykhash/khashsets.pyx -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       copying src/cykhash/memory.pxi -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       copying src/cykhash/murmurhash.pxi -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       copying src/cykhash/unique.pxd -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       copying src/cykhash/unique.pyx -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       copying src/cykhash/utils.pyx -> build/lib.linux-x86_64-cpython-39/cykhash
#7 31.42       creating build/lib.linux-x86_64-cpython-39/cykhash/unique
#7 31.42       copying src/cykhash/unique/unique_impl.pxi.in -> build/lib.linux-x86_64-cpython-39/cykhash/unique
#7 31.42       creating build/lib.linux-x86_64-cpython-39/cykhash/sets
#7 31.42       copying src/cykhash/sets/set_init.pxi.in -> build/lib.linux-x86_64-cpython-39/cykhash/sets
#7 31.42       copying src/cykhash/sets/set_impl.pxi.in -> build/lib.linux-x86_64-cpython-39/cykhash/sets
#7 31.42       copying src/cykhash/sets/set_header.pxi.in -> build/lib.linux-x86_64-cpython-39/cykhash/sets
#7 31.42       creating build/lib.linux-x86_64-cpython-39/cykhash/maps
#7 31.42       copying src/cykhash/maps/map_header.pxi.in -> build/lib.linux-x86_64-cpython-39/cykhash/maps
#7 31.42       copying src/cykhash/maps/map_impl.pxi.in -> build/lib.linux-x86_64-cpython-39/cykhash/maps
#7 31.42       copying src/cykhash/maps/map_init.pxi.in -> build/lib.linux-x86_64-cpython-39/cykhash/maps
#7 31.42       copying src/cykhash/unique/unique_impl.pxi -> build/lib.linux-x86_64-cpython-39/cykhash/unique
#7 31.42       copying src/cykhash/sets/set_header.pxi -> build/lib.linux-x86_64-cpython-39/cykhash/sets
#7 31.42       copying src/cykhash/sets/set_impl.pxi -> build/lib.linux-x86_64-cpython-39/cykhash/sets
#7 31.42       copying src/cykhash/sets/set_init.pxi -> build/lib.linux-x86_64-cpython-39/cykhash/sets
#7 31.42       copying src/cykhash/maps/map_header.pxi -> build/lib.linux-x86_64-cpython-39/cykhash/maps
#7 31.42       copying src/cykhash/maps/map_impl.pxi -> build/lib.linux-x86_64-cpython-39/cykhash/maps
#7 31.42       copying src/cykhash/maps/map_init.pxi -> build/lib.linux-x86_64-cpython-39/cykhash/maps
#7 31.42       running build_ext
#7 31.42       building 'cykhash.khashsets' extension
#7 31.42       creating build/temp.linux-x86_64-cpython-39
#7 31.42       creating build/temp.linux-x86_64-cpython-39/src
#7 31.42       creating build/temp.linux-x86_64-cpython-39/src/cykhash
#7 31.42       gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/var/lang/include/python3.9 -c src/cykhash/khashsets.c -o build/temp.linux-x86_64-cpython-39/src/cykhash/khashsets.o
#7 31.42       error: command 'gcc' failed: No such file or directory
#7 31.42       [end of output]

To Reproduce
Steps to reproduce the behavior:

  1. create a requirements.txt with ducks
  2. Create a dockerfile as below
FROM public.ecr.aws/lambda/python:3.9-x86_64
COPY requirements.txt  .
RUN  pip3 install -r requirements.txt --target "${LAMBDA_TASK_ROOT}"

Expected behavior
The installation to work properly.

Desktop (please complete the following information):

  • Linux, x86-64
@yhack
Copy link

yhack commented Apr 6, 2023

@anjanvb cykhash requires a compiler, gcc. If you pip install it on a machine with gcc it should work. But Poetry still has trouble with cykhash due to lack of PEP 517 compatibility. @manimino this library fills a useful niche. Any chance of making installation work without compile?

@manimino
Copy link
Owner

manimino commented Apr 6, 2023

Agreed, the compile hurdle is one that many people have hit. I will look into ways to improve this in future.

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

3 participants