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

ibmdb db2 support for python alchemy on mac arm64 #865

Closed
powellquiring opened this issue Jun 26, 2023 · 2 comments
Closed

ibmdb db2 support for python alchemy on mac arm64 #865

powellquiring opened this issue Jun 26, 2023 · 2 comments

Comments

@powellquiring
Copy link

Is your feature request related to a problem? Please describe.

% cat requirements.txt
# To ensure app dependencies are ported from your virtual environment/host machine into your container, run 'pip freeze > requirements.txt' in the terminal to overwrite this file
apiflask==1.0.0
flask==2.1.2
gunicorn==20.1.0
python-dotenv
Flask_SQLAlchemy==2.5.1
SQLAlchemy==1.3.22
ibm-db-sa
ibm-db

% pip install -r requirements.txt
Collecting apiflask==1.0.0 (from -r requirements.txt (line 2))
  Using cached APIFlask-1.0.0-py3-none-any.whl (48 kB)
Collecting flask==2.1.2 (from -r requirements.txt (line 3))
  Using cached Flask-2.1.2-py3-none-any.whl (95 kB)
Collecting gunicorn==20.1.0 (from -r requirements.txt (line 4))
  Using cached gunicorn-20.1.0-py3-none-any.whl (79 kB)
Collecting python-dotenv (from -r requirements.txt (line 5))
  Using cached python_dotenv-1.0.0-py3-none-any.whl (19 kB)
Collecting Flask_SQLAlchemy==2.5.1 (from -r requirements.txt (line 6))
  Using cached Flask_SQLAlchemy-2.5.1-py2.py3-none-any.whl (17 kB)
Collecting SQLAlchemy==1.3.22 (from -r requirements.txt (line 7))
  Using cached SQLAlchemy-1.3.22.tar.gz (6.3 MB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting ibm-db-sa (from -r requirements.txt (line 8))
  Using cached ibm_db_sa-0.4.0-py3-none-any.whl (31 kB)
Collecting ibm-db (from -r requirements.txt (line 9))
  Using cached ibm_db-3.1.4.tar.gz (1.4 MB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'error'
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [2 lines of output]
      Detected 64-bit Python
      Arm64 architecture is not supported. Please install intel-only (x64) version of python and then install ibm_db.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Find full source code for the python code here: #601

Describe the solution you'd like
The best would be a wheel that simply copied the python files that sql alchemy needs to access ibm_db. See #601. Maybe the first step is to support arm64 using the current process.

@bimalkjha
Copy link
Member

@powellquiring You can see the error message in the installation output as - Arm64 architecture is not supported. Please install intel-only (x64) version of python and then install ibm_db.
So, if you install Intel only version of python on arm64 system, you can install ibm_db and sqlalchemy. Many users are using ibm_db on arm64 by installing Intel Only version of python. Please see this comment for full instructions.
We can provide wheel image for x64/amd64 architecture only. So, to install x64 version of macos wheel on M1 chip system too you need to install Intel-Only version of python.
ibm_db can work with arm64 version of python only if IBM provides clidriver for arm64 architecture. For that support, a request with IBM already opened as https://ibm-data-and-ai.ideas.ibm.com/ideas/DB2CON-I-92 . Please open this link and vote/comment there.
ARM64 support is not an issue with ibm_db but with the underlying db2 driver named IBM Data Sever Driver Package or dsdriver/clidiver.
To support ibm_db on MacOS arm64 platform, we already have an issue #827 open. So, this issue is duplicate and should be closed.
Thanks.

@bimalkjha
Copy link
Member

Closing the issue as solution already provided. Thanks.

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