pimvanpelt / vppcfg

A Python3 tool to configure VPP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PIP Install Issue on Debian 12

ahmdzaki18 opened this issue · comments

Hi Pim,

i tested this repo on Debian 12 and got issue when make install-deps.
usually i issued pip with venv or --break-system-packages.

image

i know its known works on Debian Bullseye, but can it also working on Debian Bookworm?

if i tried to manually install all pip dependencies, its got another error when build.
image

Seconding this issue.

Although I did manage to kinda solve it by building it in a venv. vppctl did run, but wasn't applying configuration for me.

Builds fine for me -

python3 -m build                                                                                                                                      
* Creating isolated environment: venv+pip...                                                                                                          
* Installing packages in isolated environment:                                                                                                        
  - setuptools >= 40.8.0                                                                                                                              
* Getting build dependencies for sdist...                                                                                                             
running egg_info                                                                                                                                      
writing vppcfg.egg-info/PKG-INFO                                                                                                                      
writing dependency_links to vppcfg.egg-info/dependency_links.txt                                                                                      
writing entry points to vppcfg.egg-info/entry_points.txt                                                                                              
writing requirements to vppcfg.egg-info/requires.txt                                                                                                  
writing top-level names to vppcfg.egg-info/top_level.txt                                                                                              
reading manifest file 'vppcfg.egg-info/SOURCES.txt'                                                                                                   
adding license file 'LICENSE'                                                                                                                         
writing manifest file 'vppcfg.egg-info/SOURCES.txt'                                                                                                   
* Building sdist...                                                                                                                                   
running sdist                                                                                                                                         
running egg_info                                                                                                                                      
writing vppcfg.egg-info/PKG-INFO                                                                                                                      
writing dependency_links to vppcfg.egg-info/dependency_links.txt                                                                                      
writing entry points to vppcfg.egg-info/entry_points.txt                                                                                              
writing requirements to vppcfg.egg-info/requires.txt                                                                                                  
writing top-level names to vppcfg.egg-info/top_level.txt                                                                                              
reading manifest file 'vppcfg.egg-info/SOURCES.txt'                                                                                                   
adding license file 'LICENSE'                                                                                                                         
writing manifest file 'vppcfg.egg-info/SOURCES.txt'                                                                                                   
running check                                                                                                                                         
creating vppcfg-0.0.6                                                                                                                                 
creating vppcfg-0.0.6/vppcfg                                                                                                                          
creating vppcfg-0.0.6/vppcfg.egg-info                                                                                                                 
creating vppcfg-0.0.6/vppcfg/config                                                                                                                   
creating vppcfg-0.0.6/vppcfg/vpp                                                                                                                      
copying files to vppcfg-0.0.6...                                                                                                                      
copying LICENSE -> vppcfg-0.0.6                                                                                                                       
copying README.md -> vppcfg-0.0.6                                                                                                                     
copying setup.py -> vppcfg-0.0.6                                                                                                                      
copying vppcfg/__init__.py -> vppcfg-0.0.6/vppcfg                                                                                                     
copying vppcfg/example.yaml -> vppcfg-0.0.6/vppcfg                                                                                                    
copying vppcfg/schema.yaml -> vppcfg-0.0.6/vppcfg                                                                                                     
copying vppcfg/tests.py -> vppcfg-0.0.6/vppcfg                                                                                                        
copying vppcfg/vppcfg.py -> vppcfg-0.0.6/vppcfg                            
copying vppcfg.egg-info/PKG-INFO -> vppcfg-0.0.6/vppcfg.egg-info           
copying vppcfg.egg-info/SOURCES.txt -> vppcfg-0.0.6/vppcfg.egg-info        
copying vppcfg.egg-info/dependency_links.txt -> vppcfg-0.0.6/vppcfg.egg-info
copying vppcfg.egg-info/entry_points.txt -> vppcfg-0.0.6/vppcfg.egg-info
copying vppcfg.egg-info/requires.txt -> vppcfg-0.0.6/vppcfg.egg-info
copying vppcfg.egg-info/top_level.txt -> vppcfg-0.0.6/vppcfg.egg-info
copying vppcfg/config/__init__.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/acl.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/address.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/bondethernet.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/bridgedomain.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/interface.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/lcp.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/loopback.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/mac.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/prefixlist.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/tap.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/test_acl.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/test_address.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/test_bondethernet.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/test_bridgedomain.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/test_interface.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/test_lcp.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/test_loopback.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/test_mac.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/test_prefixlist.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/test_tap.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/test_vxlan_tunnel.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/unittestyaml.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/config/vxlan_tunnel.py -> vppcfg-0.0.6/vppcfg/config
copying vppcfg/vpp/__init__.py -> vppcfg-0.0.6/vppcfg/vpp
copying vppcfg/vpp/applier.py -> vppcfg-0.0.6/vppcfg/vpp
copying vppcfg/vpp/dumper.py -> vppcfg-0.0.6/vppcfg/vpp
copying vppcfg/vpp/reconciler.py -> vppcfg-0.0.6/vppcfg/vpp
copying vppcfg/vpp/vppapi.py -> vppcfg-0.0.6/vppcfg/vpp
copying vppcfg.egg-info/SOURCES.txt -> vppcfg-0.0.6/vppcfg.egg-info
Writing vppcfg-0.0.6/setup.cfg
Creating tar archive
removing 'vppcfg-0.0.6' (and everything under it)
* Building wheel from sdist
* Creating isolated environment: venv+pip...
* Installing packages in isolated environment:
  - setuptools >= 40.8.0
* Getting build dependencies for wheel...
running egg_info
writing vppcfg.egg-info/PKG-INFO
writing dependency_links to vppcfg.egg-info/dependency_links.txt
writing entry points to vppcfg.egg-info/entry_points.txt
writing requirements to vppcfg.egg-info/requires.txt
writing top-level names to vppcfg.egg-info/top_level.txt
reading manifest file 'vppcfg.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'vppcfg.egg-info/SOURCES.txt'
* Installing packages in isolated environment:
  - wheel
* Building wheel...
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/vppcfg
copying vppcfg/vppcfg.py -> build/lib/vppcfg
copying vppcfg/__init__.py -> build/lib/vppcfg
copying vppcfg/tests.py -> build/lib/vppcfg
creating build/lib/vppcfg/config
copying vppcfg/config/test_tap.py -> build/lib/vppcfg/config
copying vppcfg/config/test_lcp.py -> build/lib/vppcfg/config
copying vppcfg/config/test_bondethernet.py -> build/lib/vppcfg/config
copying vppcfg/config/tap.py -> build/lib/vppcfg/config
copying vppcfg/config/bridgedomain.py -> build/lib/vppcfg/config
copying vppcfg/config/test_vxlan_tunnel.py -> build/lib/vppcfg/config
copying vppcfg/config/__init__.py -> build/lib/vppcfg/config
copying vppcfg/config/interface.py -> build/lib/vppcfg/config
copying vppcfg/config/test_address.py -> build/lib/vppcfg/config
copying vppcfg/config/test_mac.py -> build/lib/vppcfg/config
copying vppcfg/config/address.py -> build/lib/vppcfg/config
copying vppcfg/config/test_acl.py -> build/lib/vppcfg/config
copying vppcfg/config/mac.py -> build/lib/vppcfg/config
copying vppcfg/config/test_interface.py -> build/lib/vppcfg/config
copying vppcfg/config/test_prefixlist.py -> build/lib/vppcfg/config
copying vppcfg/config/unittestyaml.py -> build/lib/vppcfg/config
copying vppcfg/config/vxlan_tunnel.py -> build/lib/vppcfg/config
copying vppcfg/config/bondethernet.py -> build/lib/vppcfg/config
copying vppcfg/config/lcp.py -> build/lib/vppcfg/config
copying vppcfg/config/acl.py -> build/lib/vppcfg/config
copying vppcfg/config/loopback.py -> build/lib/vppcfg/config
copying vppcfg/config/prefixlist.py -> build/lib/vppcfg/config
copying vppcfg/config/test_bridgedomain.py -> build/lib/vppcfg/config
copying vppcfg/config/test_loopback.py -> build/lib/vppcfg/config
creating build/lib/vppcfg/vpp
copying vppcfg/vpp/applier.py -> build/lib/vppcfg/vpp
copying vppcfg/vpp/vppapi.py -> build/lib/vppcfg/vpp
copying vppcfg/vpp/reconciler.py -> build/lib/vppcfg/vpp
copying vppcfg/vpp/__init__.py -> build/lib/vppcfg/vpp
copying vppcfg/vpp/dumper.py -> build/lib/vppcfg/vpp
copying vppcfg/example.yaml -> build/lib/vppcfg
copying vppcfg/schema.yaml -> build/lib/vppcfg
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/vppcfg
creating build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/test_tap.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/test_lcp.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/test_bondethernet.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/tap.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/bridgedomain.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/test_vxlan_tunnel.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/__init__.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/interface.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/test_address.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/test_mac.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/address.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/test_acl.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/mac.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/test_interface.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/test_prefixlist.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/unittestyaml.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/vxlan_tunnel.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/bondethernet.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/lcp.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/acl.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/loopback.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/prefixlist.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/test_bridgedomain.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/config/test_loopback.py -> build/bdist.linux-x86_64/wheel/vppcfg/config
copying build/lib/vppcfg/vppcfg.py -> build/bdist.linux-x86_64/wheel/vppcfg 
copying build/lib/vppcfg/example.yaml -> build/bdist.linux-x86_64/wheel/vppcfg
copying build/lib/vppcfg/__init__.py -> build/bdist.linux-x86_64/wheel/vppcfg
copying build/lib/vppcfg/tests.py -> build/bdist.linux-x86_64/wheel/vppcfg
creating build/bdist.linux-x86_64/wheel/vppcfg/vpp
copying build/lib/vppcfg/vpp/applier.py -> build/bdist.linux-x86_64/wheel/vppcfg/vpp
copying build/lib/vppcfg/vpp/vppapi.py -> build/bdist.linux-x86_64/wheel/vppcfg/vpp
copying build/lib/vppcfg/vpp/reconciler.py -> build/bdist.linux-x86_64/wheel/vppcfg/vpp
copying build/lib/vppcfg/vpp/__init__.py -> build/bdist.linux-x86_64/wheel/vppcfg/vpp
copying build/lib/vppcfg/vpp/dumper.py -> build/bdist.linux-x86_64/wheel/vppcfg/vpp
copying build/lib/vppcfg/schema.yaml -> build/bdist.linux-x86_64/wheel/vppcfg
running install_egg_info
running egg_info
writing vppcfg.egg-info/PKG-INFO
writing dependency_links to vppcfg.egg-info/dependency_links.txt
writing entry points to vppcfg.egg-info/entry_points.txt
writing requirements to vppcfg.egg-info/requires.txt
writing top-level names to vppcfg.egg-info/top_level.txt
reading manifest file 'vppcfg.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'vppcfg.egg-info/SOURCES.txt'
Copying vppcfg.egg-info to build/bdist.linux-x86_64/wheel/vppcfg-0.0.6-py3.11.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/vppcfg-0.0.6.dist-info/WHEEL
creating '/home/pim/src/vppcfg/dist/.tmp-k7h2yggu/vppcfg-0.0.6-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'vppcfg/__init__.py'
adding 'vppcfg/example.yaml'
adding 'vppcfg/schema.yaml'
adding 'vppcfg/tests.py'
adding 'vppcfg/vppcfg.py'
adding 'vppcfg/config/__init__.py'
adding 'vppcfg/config/acl.py'
adding 'vppcfg/config/address.py'
adding 'vppcfg/config/bondethernet.py'
adding 'vppcfg/config/bridgedomain.py'
adding 'vppcfg/config/interface.py'
adding 'vppcfg/config/lcp.py'
adding 'vppcfg/config/loopback.py'
adding 'vppcfg/config/mac.py'
adding 'vppcfg/config/prefixlist.py'
adding 'vppcfg/config/tap.py'
adding 'vppcfg/config/test_acl.py'
adding 'vppcfg/config/test_address.py'
adding 'vppcfg/config/test_bondethernet.py'
adding 'vppcfg/config/test_bridgedomain.py'
adding 'vppcfg/config/test_interface.py'
adding 'vppcfg/config/test_lcp.py'
adding 'vppcfg/config/test_loopback.py'
adding 'vppcfg/config/test_mac.py'
adding 'vppcfg/config/test_prefixlist.py'
adding 'vppcfg/config/test_tap.py'
adding 'vppcfg/config/test_vxlan_tunnel.py'
adding 'vppcfg/config/unittestyaml.py'
adding 'vppcfg/config/vxlan_tunnel.py'
adding 'vppcfg/vpp/__init__.py'
adding 'vppcfg/vpp/applier.py'
adding 'vppcfg/vpp/dumper.py'
adding 'vppcfg/vpp/reconciler.py'
adding 'vppcfg/vpp/vppapi.py'
adding 'vppcfg-0.0.6.dist-info/LICENSE'
adding 'vppcfg-0.0.6.dist-info/METADATA'
adding 'vppcfg-0.0.6.dist-info/WHEEL' 
adding 'vppcfg-0.0.6.dist-info/entry_points.txt'
adding 'vppcfg-0.0.6.dist-info/top_level.txt'
adding 'vppcfg-0.0.6.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built vppcfg-0.0.6.tar.gz and vppcfg-0.0.6-py3-none-any.whl

pim@summer:~/src/vppcfg$ uname -a
Linux summer 6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64 GNU/Linux

I'm sorry to say that fixing your build issues is beyond the scope of this repository.

@stathis: vppctl apply is not implemented. Recommend you use vppcfg plan and then vppctl exec the output.

@pimvanpelt I see thanks.

The OP is right though, on a clean Bookworm installation with VPP, building vppcfg will not succeed if one blindly follows this repo's README.

Even in my case where I did eventually build it by not following the instructions, the .deb created by make pkg-deb will not install by default as it depends on a bullseye package (python3-ipaddr). Again, that's not a problem since I don't really need a deb package.