Comments (7)
I think the issue is that it is trying to compile OSQP and QDLDL with the -DDLONG = TRUE
(the default), which is maybe not supported on the 32 bit platform you are using. You could try compiling OSQP with -DDLONG = FALSE
(and maybe also -DFLOAT = TRUE
). You might have to do this directly from the OSQP source using CMAKE.
from qdldl.
Thanks for your prompt response. I added the line
cmake_args += ["-DDLONG=FALSE", "-DFLOAT=TRUE"]
to the setup.py file (I also tried only the -DDLONG=FALSE
flag), but it did not resolve the compilation error. Neither was changing FALSE
=>OFF
and TRUE
=>ON
. Do you have any other suggestions in mind?
Thanks!
Hylke
from qdldl.
Could you post verbose output from CMAKE so we can see what options you are getting?
from qdldl.
Yes, the complete output is:
$ python3 setup.py install
Disabling LONG
Remove long integers for numpy compatibility. See:
- https://github.com/numpy/numpy/issues/5906
- https://github.com/ContinuumIO/anaconda-issues/issues/3823
You can reenable long integers by passing: --osqp --long argument.
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-wheel-orhqnmrb/qdldl/setup.py'"'"'; __file__='"'"'/tmp/pip-wheel-orhqnmrb/qdldl/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-4o98ziee
cwd: /tmp/pip-wheel-orhqnmrb/qdldl/
Complete output (72 lines):
running bdist_wheel
running build
running build_ext
-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Floats are OFF
-- Disabling long integers (64bit) on 32bit machine
-- Long integers (64bit) are OFF
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/pip-wheel-orhqnmrb/qdldl/c/build
gmake[1]: Entering directory '/tmp/pip-wheel-orhqnmrb/qdldl/c/build'
gmake[2]: Entering directory '/tmp/pip-wheel-orhqnmrb/qdldl/c/build'
gmake[3]: Entering directory '/tmp/pip-wheel-orhqnmrb/qdldl/c/build'
Scanning dependencies of target qdldlobject
gmake[3]: Leaving directory '/tmp/pip-wheel-orhqnmrb/qdldl/c/build'
gmake[3]: Entering directory '/tmp/pip-wheel-orhqnmrb/qdldl/c/build'
[ 6%] Building C object qdldl/CMakeFiles/qdldlobject.dir/src/qdldl.c.o
gmake[3]: Leaving directory '/tmp/pip-wheel-orhqnmrb/qdldl/c/build'
[ 6%] Built target qdldlobject
gmake[3]: Entering directory '/tmp/pip-wheel-orhqnmrb/qdldl/c/build'
Scanning dependencies of target qdldlamd
gmake[3]: Leaving directory '/tmp/pip-wheel-orhqnmrb/qdldl/c/build'
gmake[3]: Entering directory '/tmp/pip-wheel-orhqnmrb/qdldl/c/build'
[ 13%] Building C object CMakeFiles/qdldlamd.dir/amd/src/amd_1.c.o
[ 20%] Building C object CMakeFiles/qdldlamd.dir/amd/src/amd_2.c.o
[ 26%] Building C object CMakeFiles/qdldlamd.dir/amd/src/amd_aat.c.o
[ 33%] Building C object CMakeFiles/qdldlamd.dir/amd/src/amd_control.c.o
[ 40%] Building C object CMakeFiles/qdldlamd.dir/amd/src/amd_defaults.c.o
[ 46%] Building C object CMakeFiles/qdldlamd.dir/amd/src/amd_info.c.o
[ 53%] Building C object CMakeFiles/qdldlamd.dir/amd/src/amd_order.c.o
[ 60%] Building C object CMakeFiles/qdldlamd.dir/amd/src/amd_post_tree.c.o
[ 66%] Building C object CMakeFiles/qdldlamd.dir/amd/src/amd_postorder.c.o
[ 73%] Building C object CMakeFiles/qdldlamd.dir/amd/src/amd_preprocess.c.o
[ 80%] Building C object CMakeFiles/qdldlamd.dir/amd/src/amd_valid.c.o
[ 86%] Building C object CMakeFiles/qdldlamd.dir/amd/src/SuiteSparse_config.c.o
[ 93%] Building C object CMakeFiles/qdldlamd.dir/amd/src/perm.c.o
[100%] Linking C static library out/libqdldlamd.a
gmake[3]: Leaving directory '/tmp/pip-wheel-orhqnmrb/qdldl/c/build'
[100%] Built target qdldlamd
gmake[2]: Leaving directory '/tmp/pip-wheel-orhqnmrb/qdldl/c/build'
gmake[1]: Leaving directory '/tmp/pip-wheel-orhqnmrb/qdldl/c/build'
building 'qdldl' extension
creating build
creating build/temp.linux-armv7l-3.8
creating build/temp.linux-armv7l-3.8/cpp
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic -Ic/qdldl/include -I/usr/local/lib/python3.8/dist-packages/pybind11/include -I/usr/local/lib/python3.8/dist-packages/pybind11/include -I/usr/include/python3.8 -c cpp/wrapper.cpp -o build/temp.linux-armv7l-3.8/cpp/wrapper.o -O3 -std=c++11
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ic -Ic/qdldl/include -I/usr/local/lib/python3.8/dist-packages/pybind11/include -I/usr/local/lib/python3.8/dist-packages/pybind11/include -I/usr/include/python3.8 -c cpp/qdldl.cpp -o build/temp.linux-armv7l-3.8/cpp/qdldl.o -O3 -std=c++11
cpp/qdldl.cpp: In constructor ‘qdldl::Solver::Solver(QDLDL_int, QDLDL_int*, QDLDL_int*, QDLDL_float*)’:
cpp/qdldl.cpp:34:41: error: cannot convert ‘QDLDL_int*’ {aka ‘int*’} to ‘const long long int*’
34 | QDLDL_int amd_status = amd_l_order(nx, Ap, Ai, P, NULL, NULL);
| ^~
| |
| QDLDL_int* {aka int*}
In file included from cpp/qdldl.hpp:3,
from cpp/qdldl.cpp:1:
c/amd/include/amd.h:63:28: note: initializing argument 2 of ‘long long int amd_l_order(long long int, const long long int*, const long long int*, long long int*, c_float*, c_float*)’
63 | const SuiteSparse_long Ap [ ],
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for qdldl
ERROR: Failed to build one or more wheels
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/setuptools/installer.py", line 128, in fetch_build_egg
subprocess.check_call(cmd)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpbl53r0dr', '--quiet', 'qdldl']' returned non-zero exit status 1.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "setup.py", line 262, in <module>
setup(name='osqp',
File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 162, in setup
_install_setup_requires(attrs)
File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 157, in _install_setup_requires
dist.fetch_build_eggs(dist.setup_requires)
File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 699, in fetch_build_eggs
resolved_dists = pkg_resources.working_set.resolve(
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 779, in resolve
dist = best[req.key] = env.best_match(
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1064, in best_match
return self.obtain(req, installer)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1076, in obtain
return installer(requirement)
File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 758, in fetch_build_egg
return fetch_build_egg(self, req)
File "/usr/lib/python3/dist-packages/setuptools/installer.py", line 130, in fetch_build_egg
raise DistutilsError(str(e)) from e
distutils.errors.DistutilsError: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpbl53r0dr', '--quiet', 'qdldl']' returned non-zero exit status 1.
I hope this helps.
from qdldl.
It seems like you probably have the same problem as this one : osqp/qdldl-python#15.
Suggestion there is to try OSQP version < 0.6.2.
from qdldl.
Thanks, that seems to do the trick!
from qdldl.
Thanks for confirming. In that case I will close this and we will just keep it live in the qdldl-python repo.
from qdldl.
Related Issues (16)
- interop issues with QDLDL_bool and C++ HOT 9
- Release v0.1.3 HOT 2
- etree counting error for very large matrices
- compile error issue HOT 1
- custom number types HOT 6
- [openSUSE linux] libqdldl.a does not contain a non-empty .text section. The archive was not created with -ffat-lto-objects option. HOT 3
- [openSUSE] How to move file from /usr/lib/ to /usr/lib64? HOT 2
- library output names HOT 1
- Compile error with Windows ninja build HOT 3
- Windows: fatal error C1083: Cannot open include file: 'qdldl_types.h' HOT 3
- [Windows] Error in cmake HOT 2
- Cannot install by py for python 3.10 HOT 3
- Implicit permutation
- Missing documentation and for how to run the tests HOT 2
- Minor compilation warnings
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qdldl.