cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
566
Views
0
Helpful
3
Replies

Error in updating YDK0.8.4 in docker based Alpine Linux

kmathiya
Cisco Employee
Cisco Employee

Hi Team,

 

We have a test environment in docker based Alpine Linux with YDK 0.5.5 installed in it. When I am trying to upgrade to YDK 0.8.4, observing error with installing dependent system requirement of http://ydk.cisco.com/py/docs/getting_started.html

 

Could you please clarify the feasibility of updating YDK in Alpine Linux?

Also it will be helpful if you can help with docker based installation guide.

 

Alpine Linux info:

bash-5.0# cat /etc/os-release

NAME="Alpine Linux"

ID=alpine

VERSION_ID=3.12.0

PRETTY_NAME="Alpine Linux v3.12"

HOME_URL="https://alpinelinux.org/"

BUG_REPORT_URL="https://bugs.alpinelinux.org/"

 

Python version: 3.6.12

 

Error while installing packages:

bash-5.0# RUN apk update && apk add --no-cache gcc libffi-dev g++ python-dev build-base linux-headers postgresql-dev postgresql-contrib pcre-dev bash alpine-sdk jpeg-dev zlib-dev && pip install wheel

bash: RUN: command not found

bash-5.0# apk update && apk add --no-cache gcc libffi-dev g++ python-dev build-base linux-headers postgresql-dev postgresql-contrib pcre-dev bash alpine-sdk jpeg-dev zlib-dev && pip install wheel

fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz

fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz

v3.12.1-74-g54165f73d3 [http://dl-cdn.alpinelinux.org/alpine/v3.12/main]

v3.12.1-77-g2535715f9a [http://dl-cdn.alpinelinux.org/alpine/v3.12/community]

OK: 12745 distinct packages available

fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz

fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz

ERROR: unsatisfiable constraints:

  python-dev (missing):

    required by: world[python-dev]

bash-5.0# apk add --no-cache python-dev

fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz

fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz

ERROR: unsatisfiable constraints:

  python-dev (missing):

    required by: world[python-dev]

bash-5.0# vi /etc/apk/repositories

bash-5.0# apk add --no-cache python-dev

fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz

fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz

fetch http://dl-8.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

WARNING: Ignoring http://dl-8.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz: operation timed out

ERROR: unsatisfiable constraints:

  python-dev (missing):

    required by: world[python-dev]

 

Thanks,

Kousalya

3 Replies 3

yangorelik
Spotlight
Spotlight

The Alpine Linux has never been supported in YDK software. As I know, it is not officially supported by Cisco IT either. Therefore I would suggest to switch your testing platform to RHEL-7 or CentOS-7 platform/docker. Corresponding installation Wiki pages are available on Cisco internal website.

Regarding error that you are facing. The Python2 (python-dev) has been deprecated and most likely is not available anymore in software repositories. Try to install Python3.

Yan Gorelik
YDK Solutions

Hi Yan,

 

Thanks for the reply.

 

One of my team in Cisco have created Alpine Linux based docker and installed YDK0.5.5 in the environment. Since Alpine is light weight based docker and it is used for our framework. I am trying to upgrade YDK0.8.4 in the same environment.

As you mentioned above, i will try with pythion3. One more query is whether only for YDK > 0.7.3 or 0.8.4 we have all these system dependency?

Please correct me if i am wrong, if version YDK0.5.5 installation is possible in Alpine Linux, whether we will be able to update latest YDK in same environment?

 

Thanks,

Kousalya

Hi Kousalya

The YDK releases 0.5.5 and 0.8.4 are very much different, built on different paradigms. The 0.5.5 is pure Python software, whereas 0.8.4 - multi language software based on C++. In 0.8.4 the Python user API programmed as a wrapper for C++ core. That makes the 0.8.4 installation more complex as it has more dependencies from 3rd party software. Considering that difference you need to understand your upgrade objections and related challenges.

The YDK-0.8.4 does not use platform kernel commands, it is just API set to help programmer build programmability applications. From that prospectives I believe you can install the YDK on any platform. It is obvious that you will not be able to use prebuilt components, which were targeted only for supported platforms. But I am sure you will be able to install YDK software from source.

Please note that since 0.8.4 there were multiple bug fixes and new release 0.8.5 not officially released. If you go the upgrade route, I would suggest not to waist time and go for the latest release. You can clone the 0.8.5 release from this repository.

Yan Gorelik
YDK Solutions