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

Az CLI 2.67.0 on Linux add extension rdbms-connect failed #30646

Open
tujack-msft opened this issue Jan 13, 2025 · 5 comments
Open

Az CLI 2.67.0 on Linux add extension rdbms-connect failed #30646

tujack-msft opened this issue Jan 13, 2025 · 5 comments
Labels
bug This issue requires a change to an existing behavior in the product in order to be resolved. customer-reported Issues that are reported by GitHub users external to the Azure organization. Possible-Solution Service Attention This issue is responsible by Azure service team. Similar-Issue

Comments

@tujack-msft
Copy link

Describe the bug

I want to report an error that when add the extension rdbms-connect failed.

OS Version: Redhat 8.9

Related command

az extension add --name rdbms-connect

Errors

[root@rh89 ~]# az extension add --name rdbms-connect
This extension depends on gcc, postgresql-devel, python3-devel and they will be installed first if not exist.
Failed loading plugin "product-id": future feature annotations is not defined (legacy.py, line 1)
Failed loading plugin "subscription-manager": future feature annotations is not defined (legacy.py, line 1)
Failed loading plugin "upload-profile": future feature annotations is not defined (legacy.py, line 1)
Failed loading plugin "dnf_rhui_plugin": future feature annotations is not defined (legacy.py, line 1)
Repository packages-microsoft-com-prod is listed more than once in the configuration
Last metadata expiration check: 1:27:01 ago on Mon 13 Jan 2025 08:02:55 AM UTC.
Package gcc-8.5.0-22.el8_10.x86_64 is already installed.
Package libpq-devel-13.11-1.el8.x86_64 is already installed.
Package python36-devel-3.6.8-39.module+el8.10.0+20784+edafcd43.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
An error occurred. Pip failed with status code 1. Use --debug for more information.
[root@rh89 ~]#

Issue script & Debug output

....
Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
Downloading link https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl (from https://pypi.org/simple/python-dateutil/) (requires-python:!=3.0.,!=3.1.,!=3.2.,>=2.7) to /tmp/pip-unpack-8v335qtf/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
https://files.pythonhosted.org:443 "GET /packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl HTTP/1.1" 200 35252
Downloading tabulate-0.9.0-py3-none-any.whl (35 kB)
Downloading link https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl (from https://pypi.org/simple/tabulate/) (requires-python:>=3.7) to /tmp/pip-unpack-8v335qtf/tabulate-0.9.0-py3-none-any.whl
https://files.pythonhosted.org:443 "GET /packages/6a/bc/e827239b0020195f4e2fa4e7fdf248838bb49230be2bf374181fac892a92/time_machine-2.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl HTTP/1.1" 200 34066
Downloading time_machine-2.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34 kB)
Downloading link https://files.pythonhosted.org/packages/6a/bc/e827239b0020195f4e2fa4e7fdf248838bb49230be2bf374181fac892a92/time_machine-2.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (from https://pypi.org/simple/time-machine/) (requires-python:>=3.9) to /tmp/pip-unpack-8v335qtf/time_machine-2.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
https://files.pythonhosted.org:443 "GET /packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl HTTP/1.1" 200 37438
Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Downloading link https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl (from https://pypi.org/simple/typing-extensions/) (requires-python:>=3.8) to /tmp/pip-unpack-8v335qtf/typing_extensions-4.12.2-py3-none-any.whl
https://files.pythonhosted.org:443 "GET /packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl HTTP/1.1" 200 346586
Downloading tzdata-2024.2-py2.py3-none-any.whl (346 kB)
Downloading link https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl (from https://pypi.org/simple/tzdata/) (requires-python:>=2) to /tmp/pip-unpack-8v335qtf/tzdata-2024.2-py2.py3-none-any.whl
https://files.pythonhosted.org:443 "GET /packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl HTTP/1.1" 200 34166
Downloading wcwidth-0.2.13-py2.py3-none-any.whl (34 kB)
Downloading link https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl (from https://pypi.org/simple/wcwidth/) to /tmp/pip-unpack-8v335qtf/wcwidth-0.2.13-py2.py3-none-any.whl
https://files.pythonhosted.org:443 "GET /packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl HTTP/1.1" 200 11050
Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)
Downloading link https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl (from https://pypi.org/simple/six/) (requires-python:!=3.0.
,!=3.1.,!=3.2.,>=2.7) to /tmp/pip-unpack-8v335qtf/six-1.17.0-py2.py3-none-any.whl
https://files.pythonhosted.org:443 "GET /packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl HTTP/1.1" 200 117552
Downloading pycparser-2.22-py3-none-any.whl (117 kB)
Downloading link https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl (from https://pypi.org/simple/pycparser/) (requires-python:>=3.8) to /tmp/pip-unpack-8v335qtf/pycparser-2.22-py3-none-any.whl
Building wheels for collected packages: psycopg2, pyaes, pyperclip
Created temporary directory: /tmp/pip-wheel-gnr0ea6d
Destination directory: /tmp/pip-wheel-gnr0ea6d
Building wheel for psycopg2 (pyproject.toml): started
Running command Building wheel for psycopg2 (pyproject.toml)
running bdist_wheel
running build
running build_py
creating build/lib.linux-x86_64-cpython-39/psycopg2
copying lib/init.py -> build/lib.linux-x86_64-cpython-39/psycopg2
copying lib/_ipaddress.py -> build/lib.linux-x86_64-cpython-39/psycopg2
copying lib/_json.py -> build/lib.linux-x86_64-cpython-39/psycopg2
copying lib/_range.py -> build/lib.linux-x86_64-cpython-39/psycopg2
copying lib/errorcodes.py -> build/lib.linux-x86_64-cpython-39/psycopg2
copying lib/errors.py -> build/lib.linux-x86_64-cpython-39/psycopg2
copying lib/extensions.py -> build/lib.linux-x86_64-cpython-39/psycopg2
copying lib/extras.py -> build/lib.linux-x86_64-cpython-39/psycopg2
copying lib/pool.py -> build/lib.linux-x86_64-cpython-39/psycopg2
copying lib/sql.py -> build/lib.linux-x86_64-cpython-39/psycopg2
copying lib/tz.py -> build/lib.linux-x86_64-cpython-39/psycopg2
running build_ext
building 'psycopg2._psycopg' extension
creating build/temp.linux-x86_64-cpython-39/psycopg
gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC "-DPSYCOPG_VERSION=2.9.10 (dt dec pq3 ext lo64)" -DPSYCOPG_DEBUG=1 -DPG_VERSION_NUM=130011 -DHAVE_LO64=1 -DPSYCOPG_DEBUG=1 -I/usr/include/python3.9 -I. -I/usr/include -I/usr/include/pgsql/server -c psycopg/adapter_asis.c -o build/temp.linux-x86_64-cpython-39/psycopg/adapter_asis.o -Wdeclaration-after-statement
In file included from psycopg/adapter_asis.c:28:
./psycopg/psycopg.h:35:10: fatal error: Python.h: No such file or directory
#include <Python.h>
^~~~~~~~~~
compilation terminated.

It appears you are missing some prerequisite to build the package from source.

You may install a binary package by installing 'psycopg2-binary' from PyPI.
If you want to install psycopg2 from source, please install the packages
required for the build and try again.

For further information please check the 'doc/src/install.rst' file (also at
https://www.psycopg.org/docs/install.html).

error: command '/bin/gcc' failed with exit code 1
error: subprocess-exited-with-error

× Building wheel for psycopg2 (pyproject.toml) 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.
full command: /bin/python3.9 /lib64/az/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /tmp/tmpoz4oauyl
cwd: /tmp/pip-install-zpn3cxhk/psycopg2_8e7d9f0c59ae4b108823f63ef6175f1d
Building wheel for psycopg2 (pyproject.toml): finished with status 'error'
ERROR: Failed building wheel for psycopg2
Created temporary directory: /tmp/pip-wheel-sabdlacf
Destination directory: /tmp/pip-wheel-sabdlacf
Building wheel for pyaes (pyproject.toml): started
Running command Building wheel for pyaes (pyproject.toml)
Building wheel for pyaes (pyproject.toml): finished with status 'done'
Created wheel for pyaes: filename=pyaes-1.6.1-py3-none-any.whl size=26390 sha256=1f443bf66576d08b4ee70f2ed0db3db73d2dc70e2e7b26548380145ba9380767
Stored in directory: /tmp/pip-ephem-wheel-cache-38zx4s24/wheels/33/13/e9/ef9894385084d8e4fab38f5f83afda49a3d593d8afc907c8fd
Created temporary directory: /tmp/pip-wheel-wfjm0mes
Destination directory: /tmp/pip-wheel-wfjm0mes
Building wheel for pyperclip (pyproject.toml): started
Running command Building wheel for pyperclip (pyproject.toml)
/tmp/pip-build-env-mxqfup6f/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite'
warnings.warn(msg)
running bdist_wheel
running build
running build_py
creating build/lib/pyperclip
copying src/pyperclip/init.py -> build/lib/pyperclip
copying src/pyperclip/main.py -> build/lib/pyperclip
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/pyperclip
copying build/lib/pyperclip/init.py -> build/bdist.linux-x86_64/wheel/./pyperclip
copying build/lib/pyperclip/main.py -> build/bdist.linux-x86_64/wheel/./pyperclip
running install_egg_info
running egg_info
writing src/pyperclip.egg-info/PKG-INFO
writing dependency_links to src/pyperclip.egg-info/dependency_links.txt
writing top-level names to src/pyperclip.egg-info/top_level.txt
reading manifest file 'src/pyperclip.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.py' under directory 'pyperclip'
adding license file 'LICENSE.txt'
adding license file 'AUTHORS.txt'
writing manifest file 'src/pyperclip.egg-info/SOURCES.txt'
Copying src/pyperclip.egg-info to build/bdist.linux-x86_64/wheel/./pyperclip-1.9.0-py3.9.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/pyperclip-1.9.0.dist-info/WHEEL
creating '/tmp/pip-wheel-wfjm0mes/.tmp-quy0ijmj/pyperclip-1.9.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'pyperclip/init.py'
adding 'pyperclip/main.py'
adding 'pyperclip-1.9.0.dist-info/AUTHORS.txt'
adding 'pyperclip-1.9.0.dist-info/LICENSE.txt'
adding 'pyperclip-1.9.0.dist-info/METADATA'
adding 'pyperclip-1.9.0.dist-info/WHEEL'
adding 'pyperclip-1.9.0.dist-info/top_level.txt'
adding 'pyperclip-1.9.0.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Building wheel for pyperclip (pyproject.toml): finished with status 'done'
Created wheel for pyperclip: filename=pyperclip-1.9.0-py3-none-any.whl size=11049 sha256=9c2525a86000e9862e0471c3425b8a110a648e95a7926f7561af129428082a85
Stored in directory: /tmp/pip-ephem-wheel-cache-38zx4s24/wheels/b2/12/87/f136269baa23c0afc652d05f3bd48834f4f6658b42365036c7
Successfully built pyaes pyperclip
Failed to build psycopg2
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (psycopg2)
Exception information:
Traceback (most recent call last):
File "/lib64/az/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper
status = _inner_run()
File "/lib64/az/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run
return self.run(options, args)
File "/lib64/az/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 67, in wrapper
return func(self, options, args)
File "/lib64/az/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 434, in run
raise InstallationError(
pip._internal.exceptions.InstallationError: ERROR: Failed to build installable wheels for some pyproject.toml based projects (psycopg2)
Removed build tracker: '/tmp/pip-build-tracker-u0i_1c_w'

cli.azure.cli.core.extension.operations: Command '['/bin/python3.9', '-m', 'pip', 'install', '--target', '/root/.azure/cliextensions/rdbms-connect', '/tmp/tmp5_q0ho4s/rdbms_connect-1.0.7-py2.py3-none-any.whl', '-vv', '--disable-pip-version-check', '--no-cache-dir']' returned non-zero exit status 1.
cli.azure.cli.core.extension.operations: Pip failed so deleting anything we might have installed at /root/.azure/cliextensions/rdbms-connect
cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "/lib64/az/lib/python3.9/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/init.py", line 666, in execute
raise ex
File "/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/init.py", line 733, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
File "/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/init.py", line 703, in _run_job
result = cmd_copy(params)
File "/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/init.py", line 336, in call
return self.handler(*args, **kwargs)
File "/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
return op(**command_args)
File "/lib64/az/lib/python3.9/site-packages/azure/cli/command_modules/extension/custom.py", line 16, in add_extension_cmd
return add_extension(cli_ctx=cmd.cli_ctx, source=source, extension_name=extension_name, index_url=index_url,
File "/lib64/az/lib/python3.9/site-packages/azure/cli/core/extension/operations.py", line 343, in add_extension
extension_name = _add_whl_ext(cli_ctx=cmd_cli_ctx, source=source, ext_sha256=ext_sha256,
File "/lib64/az/lib/python3.9/site-packages/azure/cli/core/extension/operations.py", line 172, in _add_whl_ext
raise CLIError('An error occurred. Pip failed with status code {}. '
knack.util.CLIError: An error occurred. Pip failed with status code 1. Use --debug for more information.

cli.azure.cli.core.azclierror: An error occurred. Pip failed with status code 1. Use --debug for more information.
az_command_data_logger: An error occurred. Pip failed with status code 1. Use --debug for more information.
cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x7f550c962940>]
az_command_data_logger: exit code: 1
cli.main: Command ran in 29.356 seconds (init: 0.119, invoke: 29.237)
telemetry.main: Begin splitting cli events and extra events, total events: 1
telemetry.client: Accumulated 0 events. Flush the clients.
telemetry.main: Finish splitting cli events and extra events, cli events: 1
telemetry.save: Save telemetry record of length 3794 in cache file under /root/.azure/telemetry/20250113090710733
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "/bin/python3.9 /usr/lib64/az/lib/python3.9/site-packages/azure/cli/telemetry/init.py /root/.azure /root/.azure/telemetry/20250113090710733"
telemetry.process: Return from creating process 111076
telemetry.main: Finish creating telemetry upload process.

Expected behavior

Install without issue

Environment Summary

azure-cli 2.67.0

core 2.67.0
telemetry 1.1.0

Dependencies:
msal 1.31.0
azure-mgmt-resource 23.1.1

Python location '/bin/python3.9'
Extensions directory '/root/.azure/cliextensions'

Python (Linux) 3.9.20 (main, Sep 26 2024, 20:59:47)
[GCC 8.5.0 20210514 (Red Hat 8.5.0-22)]

Additional context

The issue is reported by customer, please kindly help work on this issue

log2.txt

@tujack-msft tujack-msft added the bug This issue requires a change to an existing behavior in the product in order to be resolved. label Jan 13, 2025
@microsoft-github-policy-service microsoft-github-policy-service bot added the customer-reported Issues that are reported by GitHub users external to the Azure organization. label Jan 13, 2025
@yonzhan
Copy link
Collaborator

yonzhan commented Jan 13, 2025

Thank you for opening this issue, we will look into it.

@yonzhan yonzhan added the Service Attention This issue is responsible by Azure service team. label Jan 13, 2025
@bebound
Copy link
Contributor

bebound commented Jan 14, 2025

rdbms-connect's dependency psycopg2 does not provided a wheel for Linux.
The extension fails to install if the user lacks a build environment.

@nasc17 @ambrahma for awareness.

Ref: https://pypi.org/project/psycopg2/2.9.10/#files

@tujack-msft
Copy link
Author

rdbms-connect's dependency psycopg2 does not provided a wheel for Linux. The extension fails to install if the user lacks a build environment.

@nasc17 @ambrahma for awareness.

Ref: https://pypi.org/project/psycopg2/2.9.10/#files

Thanks for the comment!

But customer raised ticket to the CSS team, does it mean Linux is not supported or is there any way to fix it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue requires a change to an existing behavior in the product in order to be resolved. customer-reported Issues that are reported by GitHub users external to the Azure organization. Possible-Solution Service Attention This issue is responsible by Azure service team. Similar-Issue
Projects
None yet
Development

No branches or pull requests

3 participants