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

[BUG] Failed to build k-means-constrained #32

Closed
ivan-zapreev opened this issue Sep 5, 2022 · 3 comments
Closed

[BUG] Failed to build k-means-constrained #32

ivan-zapreev opened this issue Sep 5, 2022 · 3 comments

Comments

@ivan-zapreev
Copy link

ivan-zapreev commented Sep 5, 2022

Describe the bug
When trying to install k-means-constrained 0.7.1 on a Linux machine under Spark, I get the following error:

Failed to build k-means-constrained

22/09/05 10:06:58 INFO SharedDriverContext: Failed to attach library dbfs:/FileStore/jars/df01ffad_9c82_47d0_af9f_d58e5a9167f7/web_extension-4.0-py3-none-any.whl to Spark
org.apache.spark.SparkException: Process List(/databricks/python/bin/pip, install, --upgrade, --find-links=/local_disk0/spark-418a7f7d-d386-417e-badc-e56ea3a21c6e/userFiles-6ca93792-2269-488d-b718-a0c3fb538085, /local_disk0/spark-418a7f7d-d386-417e-badc-e56ea3a21c6e/userFiles-6ca93792-2269-488d-b718-a0c3fb538085/activity_discovery_web_extension-4.0-py3-none-any.whl, --disable-pip-version-check) exited with code 1.   ERROR: Command errored out with exit status 1:
   command: /databricks/python3/bin/python /databricks/python3/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmp4ehqh6yz
       cwd: /tmp/pip-install-_5fx8ys_/k-means-constrained_4ee597c098d6445ea4b8d6ca9744eeb4
  Complete output (38 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.8
  creating build/lib.linux-x86_64-3.8/k_means_constrained
  copying k_means_constrained/mincostflow_vectorized.py -> build/lib.linux-x86_64-3.8/k_means_constrained
  copying k_means_constrained/__init__.py -> build/lib.linux-x86_64-3.8/k_means_constrained
  copying k_means_constrained/k_means_constrained_.py -> build/lib.linux-x86_64-3.8/k_means_constrained
  creating build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import
  copying k_means_constrained/sklearn_import/__init__.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import
  copying k_means_constrained/sklearn_import/fixes.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import
  copying k_means_constrained/sklearn_import/base.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import
  copying k_means_constrained/sklearn_import/funcsigs.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import
  copying k_means_constrained/sklearn_import/exceptions.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import
  creating build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/metrics
  copying k_means_constrained/sklearn_import/metrics/__init__.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/metrics
  copying k_means_constrained/sklearn_import/metrics/pairwise.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/metrics
  creating build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/utils
  copying k_means_constrained/sklearn_import/utils/__init__.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/utils
  copying k_means_constrained/sklearn_import/utils/sparsefuncs.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/utils
  copying k_means_constrained/sklearn_import/utils/fixes.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/utils
  copying k_means_constrained/sklearn_import/utils/extmath.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/utils
  copying k_means_constrained/sklearn_import/utils/validation.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/utils
  creating build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/preprocessing
  copying k_means_constrained/sklearn_import/preprocessing/__init__.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/preprocessing
  copying k_means_constrained/sklearn_import/preprocessing/data.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/preprocessing
  creating build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/externals
  copying k_means_constrained/sklearn_import/externals/__init__.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/externals
  copying k_means_constrained/sklearn_import/externals/funcsigs.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/externals
  creating build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/cluster
  copying k_means_constrained/sklearn_import/cluster/__init__.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/cluster
  copying k_means_constrained/sklearn_import/cluster/k_means_.py -> build/lib.linux-x86_64-3.8/k_means_constrained/sklearn_import/cluster
  running build_ext
  creating build/temp.linux-x86_64-3.8
  creating build/temp.linux-x86_64-3.8/k_means_constrained
  x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/tmp/pip-build-env-j0gh3wdg/overlay/lib/python3.8/site-packages/numpy/core/include -I/databricks/python3/include -I/usr/include/python3.8 -c k_means_constrained/mincostflow_vectorized_.c -o build/temp.linux-x86_64-3.8/k_means_constrained/mincostflow_vectorized_.o
  error: command 'x86_64-linux-gnu-gcc' failed: No such file or directory
  ----------------------------------------
  ERROR: Failed building wheel for k-means-constrained
ERROR: Could not build wheels for k-means-constrained which use PEP 517 and cannot be installed directly

Minimum working example
pip install k_means_constrained

Versions:

  • Python: 3.8
  • Operating system: Linux
  • k-means-constrained: 0.7.1
  • numpy: 1.23.2
  • scipy: 1.8.0
  • ortools: 9.3.10497
  • joblib: 1.1.0
  • cython (if installed): 0.29.32
@IRunac
Copy link

IRunac commented Sep 5, 2022

Encountered same issue today. No solution found so far.

@ivan-zapreev
Copy link
Author

ivan-zapreev commented Sep 5, 2022

Encountered same issue today. No solution found so far.

I've solved it eventually by installing build essentials (on Ubuntu):

sudo apt -y install build-essential

However on Mac-OS I did not have to do that at all ...

Either way, if having gnu gcc is a per-requisite it would be good to have it noted in the installation instructions.

PS: For a Spark job via DataBricks the issue is solvable by providing the init script that installs the build essentials

@joshlk
Copy link
Owner

joshlk commented Sep 9, 2022

Im closing this for now. let me know if you require more assistance

@joshlk joshlk closed this as completed Sep 9, 2022
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