CiscoDevNet / ydk-gen

Generate model-driven APIs from YANG models
http://ciscodevnet.github.io/ydk-gen/
Apache License 2.0
135 stars 74 forks source link

ydk-py -- error: ‘get_capabilities’ is not a member of ‘ydk::path::Session’ #1073

Closed XioNoX closed 1 year ago

XioNoX commented 1 year ago

Hello! I'm trying to get familiar with ydk and am running into issues setting it up.

Please let me know if any additional information is needed, thanks!

Expected Behavior

I followed the instruction from https://github.com/CiscoDevNet/ydk-py Installed the dependencies as well as the ydk from https://devhub.cisco.com/artifactory/debian-ydk/0.8.5/xenial/

As a side note will version 0.8.6.3 be released as debian package?

Expected behavior is that pip install ydk succeeds without any error.

Current Behavior

Build fails with /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp:298:114: error: ‘get_capabilities’ is not a member of ‘ydk::path::Session’

Logs

$ pip install ydk
Collecting ydk
  Using cached ydk-0.8.6.2.tar.gz (213 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: pybind11==2.6.2 in /home/xionox/Documents/Projects/Wikimedia-tinkering/restconf-testing/.venv/lib/python3.10/site-packages (from ydk) (2.6.2)
Building wheels for collected packages: ydk
  Building wheel for ydk (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [154 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-3.10
      creating build/lib.linux-x86_64-3.10/ydk
      copying ydk/__init__.py -> build/lib.linux-x86_64-3.10/ydk
      copying ydk/exthook.py -> build/lib.linux-x86_64-3.10/ydk
      creating build/lib.linux-x86_64-3.10/ydk/providers
      copying ydk/providers/codec_provider.py -> build/lib.linux-x86_64-3.10/ydk/providers
      copying ydk/providers/netconf_provider.py -> build/lib.linux-x86_64-3.10/ydk/providers
      copying ydk/providers/__init__.py -> build/lib.linux-x86_64-3.10/ydk/providers
      creating build/lib.linux-x86_64-3.10/ydk/services
      copying ydk/services/codec_service.py -> build/lib.linux-x86_64-3.10/ydk/services
      copying ydk/services/crud_service.py -> build/lib.linux-x86_64-3.10/ydk/services
      copying ydk/services/executor_service.py -> build/lib.linux-x86_64-3.10/ydk/services
      copying ydk/services/__init__.py -> build/lib.linux-x86_64-3.10/ydk/services
      copying ydk/services/netconf_service.py -> build/lib.linux-x86_64-3.10/ydk/services
      creating build/lib.linux-x86_64-3.10/ydk/_core
      copying ydk/_core/_dm_meta_info.py -> build/lib.linux-x86_64-3.10/ydk/_core
      copying ydk/_core/__init__.py -> build/lib.linux-x86_64-3.10/ydk/_core
      copying ydk/_core/_importer.py -> build/lib.linux-x86_64-3.10/ydk/_core
      creating build/lib.linux-x86_64-3.10/ydk/entity_utils
      copying ydk/entity_utils/__init__.py -> build/lib.linux-x86_64-3.10/ydk/entity_utils
      copying ydk/entity_utils/entity_utils.py -> build/lib.linux-x86_64-3.10/ydk/entity_utils
      creating build/lib.linux-x86_64-3.10/ydk/logging
      copying ydk/logging/__init__.py -> build/lib.linux-x86_64-3.10/ydk/logging
      creating build/lib.linux-x86_64-3.10/ydk/ext
      copying ydk/ext/__init__.py -> build/lib.linux-x86_64-3.10/ydk/ext
      creating build/lib.linux-x86_64-3.10/ydk/errors
      copying ydk/errors/error_handler.py -> build/lib.linux-x86_64-3.10/ydk/errors
      copying ydk/errors/__init__.py -> build/lib.linux-x86_64-3.10/ydk/errors
      creating build/lib.linux-x86_64-3.10/ydk/filters
      copying ydk/filters/__init__.py -> build/lib.linux-x86_64-3.10/ydk/filters
      creating build/lib.linux-x86_64-3.10/ydk/path
      copying ydk/path/__init__.py -> build/lib.linux-x86_64-3.10/ydk/path
      creating build/lib.linux-x86_64-3.10/ydk/types
      copying ydk/types/py_types.py -> build/lib.linux-x86_64-3.10/ydk/types
      copying ydk/types/__init__.py -> build/lib.linux-x86_64-3.10/ydk/types
      creating build/lib.linux-x86_64-3.10/ydk/models
      copying ydk/models/__init__.py -> build/lib.linux-x86_64-3.10/ydk/models
      creating build/lib.linux-x86_64-3.10/ydk/path/sessions
      copying ydk/path/sessions/restconf_session.py -> build/lib.linux-x86_64-3.10/ydk/path/sessions
      copying ydk/path/sessions/netconf_session.py -> build/lib.linux-x86_64-3.10/ydk/path/sessions
      copying ydk/path/sessions/__init__.py -> build/lib.linux-x86_64-3.10/ydk/path/sessions
      creating build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_routing_policy.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_transport_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_bgp_policy.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_platform_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_system.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/main.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ydktest_sanity.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ydktest_sanity_typedefs.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_if_ethernet.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ydktest_sanity_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_interfaces.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_netconf.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_aug_base_1.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_aug_base_2.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_netconf_with_defaults.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ydktest_aug_ietf_5.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_netconf_monitoring.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_bgp.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_policy_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/oc_pattern.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/_yang_ns.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/__init__.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_platform.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_terminal_device.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ydktest_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/iana_if_type.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_netconf_acm.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_interfaces.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_inet_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_bgp_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ydktest_filterread.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      running build_ext
      -- The C compiler identification is GNU 9.5.0
      -- The CXX compiler identification is GNU 12.2.0
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /usr/bin/cc - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      python version: 3.10
      -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.10.so (found version "3.10.7")
      pybind11 include: /home/xionox/Documents/Projects/Wikimedia-tinkering/restconf-testing/.venv/lib/python3.10/site-packages/pybind11/include
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/build/temp.linux-x86_64-3.10
      [ 50%] Building CXX object CMakeFiles/ydk_.dir/python.cpp.o
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp: In function ‘void pybind11_init_ydk_(pybind11::module_&)’:
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp:298:114: error: ‘get_capabilities’ is not a member of ‘ydk::path::Session’
        298 |         .def("get_capabilities", (std::vector<std::string> (ydk::path::Session::*)() const) &ydk::path::Session::get_capabilities, return_value_policy::reference);
            |                                                                                                                  ^~~~~~~~~~~~~~~~
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp:415:130: error: ‘get_capabilities’ is not a member of ‘ydk::path::RestconfSession’
        415 |         .def("get_capabilities", (std::vector<std::string> (ydk::path::RestconfSession::*)() const) &ydk::path::RestconfSession::get_capabilities, return_value_policy::reference);
            |                                                                                                                                  ^~~~~~~~~~~~~~~~
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp: In lambda function:
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp:542:39: warning: unused parameter ‘left’ [-Wunused-parameter]
        542 |         .def("__eq__", [](ydk::Empty& left, ydk::Empty& right)
            |                           ~~~~~~~~~~~~^~~~
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp:542:57: warning: unused parameter ‘right’ [-Wunused-parameter]
        542 |         .def("__eq__", [](ydk::Empty& left, ydk::Empty& right)
            |                                             ~~~~~~~~~~~~^~~~~
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp: In lambda function:
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp:546:39: warning: unused parameter ‘left’ [-Wunused-parameter]
        546 |         .def("__ne__", [](ydk::Empty& left, ydk::Empty& right)
            |                           ~~~~~~~~~~~~^~~~
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp:546:57: warning: unused parameter ‘right’ [-Wunused-parameter]
        546 |         .def("__ne__", [](ydk::Empty& left, ydk::Empty& right)
            |                                             ~~~~~~~~~~~~^~~~~
      gmake[2]: *** [CMakeFiles/ydk_.dir/build.make:76: CMakeFiles/ydk_.dir/python.cpp.o] Error 1
      gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/ydk_.dir/all] Error 2
      gmake: *** [Makefile:91: all] Error 2
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/setup.py", line 116, in <module>
          setup(
        File "/home/xionox/Documents/Projects/Wikimedia-tinkering/restconf-testing/.venv/lib/python3.10/site-packages/setuptools/__init__.py", line 153, in setup
          return distutils.core.setup(**attrs)
        File "/usr/lib/python3.10/distutils/core.py", line 148, in setup
          dist.run_commands()
        File "/usr/lib/python3.10/distutils/dist.py", line 966, in run_commands
          self.run_command(cmd)
        File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/home/xionox/Documents/Projects/Wikimedia-tinkering/restconf-testing/.venv/lib/python3.10/site-packages/wheel/bdist_wheel.py", line 299, in run
          self.run_command('build')
        File "/usr/lib/python3.10/distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/usr/lib/python3.10/distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
        File "/usr/lib/python3.10/distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/setup.py", line 74, in run
          self.build_extension(ext)
        File "/tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/setup.py", line 106, in build_extension
          subprocess.check_call([cmake_executable, '--build', '.'], cwd=self.build_temp)
        File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['cmake', '--build', '.']' returned non-zero exit status 2.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for ydk
  Running setup.py clean for ydk
Failed to build ydk
Installing collected packages: ydk
  Running setup.py install for ydk ... error
  error: subprocess-exited-with-error

  × Running setup.py install for ydk did not run successfully.
  │ exit code: 1
  ╰─> [158 lines of output]
      running install
      /home/xionox/Documents/Projects/Wikimedia-tinkering/restconf-testing/.venv/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-3.10
      creating build/lib.linux-x86_64-3.10/ydk
      copying ydk/__init__.py -> build/lib.linux-x86_64-3.10/ydk
      copying ydk/exthook.py -> build/lib.linux-x86_64-3.10/ydk
      creating build/lib.linux-x86_64-3.10/ydk/providers
      copying ydk/providers/codec_provider.py -> build/lib.linux-x86_64-3.10/ydk/providers
      copying ydk/providers/netconf_provider.py -> build/lib.linux-x86_64-3.10/ydk/providers
      copying ydk/providers/__init__.py -> build/lib.linux-x86_64-3.10/ydk/providers
      creating build/lib.linux-x86_64-3.10/ydk/services
      copying ydk/services/codec_service.py -> build/lib.linux-x86_64-3.10/ydk/services
      copying ydk/services/crud_service.py -> build/lib.linux-x86_64-3.10/ydk/services
      copying ydk/services/executor_service.py -> build/lib.linux-x86_64-3.10/ydk/services
      copying ydk/services/__init__.py -> build/lib.linux-x86_64-3.10/ydk/services
      copying ydk/services/netconf_service.py -> build/lib.linux-x86_64-3.10/ydk/services
      creating build/lib.linux-x86_64-3.10/ydk/_core
      copying ydk/_core/_dm_meta_info.py -> build/lib.linux-x86_64-3.10/ydk/_core
      copying ydk/_core/__init__.py -> build/lib.linux-x86_64-3.10/ydk/_core
      copying ydk/_core/_importer.py -> build/lib.linux-x86_64-3.10/ydk/_core
      creating build/lib.linux-x86_64-3.10/ydk/entity_utils
      copying ydk/entity_utils/__init__.py -> build/lib.linux-x86_64-3.10/ydk/entity_utils
      copying ydk/entity_utils/entity_utils.py -> build/lib.linux-x86_64-3.10/ydk/entity_utils
      creating build/lib.linux-x86_64-3.10/ydk/logging
      copying ydk/logging/__init__.py -> build/lib.linux-x86_64-3.10/ydk/logging
      creating build/lib.linux-x86_64-3.10/ydk/ext
      copying ydk/ext/__init__.py -> build/lib.linux-x86_64-3.10/ydk/ext
      creating build/lib.linux-x86_64-3.10/ydk/errors
      copying ydk/errors/error_handler.py -> build/lib.linux-x86_64-3.10/ydk/errors
      copying ydk/errors/__init__.py -> build/lib.linux-x86_64-3.10/ydk/errors
      creating build/lib.linux-x86_64-3.10/ydk/filters
      copying ydk/filters/__init__.py -> build/lib.linux-x86_64-3.10/ydk/filters
      creating build/lib.linux-x86_64-3.10/ydk/path
      copying ydk/path/__init__.py -> build/lib.linux-x86_64-3.10/ydk/path
      creating build/lib.linux-x86_64-3.10/ydk/types
      copying ydk/types/py_types.py -> build/lib.linux-x86_64-3.10/ydk/types
      copying ydk/types/__init__.py -> build/lib.linux-x86_64-3.10/ydk/types
      creating build/lib.linux-x86_64-3.10/ydk/models
      copying ydk/models/__init__.py -> build/lib.linux-x86_64-3.10/ydk/models
      creating build/lib.linux-x86_64-3.10/ydk/path/sessions
      copying ydk/path/sessions/restconf_session.py -> build/lib.linux-x86_64-3.10/ydk/path/sessions
      copying ydk/path/sessions/netconf_session.py -> build/lib.linux-x86_64-3.10/ydk/path/sessions
      copying ydk/path/sessions/__init__.py -> build/lib.linux-x86_64-3.10/ydk/path/sessions
      creating build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_routing_policy.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_transport_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_bgp_policy.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_platform_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_system.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/main.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ydktest_sanity.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ydktest_sanity_typedefs.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_if_ethernet.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ydktest_sanity_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_interfaces.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_netconf.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_aug_base_1.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_aug_base_2.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_netconf_with_defaults.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ydktest_aug_ietf_5.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_netconf_monitoring.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_bgp.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_policy_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/oc_pattern.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/_yang_ns.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/__init__.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_platform.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_terminal_device.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ydktest_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/iana_if_type.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_netconf_acm.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_interfaces.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ietf_inet_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/openconfig_bgp_types.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      copying ydk/models/ydktest/ydktest_filterread.py -> build/lib.linux-x86_64-3.10/ydk/models/ydktest
      running build_ext
      -- The C compiler identification is GNU 9.5.0
      -- The CXX compiler identification is GNU 12.2.0
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /usr/bin/cc - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      python version: 3.10
      -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.10.so (found version "3.10.7")
      pybind11 include: /home/xionox/Documents/Projects/Wikimedia-tinkering/restconf-testing/.venv/lib/python3.10/site-packages/pybind11/include
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/build/temp.linux-x86_64-3.10
      [ 50%] Building CXX object CMakeFiles/ydk_.dir/python.cpp.o
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp: In function ‘void pybind11_init_ydk_(pybind11::module_&)’:
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp:298:114: error: ‘get_capabilities’ is not a member of ‘ydk::path::Session’
        298 |         .def("get_capabilities", (std::vector<std::string> (ydk::path::Session::*)() const) &ydk::path::Session::get_capabilities, return_value_policy::reference);
            |                                                                                                                  ^~~~~~~~~~~~~~~~
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp:415:130: error: ‘get_capabilities’ is not a member of ‘ydk::path::RestconfSession’
        415 |         .def("get_capabilities", (std::vector<std::string> (ydk::path::RestconfSession::*)() const) &ydk::path::RestconfSession::get_capabilities, return_value_policy::reference);
            |                                                                                                                                  ^~~~~~~~~~~~~~~~
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp: In lambda function:
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp:542:39: warning: unused parameter ‘left’ [-Wunused-parameter]
        542 |         .def("__eq__", [](ydk::Empty& left, ydk::Empty& right)
            |                           ~~~~~~~~~~~~^~~~
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp:542:57: warning: unused parameter ‘right’ [-Wunused-parameter]
        542 |         .def("__eq__", [](ydk::Empty& left, ydk::Empty& right)
            |                                             ~~~~~~~~~~~~^~~~~
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp: In lambda function:
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp:546:39: warning: unused parameter ‘left’ [-Wunused-parameter]
        546 |         .def("__ne__", [](ydk::Empty& left, ydk::Empty& right)
            |                           ~~~~~~~~~~~~^~~~
      /tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/python.cpp:546:57: warning: unused parameter ‘right’ [-Wunused-parameter]
        546 |         .def("__ne__", [](ydk::Empty& left, ydk::Empty& right)
            |                                             ~~~~~~~~~~~~^~~~~
      gmake[2]: *** [CMakeFiles/ydk_.dir/build.make:76: CMakeFiles/ydk_.dir/python.cpp.o] Error 1
      gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/ydk_.dir/all] Error 2
      gmake: *** [Makefile:91: all] Error 2
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/setup.py", line 116, in <module>
          setup(
        File "/home/xionox/Documents/Projects/Wikimedia-tinkering/restconf-testing/.venv/lib/python3.10/site-packages/setuptools/__init__.py", line 153, in setup
          return distutils.core.setup(**attrs)
        File "/usr/lib/python3.10/distutils/core.py", line 148, in setup
          dist.run_commands()
        File "/usr/lib/python3.10/distutils/dist.py", line 966, in run_commands
          self.run_command(cmd)
        File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/home/xionox/Documents/Projects/Wikimedia-tinkering/restconf-testing/.venv/lib/python3.10/site-packages/setuptools/command/install.py", line 68, in run
          return orig.install.run(self)
        File "/usr/lib/python3.10/distutils/command/install.py", line 619, in run
          self.run_command('build')
        File "/usr/lib/python3.10/distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/usr/lib/python3.10/distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
        File "/usr/lib/python3.10/distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/setup.py", line 74, in run
          self.build_extension(ext)
        File "/tmp/pip-install-csc6khz_/ydk_a8f4aac522d14dd7a7ea999cbfda7098/setup.py", line 106, in build_extension
          subprocess.check_call([cmake_executable, '--build', '.'], cwd=self.build_temp)
        File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['cmake', '--build', '.']' returned non-zero exit status 2.
      [end of output]

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

× Encountered error while trying to install package.
╰─> ydk

System Information

This is on Ubuntu 22.10, running Python 3.10, 64bits.

ygorelik commented 1 year ago

The artifacts are no longer maintained as well as ydk-py repository. Please clone release 0.8.5.2 (with pyang 1.7) or 0.8.6.3 (with pyang 2.5.2) from this repository and follow installation instruction from README.md.

Please note. Due to pybind11 issue the YDK currently is not supported with python 3.9 or 3.10. Please move your python virtual environment to lower version like 3.7 or 3.8.