Skip to content

az iot hub monitor-events fails on a Docker container. #19767

@TORIFUKUKaiou

Description

@TORIFUKUKaiou

Describe the bug

To Reproduce

$ docker pull mcr.microsoft.com/azure-cli
$ docker run -it mcr.microsoft.com/azure-cli

bash-5.1# az login

bash-5.1# connection_string='HostName=xxxx.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=XXXXXXXXXXXXXXXXXXXXX='

bash-5.1# az iot hub monitor-events --login $connection_string

The command requires the extension azure-iot. Do you want to install it now? The command will continue to run after the extension is installed. (Y/n): y
Run 'az config set extension.use_dynamic_install=yes_without_prompt' to allow installing extensions without prompt.
Dependency update (uamqp 1.2) required for IoT extension version: 0.10.17. 
Continue? (y/n) -> y

I got Failure updating uamqp.

Updating required dependency...
Failure updating uamqp. Aborting...
Collecting uamqp~=1.2
  Downloading uamqp-1.4.2.tar.gz (4.4 MB)
Collecting certifi>=2017.4.17
  Downloading certifi-2021.5.30-py2.py3-none-any.whl (145 kB)
Collecting six~=1.0
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Building wheels for collected packages: uamqp
  Building wheel for uamqp (setup.py): started
  Building wheel for uamqp (setup.py): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-tx969eyb
       cwd: /tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/
  Complete output (79 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.9
  creating build/lib.linux-x86_64-3.9/uamqp
  copying uamqp/errors.py -> build/lib.linux-x86_64-3.9/uamqp
  copying uamqp/__init__.py -> build/lib.linux-x86_64-3.9/uamqp
  copying uamqp/receiver.py -> build/lib.linux-x86_64-3.9/uamqp
  copying uamqp/address.py -> build/lib.linux-x86_64-3.9/uamqp
  copying uamqp/types.py -> build/lib.linux-x86_64-3.9/uamqp
  copying uamqp/utils.py -> build/lib.linux-x86_64-3.9/uamqp
  copying uamqp/client.py -> build/lib.linux-x86_64-3.9/uamqp
  copying uamqp/compat.py -> build/lib.linux-x86_64-3.9/uamqp
  copying uamqp/sender.py -> build/lib.linux-x86_64-3.9/uamqp
  copying uamqp/session.py -> build/lib.linux-x86_64-3.9/uamqp
  copying uamqp/mgmt_operation.py -> build/lib.linux-x86_64-3.9/uamqp
  copying uamqp/constants.py -> build/lib.linux-x86_64-3.9/uamqp
  copying uamqp/connection.py -> build/lib.linux-x86_64-3.9/uamqp
  copying uamqp/message.py -> build/lib.linux-x86_64-3.9/uamqp
  creating build/lib.linux-x86_64-3.9/uamqp/authentication
  copying uamqp/authentication/__init__.py -> build/lib.linux-x86_64-3.9/uamqp/authentication
  copying uamqp/authentication/common.py -> build/lib.linux-x86_64-3.9/uamqp/authentication
  copying uamqp/authentication/cbs_auth.py -> build/lib.linux-x86_64-3.9/uamqp/authentication
  copying uamqp/authentication/cbs_auth_async.py -> build/lib.linux-x86_64-3.9/uamqp/authentication
  creating build/lib.linux-x86_64-3.9/uamqp/async_ops
  copying uamqp/async_ops/client_async.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
  copying uamqp/async_ops/sender_async.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
  copying uamqp/async_ops/__init__.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
  copying uamqp/async_ops/connection_async.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
  copying uamqp/async_ops/mgmt_operation_async.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
  copying uamqp/async_ops/receiver_async.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
  copying uamqp/async_ops/utils.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
  copying uamqp/async_ops/session_async.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
  running egg_info
  writing uamqp.egg-info/PKG-INFO
  writing dependency_links to uamqp.egg-info/dependency_links.txt
  writing requirements to uamqp.egg-info/requires.txt
  writing top-level names to uamqp.egg-info/top_level.txt
  reading manifest file 'uamqp.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  writing manifest file 'uamqp.egg-info/SOURCES.txt'
  copying uamqp/c_uamqp.c -> build/lib.linux-x86_64-3.9/uamqp
  running build_ext
  will build uamqp in build/temp.linux-x86_64-3.9/cmake
  Building with generator flags: -G "Unix Makefiles"
  calling cmake /tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/src/vendor/azure-uamqp-c/ -G "Unix Makefiles" -Duse_openssl:bool=ON -Duse_default_uuid:bool=ON  -Duse_builtin_httpapi:bool=ON  -Dskip_samples:bool=ON -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_BUILD_TYPE=Release
  /bin/sh: cmake: not found
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/setup.py", line 343, in <module>
      setup(
    File "/usr/local/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup
      return distutils.core.setup(**attrs)
    File "/usr/local/lib/python3.9/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/local/lib/python3.9/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/local/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/local/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 299, in run
      self.run_command('build')
    File "/usr/local/lib/python3.9/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/local/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/local/lib/python3.9/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/usr/local/lib/python3.9/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/local/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/setup.py", line 214, in run
      self.build_cmake(ext)
    File "/tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/setup.py", line 266, in build_cmake
      subprocess.check_call(joined_cmd, shell=True, universal_newlines=True, env=build_env)
    File "/usr/local/lib/python3.9/subprocess.py", line 373, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command 'cmake /tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/src/vendor/azure-uamqp-c/ -G "Unix Makefiles" -Duse_openssl:bool=ON -Duse_default_uuid:bool=ON  -Duse_builtin_httpapi:bool=ON  -Dskip_samples:bool=ON -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_BUILD_TYPE=Release' returned non-zero exit status 127.
  ----------------------------------------
  ERROR: Failed building wheel for uamqp
  Running setup.py clean for uamqp
Failed to build uamqp
Installing collected packages: six, certifi, uamqp
    Running setup.py install for uamqp: started
    Running setup.py install for uamqp: finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-4o_0wh06/install-record.txt --single-version-externally-managed --home /tmp/pip-target-2j8y0x9f --compile --install-headers /tmp/pip-target-2j8y0x9f/include/python/uamqp
         cwd: /tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/
    Complete output (81 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.9
    creating build/lib.linux-x86_64-3.9/uamqp
    copying uamqp/errors.py -> build/lib.linux-x86_64-3.9/uamqp
    copying uamqp/__init__.py -> build/lib.linux-x86_64-3.9/uamqp
    copying uamqp/receiver.py -> build/lib.linux-x86_64-3.9/uamqp
    copying uamqp/address.py -> build/lib.linux-x86_64-3.9/uamqp
    copying uamqp/types.py -> build/lib.linux-x86_64-3.9/uamqp
    copying uamqp/utils.py -> build/lib.linux-x86_64-3.9/uamqp
    copying uamqp/client.py -> build/lib.linux-x86_64-3.9/uamqp
    copying uamqp/compat.py -> build/lib.linux-x86_64-3.9/uamqp
    copying uamqp/sender.py -> build/lib.linux-x86_64-3.9/uamqp
    copying uamqp/session.py -> build/lib.linux-x86_64-3.9/uamqp
    copying uamqp/mgmt_operation.py -> build/lib.linux-x86_64-3.9/uamqp
    copying uamqp/constants.py -> build/lib.linux-x86_64-3.9/uamqp
    copying uamqp/connection.py -> build/lib.linux-x86_64-3.9/uamqp
    copying uamqp/message.py -> build/lib.linux-x86_64-3.9/uamqp
    creating build/lib.linux-x86_64-3.9/uamqp/authentication
    copying uamqp/authentication/__init__.py -> build/lib.linux-x86_64-3.9/uamqp/authentication
    copying uamqp/authentication/common.py -> build/lib.linux-x86_64-3.9/uamqp/authentication
    copying uamqp/authentication/cbs_auth.py -> build/lib.linux-x86_64-3.9/uamqp/authentication
    copying uamqp/authentication/cbs_auth_async.py -> build/lib.linux-x86_64-3.9/uamqp/authentication
    creating build/lib.linux-x86_64-3.9/uamqp/async_ops
    copying uamqp/async_ops/client_async.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
    copying uamqp/async_ops/sender_async.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
    copying uamqp/async_ops/__init__.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
    copying uamqp/async_ops/connection_async.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
    copying uamqp/async_ops/mgmt_operation_async.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
    copying uamqp/async_ops/receiver_async.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
    copying uamqp/async_ops/utils.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
    copying uamqp/async_ops/session_async.py -> build/lib.linux-x86_64-3.9/uamqp/async_ops
    running egg_info
    writing uamqp.egg-info/PKG-INFO
    writing dependency_links to uamqp.egg-info/dependency_links.txt
    writing requirements to uamqp.egg-info/requires.txt
    writing top-level names to uamqp.egg-info/top_level.txt
    reading manifest file 'uamqp.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'uamqp.egg-info/SOURCES.txt'
    copying uamqp/c_uamqp.c -> build/lib.linux-x86_64-3.9/uamqp
    running build_ext
    will build uamqp in build/temp.linux-x86_64-3.9/cmake
    Building with generator flags: -G "Unix Makefiles"
    calling cmake /tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/src/vendor/azure-uamqp-c/ -G "Unix Makefiles" -Duse_openssl:bool=ON -Duse_default_uuid:bool=ON  -Duse_builtin_httpapi:bool=ON  -Dskip_samples:bool=ON -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_BUILD_TYPE=Release
    /bin/sh: cmake: not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/setup.py", line 343, in <module>
        setup(
      File "/usr/local/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup
        return distutils.core.setup(**attrs)
      File "/usr/local/lib/python3.9/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/usr/local/lib/python3.9/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/usr/local/lib/python3.9/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/usr/local/lib/python3.9/site-packages/setuptools/command/install.py", line 61, in run
        return orig.install.run(self)
      File "/usr/local/lib/python3.9/distutils/command/install.py", line 546, in run
        self.run_command('build')
      File "/usr/local/lib/python3.9/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/local/lib/python3.9/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/usr/local/lib/python3.9/distutils/command/build.py", line 135, in run
        self.run_command(cmd_name)
      File "/usr/local/lib/python3.9/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/local/lib/python3.9/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/setup.py", line 214, in run
        self.build_cmake(ext)
      File "/tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/setup.py", line 266, in build_cmake
        subprocess.check_call(joined_cmd, shell=True, universal_newlines=True, env=build_env)
      File "/usr/local/lib/python3.9/subprocess.py", line 373, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command 'cmake /tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/src/vendor/azure-uamqp-c/ -G "Unix Makefiles" -Duse_openssl:bool=ON -Duse_default_uuid:bool=ON  -Duse_builtin_httpapi:bool=ON  -Dskip_samples:bool=ON -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_BUILD_TYPE=Release' returned non-zero exit status 127.
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kz0rek1w/uamqp_48f1053ee3b24c52a593cd8971135bb7/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-4o_0wh06/install-record.txt --single-version-externally-managed --home /tmp/pip-target-2j8y0x9f --compile --install-headers /tmp/pip-target-2j8y0x9f/include/python/uamqp Check the logs for full command output.

Expected behavior

  • az iot hub monitor-events succeeds on a Docker container.

Environment summary

Linux-5.10.47-linuxkit-x86_64-with, Alpine Linux v3.14
Python 3.9.6
Installer: DOCKER

azure-cli 2.28.0

Extensions:
azure-iot 0.10.17

Additional context

  • brew installed az has no problem on macOS.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions