[CONPY-236] mariadb doesn't publish wheel files for x86_64 and builds fail Created: 2022-11-09  Updated: 2022-11-21

Status: Open
Project: MariaDB Connector/Python
Component/s: Installation
Affects Version/s: 1.1.5post1
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Mike Bayer Assignee: Georg Richter
Resolution: Unresolved Votes: 1
Labels: None

Python Version: 3

 Description   

Hey there-

Still having problems installing. It would be helpful if there were x86_64 wheel files on pypi.

both CI containers that install dependencies from mariadb directly and my local machine that has fedora packages have failures, on my local fedora 35:

mariadb-common-10.5.16-1.fc35.x86_64
mariadb-errmsg-10.5.16-1.fc35.x86_64
mariadb-10.5.16-1.fc35.x86_64
mariadb-backup-10.5.16-1.fc35.x86_64
mariadb-cracklib-password-check-10.5.16-1.fc35.x86_64
mariadb-gssapi-server-10.5.16-1.fc35.x86_64
mariadb-server-utils-10.5.16-1.fc35.x86_64
mariadb-server-10.5.16-1.fc35.x86_64
mariadb-devel-10.5.16-1.fc35.x86_64
mariadb-connector-c-3.2.7-1.fc35.x86_64
mariadb-connector-c-doc-3.2.7-1.fc35.noarch
mariadb-connector-c-devel-3.2.7-1.fc35.x86_64
mariadb-connector-c-config-3.2.7-1.fc35.noarch

build output:

$ pip install mariadb --upgrade
Requirement already satisfied: mariadb in /home/classic/.venv3100/lib/python3.10/site-packages (1.1.2)
Collecting mariadb
  Downloading mariadb-1.1.5.post1.tar.gz (82 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.2/82.2 kB 3.3 MB/s eta 0:00:00
  Installing build dependencies ... done
  WARNING: Missing build requirements in pyproject.toml for mariadb from https://files.pythonhosted.org/packages/63/0b/c9c74cdc520b70d070387155233a2b008b96b998ae90170297726a1db72e/mariadb-1.1.5.post1.tar.gz.
  WARNING: The project does not specify a build backend, and pip cannot fall back to setuptools without 'wheel'.
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: packaging in /home/classic/.venv3100/lib/python3.10/site-packages (from mariadb) (21.3)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /home/classic/.venv3100/lib/python3.10/site-packages (from packaging->mariadb) (3.0.9)
Building wheels for collected packages: mariadb
  Building wheel for mariadb (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for mariadb (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [47 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-310
      creating build/lib.linux-x86_64-cpython-310/mariadb
      copying mariadb/__init__.py -> build/lib.linux-x86_64-cpython-310/mariadb
      copying mariadb/connectionpool.py -> build/lib.linux-x86_64-cpython-310/mariadb
      copying mariadb/connections.py -> build/lib.linux-x86_64-cpython-310/mariadb
      creating build/lib.linux-x86_64-cpython-310/mariadb/constants
      copying mariadb/constants/__init__.py -> build/lib.linux-x86_64-cpython-310/mariadb/constants
      copying mariadb/constants/CAPABILITY.py -> build/lib.linux-x86_64-cpython-310/mariadb/constants
      copying mariadb/constants/CLIENT.py -> build/lib.linux-x86_64-cpython-310/mariadb/constants
      copying mariadb/constants/CURSOR.py -> build/lib.linux-x86_64-cpython-310/mariadb/constants
      copying mariadb/constants/ERR.py -> build/lib.linux-x86_64-cpython-310/mariadb/constants
      copying mariadb/constants/FIELD_FLAG.py -> build/lib.linux-x86_64-cpython-310/mariadb/constants
      copying mariadb/constants/FIELD_TYPE.py -> build/lib.linux-x86_64-cpython-310/mariadb/constants
      copying mariadb/constants/INDICATOR.py -> build/lib.linux-x86_64-cpython-310/mariadb/constants
      copying mariadb/constants/INFO.py -> build/lib.linux-x86_64-cpython-310/mariadb/constants
      copying mariadb/constants/STATUS.py -> build/lib.linux-x86_64-cpython-310/mariadb/constants
      copying mariadb/constants/TPC_STATE.py -> build/lib.linux-x86_64-cpython-310/mariadb/constants
      copying mariadb/cursors.py -> build/lib.linux-x86_64-cpython-310/mariadb
      copying mariadb/dbapi20.py -> build/lib.linux-x86_64-cpython-310/mariadb
      copying mariadb/field.py -> build/lib.linux-x86_64-cpython-310/mariadb
      copying mariadb/release_info.py -> build/lib.linux-x86_64-cpython-310/mariadb
      running build_ext
      building 'mariadb._mariadb' extension
      creating build/temp.linux-x86_64-cpython-310
      creating build/temp.linux-x86_64-cpython-310/mariadb
      gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DPY_MARIADB_MAJOR_VERSION=1 -DPY_MARIADB_MINOR_VERSION=1 -DPY_MARIADB_PATCH_VERSION=5 -DPY_MARIADB_PRE_RELEASE_SEGMENT=\"None\" -DPY_MARIADB_PRE_RELEASE_NR=\"0\" -DPY_MARIADB_POST_RELEASE_SEGMENT=\"post\" -DPY_MARIADB_POST_RELEASE_NR=\"1\" -I/usr/include/mysql -I/usr/include/mysql/mysql -I./include -I/home/classic/.venv3/include -I/opt/python-3.10.0/include/python3.10 -c mariadb/mariadb.c -o build/temp.linux-x86_64-cpython-310/mariadb/mariadb.o -DDEFAULT_PLUGINS_SUBDIR=\"/usr/lib64/mariadb/plugin\"
      gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DPY_MARIADB_MAJOR_VERSION=1 -DPY_MARIADB_MINOR_VERSION=1 -DPY_MARIADB_PATCH_VERSION=5 -DPY_MARIADB_PRE_RELEASE_SEGMENT=\"None\" -DPY_MARIADB_PRE_RELEASE_NR=\"0\" -DPY_MARIADB_POST_RELEASE_SEGMENT=\"post\" -DPY_MARIADB_POST_RELEASE_NR=\"1\" -I/usr/include/mysql -I/usr/include/mysql/mysql -I./include -I/home/classic/.venv3/include -I/opt/python-3.10.0/include/python3.10 -c mariadb/mariadb_codecs.c -o build/temp.linux-x86_64-cpython-310/mariadb/mariadb_codecs.o -DDEFAULT_PLUGINS_SUBDIR=\"/usr/lib64/mariadb/plugin\"
      gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DPY_MARIADB_MAJOR_VERSION=1 -DPY_MARIADB_MINOR_VERSION=1 -DPY_MARIADB_PATCH_VERSION=5 -DPY_MARIADB_PRE_RELEASE_SEGMENT=\"None\" -DPY_MARIADB_PRE_RELEASE_NR=\"0\" -DPY_MARIADB_POST_RELEASE_SEGMENT=\"post\" -DPY_MARIADB_POST_RELEASE_NR=\"1\" -I/usr/include/mysql -I/usr/include/mysql/mysql -I./include -I/home/classic/.venv3/include -I/opt/python-3.10.0/include/python3.10 -c mariadb/mariadb_connection.c -o build/temp.linux-x86_64-cpython-310/mariadb/mariadb_connection.o -DDEFAULT_PLUGINS_SUBDIR=\"/usr/lib64/mariadb/plugin\"
      mariadb/mariadb_connection.c: In function ‘MrdbConnection_Initialize’:
      mariadb/mariadb_connection.c:337:9: error: ‘MrdbConnection’ has no member named ‘status_callback’
        337 |     self->status_callback= status_callback;
            |         ^~
      mariadb/mariadb_connection.c: In function ‘MrdbConnection_getinfo’:
      mariadb/mariadb_connection.c:776:12: error: ‘MARIADB_CONNECTION_BYTES_READ’ undeclared (first use in this function); did you mean ‘MARIADB_CONNECTION_USER’?
        776 |       case MARIADB_CONNECTION_BYTES_READ:
            |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |            MARIADB_CONNECTION_USER
      mariadb/mariadb_connection.c:776:12: note: each undeclared identifier is reported only once for each function it appears in
      mariadb/mariadb_connection.c:777:12: error: ‘MARIADB_CONNECTION_BYTES_SENT’ undeclared (first use in this function); did you mean ‘MARIADB_CONNECTION_USER’?
        777 |       case MARIADB_CONNECTION_BYTES_SENT:
            |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |            MARIADB_CONNECTION_USER
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for mariadb
Failed to build mariadb
ERROR: Could not build wheels for mariadb, which is required to install pyproject.toml-based projects



 Comments   
Comment by Alexandre Machado [ 2022-11-09 ]

Unable to build into venv with Python 3.9 on Fedora 35 and AlmaLinux 9. Both working well with Mariadb Connector Python 1.1.4.

pip install mariadb==1.1.5.post2
Collecting mariadb==1.1.5.post2
  Using cached mariadb-1.1.5.post2.tar.gz (82 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting packaging
  Using cached packaging-21.3-py3-none-any.whl (40 kB)
Collecting pyparsing!=3.0.5,>=2.0.2
  Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB)
Building wheels for collected packages: mariadb
  Building wheel for mariadb (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for mariadb (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [43 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-39
      creating build/lib.linux-x86_64-cpython-39/mariadb
      copying mariadb/__init__.py -> build/lib.linux-x86_64-cpython-39/mariadb
      copying mariadb/connectionpool.py -> build/lib.linux-x86_64-cpython-39/mariadb
      copying mariadb/connections.py -> build/lib.linux-x86_64-cpython-39/mariadb
      creating build/lib.linux-x86_64-cpython-39/mariadb/constants
      copying mariadb/constants/__init__.py -> build/lib.linux-x86_64-cpython-39/mariadb/constants
      copying mariadb/constants/CAPABILITY.py -> build/lib.linux-x86_64-cpython-39/mariadb/constants
      copying mariadb/constants/CLIENT.py -> build/lib.linux-x86_64-cpython-39/mariadb/constants
      copying mariadb/constants/CURSOR.py -> build/lib.linux-x86_64-cpython-39/mariadb/constants
      copying mariadb/constants/ERR.py -> build/lib.linux-x86_64-cpython-39/mariadb/constants
      copying mariadb/constants/FIELD_FLAG.py -> build/lib.linux-x86_64-cpython-39/mariadb/constants
      copying mariadb/constants/FIELD_TYPE.py -> build/lib.linux-x86_64-cpython-39/mariadb/constants
      copying mariadb/constants/INDICATOR.py -> build/lib.linux-x86_64-cpython-39/mariadb/constants
      copying mariadb/constants/INFO.py -> build/lib.linux-x86_64-cpython-39/mariadb/constants
      copying mariadb/constants/STATUS.py -> build/lib.linux-x86_64-cpython-39/mariadb/constants
      copying mariadb/constants/TPC_STATE.py -> build/lib.linux-x86_64-cpython-39/mariadb/constants
      copying mariadb/cursors.py -> build/lib.linux-x86_64-cpython-39/mariadb
      copying mariadb/dbapi20.py -> build/lib.linux-x86_64-cpython-39/mariadb
      copying mariadb/field.py -> build/lib.linux-x86_64-cpython-39/mariadb
      copying mariadb/release_info.py -> build/lib.linux-x86_64-cpython-39/mariadb
      running build_ext
      building 'mariadb._mariadb' extension
      creating build/temp.linux-x86_64-cpython-39
      creating build/temp.linux-x86_64-cpython-39/mariadb
      gcc -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPY_MARIADB_MAJOR_VERSION=1 -DPY_MARIADB_MINOR_VERSION=1 -DPY_MARIADB_PATCH_VERSION=5 -DPY_MARIADB_PRE_RELEASE_SEGMENT=\"None\" -DPY_MARIADB_PRE_RELEASE_NR=\"0\" -DPY_MARIADB_POST_RELEASE_SEGMENT=\"post\" -DPY_MARIADB_POST_RELEASE_NR=\"2\" -I/usr/include/mysql -I/usr/include/mysql/mysql -I./include -I/dados-ssd/xande/p3/workspace/p3-ca/venv/include -I/usr/include/python3.9 -c mariadb/mariadb.c -o build/temp.linux-x86_64-cpython-39/mariadb/mariadb.o -DDEFAULT_PLUGINS_SUBDIR=\"/usr/lib64/mariadb/plugin\"
      gcc -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPY_MARIADB_MAJOR_VERSION=1 -DPY_MARIADB_MINOR_VERSION=1 -DPY_MARIADB_PATCH_VERSION=5 -DPY_MARIADB_PRE_RELEASE_SEGMENT=\"None\" -DPY_MARIADB_PRE_RELEASE_NR=\"0\" -DPY_MARIADB_POST_RELEASE_SEGMENT=\"post\" -DPY_MARIADB_POST_RELEASE_NR=\"2\" -I/usr/include/mysql -I/usr/include/mysql/mysql -I./include -I/dados-ssd/xande/p3/workspace/p3-ca/venv/include -I/usr/include/python3.9 -c mariadb/mariadb_codecs.c -o build/temp.linux-x86_64-cpython-39/mariadb/mariadb_codecs.o -DDEFAULT_PLUGINS_SUBDIR=\"/usr/lib64/mariadb/plugin\"
      gcc -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPY_MARIADB_MAJOR_VERSION=1 -DPY_MARIADB_MINOR_VERSION=1 -DPY_MARIADB_PATCH_VERSION=5 -DPY_MARIADB_PRE_RELEASE_SEGMENT=\"None\" -DPY_MARIADB_PRE_RELEASE_NR=\"0\" -DPY_MARIADB_POST_RELEASE_SEGMENT=\"post\" -DPY_MARIADB_POST_RELEASE_NR=\"2\" -I/usr/include/mysql -I/usr/include/mysql/mysql -I./include -I/dados-ssd/xande/p3/workspace/p3-ca/venv/include -I/usr/include/python3.9 -c mariadb/mariadb_connection.c -o build/temp.linux-x86_64-cpython-39/mariadb/mariadb_connection.o -DDEFAULT_PLUGINS_SUBDIR=\"/usr/lib64/mariadb/plugin\"
      mariadb/mariadb_connection.c: In function ‘MrdbConnection_getinfo’:
      mariadb/mariadb_connection.c:777:12: error: ‘MARIADB_CONNECTION_BYTES_READ’ undeclared (first use in this function); did you mean ‘MARIADB_CONNECTION_USER’?
        777 |       case MARIADB_CONNECTION_BYTES_READ:
            |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |            MARIADB_CONNECTION_USER
      mariadb/mariadb_connection.c:777:12: note: each undeclared identifier is reported only once for each function it appears in
      mariadb/mariadb_connection.c:778:12: error: ‘MARIADB_CONNECTION_BYTES_SENT’ undeclared (first use in this function); did you mean ‘MARIADB_CONNECTION_USER’?
        778 |       case MARIADB_CONNECTION_BYTES_SENT:
            |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |            MARIADB_CONNECTION_USER
      error: command '/usr/lib64/ccache/gcc' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for mariadb
Failed to build mariadb
ERROR: Could not build wheels for mariadb, which is required to install pyproject.toml-based projects

Comment by Sushil Raverkar [ 2022-11-14 ]

I am also facing the same issue. I don't know what exact that is.

Generated at Thu Feb 08 03:31:16 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.