Zerotier - unifi cloudkey - debian jessie armhf update failure

I have zerotier installed on two cloudkeys, which are running debian jessie as far as I know. I have the zerotier repo added and have previously just done an apt update / apt upgrade.

I see a pending/available update:

$ apt list --upgradable
zerotier-one/jessie 1.8.10 armhf [upgradable from: 1.8.7]

However, if I attempt to upgrade it:

$ apt upgrade zerotier-one
The following packages have unmet dependencies:
 zerotier-one : Depends: libstdc++6 (>= 5) but 4.9.2-10+deb8u2 is to be installed
E: Broken packages

Is this just my systems, or is there something wrong in the repo version?

2 Likes

I’m seeing this on another jessie install, as well.

Any help from @zt-travis @zt-grant or anyone? :slight_smile:

Come on, can we get a little love and fix this problem?

No help? Please? This is a rather long time waiting…

What do you see when you try to install that package?

@zt-joseph It is in the original post.

What do you see when you manually try to install it yourself? Anything different?

I don’t understand, I have it pulled from the repo using package management, which is the whole appeal… What, you want me to remove the installed package and hand-install? The problem is clearly in the build that is in the repo not being built the way prior ones were, as earlier versions did not have this problem.

No. We’re trying to diagnose whether this is an issue with the repo or your particular system. So what I am asking is whether manually satisfying the dependency will then let you install ZT.

I’d try something like:

apt --fix-broken install
apt install libstdc++6

If something this simple fixes things for you then I’d assume something was just broken locally. If this doesn’t fix it we can take a closer look at our package, it may be our problem.

It is on two different Unifi CloudKey installations. And did you notice above that @TanerH said that he was seeing this as well? I don’t really want to break my CloudKey.

# apt --fix-broken install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

I don’t know if you meant to include the package name after the install in your example command or not so I added it below…

# apt --fix-broken install zerotier-one
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 zerotier-one : Depends: libstdc++6 (>= 5) but 4.9.2-10+deb8u2 is to be installed
E: Unable to correct problems, you have held broken packages.
# apt install libstdc++6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libstdc++6 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

I use linux for servers, doccker/etc, but I never dug into the innards of apt/yum/etc, so when packages go sideways I don’t know how to fix them. :slight_smile:

@zt-joseph I did look at the apt show output for the version I am running and the newer versions (1.8.9 and 1.8.10 or 1.10.0) which won’t install:

1.8.7:

Package: zerotier-one
Priority: optional
Section: net
Installed-Size: 2551 kB
Maintainer: Adam Ierymenko <adam.ierymenko@zerotier.com>
Version: 1.8.7
Depends: init-system-helpers (>= 1.18~), iproute2, adduser, libstdc++6, openssl
Download-Size: 791 kB
SHA512: 6b430076c7f431741224787f3061b5a91b648256700decce9c04ef00ad7696f70fc338f99020f2c60b23078d9d798caef95e2a0a885042e9edccb9f228419b5f
Homepage: https://www.zerotier.com/
APT-Manual-Installed: yes
APT-Sources: http://download.zerotier.com/debian/jessie/ jessie/main armhf Packages
Description: ZeroTier network virtualization service
 ZeroTier One lets you join ZeroTier virtual networks and
 have them appear as tun/tap ports on your system. See
 https://www.zerotier.com/ for instructions and
 documentation.

1.8.9:

Package: zerotier-one
Priority: optional
Section: net
Installed-Size: 2551 kB
Maintainer: Adam Ierymenko <adam.ierymenko@zerotier.com>
Version: 1.8.9
Depends: iproute2, adduser, libstdc++6 (>= 5), openssl
Download-Size: 791 kB
SHA512: f4d757145d4f49ce999ac91ed7b3e1dd6868dabac71c92c0bda0a14dce31f60031a25341cc50e46f3e8282d601e4d1d5568e7c32f8f0a54089c0ca16c7b06943
Homepage: https://www.zerotier.com/
APT-Sources: http://download.zerotier.com/debian/jessie/ jessie/main armhf Packages
Description: ZeroTier network virtualization service
 ZeroTier One lets you join ZeroTier virtual networks and
 have them appear as tun/tap ports on your system. See
 https://www.zerotier.com/ for instructions and
 documentation.

1.8.10:

Package: zerotier-one
Priority: optional
Section: net
Installed-Size: 2551 kB
Maintainer: Adam Ierymenko <adam.ierymenko@zerotier.com>
Version: 1.8.10
Depends: iproute2, adduser, libstdc++6 (>= 5), openssl
Download-Size: 791 kB
SHA512: 4cdcd694a1f73b9b2cc510e4dae9626068d8ff02adfcfbc3285d57f5d287c7d33378938bf4e02640b47d98a995f4c4f8ef0ea0081c3c2fdc68c76aa592b17425
Homepage: https://www.zerotier.com/
APT-Sources: http://download.zerotier.com/debian/jessie/ jessie/main armhf Packages
Description: ZeroTier network virtualization service
 ZeroTier One lets you join ZeroTier virtual networks and
 have them appear as tun/tap ports on your system. See
 https://www.zerotier.com/ for instructions and
 documentation.

1.10.0:

Package: zerotier-one
Priority: optional
Section: net
Installed-Size: 2579 kB
Maintainer: Adam Ierymenko <adam.ierymenko@zerotier.com>
Version: 1.10.0
Depends: iproute2, adduser, libstdc++6 (>= 5), openssl
Download-Size: 793 kB
SHA512: 0f7abfdb9134b42606e800eee4d7f6063a2a2444bce62b17ec0bca61fd0ebdf21a3dbfd98b6d2ce9b502dbecf987b1ba6b0a05372e09a267411e35441f4f5dfa
Homepage: https://www.zerotier.com/
APT-Sources: http://download.zerotier.com/debian/jessie/ jessie/main armhf Packages
Description: ZeroTier network virtualization service
 ZeroTier One lets you join ZeroTier virtual networks and
 have them appear as tun/tap ports on your system. See
 https://www.zerotier.com/ for instructions and
 documentation

The newer ones all list the dependency libstdc++6 (>= 5) that the older ones do not. Is that supposed to be standard on a jessie system? Seems the Unifi CloudKey Jessie install is not running >=5 but has 4.9.2-10+deb8u2? (Unsure how to check this other than what the install error gives me).

If I just try to apt install libstdc++6 it tells me it is already the newest version.

# apt show -a libstdc++6
Package: libstdc++6
Source: gcc-4.9
Version: 4.9.2-10+deb8u2
Installed-Size: 934 kB
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Replaces: libstdc++6-4.9-dbg (<< 4.9.0-3)
Provides: libstdc++6-armhf
Depends: gcc-4.9-base (= 4.9.2-10+deb8u2), libc6 (>= 2.18), libgcc1 (>= 1:4.4.0)
Conflicts: scim (<< 1.4.2-1)
Breaks: gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2)
Homepage: http://gcc.gnu.org/
Pre-Depends: multiarch-support
Section: libs
Priority: important
Download-Size: 241 kB
APT-Manual-Installed: yes
APT-Sources: http://security.debian.org/ jessie/updates/main armhf Packages
Description: GNU Standard C++ Library v3

Package: libstdc++6
Source: gcc-4.9
Version: 4.9.2-10+deb8u1
Installed-Size: 934 kB
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Replaces: libstdc++6-4.9-dbg (<< 4.9.0-3)
Provides: libstdc++6-armhf
Depends: gcc-4.9-base (= 4.9.2-10+deb8u1), libc6 (>= 2.18), libgcc1 (>= 1:4.4.0)
Pre-Depends: multiarch-support
Conflicts: scim (<< 1.4.2-1)
Breaks: gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2)
Homepage: http://gcc.gnu.org/
Tag: implemented-in::c++, role::shared-lib
Section: libs
Priority: important
Download-Size: 241 kB
APT-Sources: http://httpredir.debian.org/debian/ jessie/main armhf Packages
Description: GNU Standard C++ Library v3

Yup. I think that’s exactly the problem. I think our requirement is too high. I’ll ping the team about this tomorrow and see what we can do.

1 Like

Thanks. As far as I can tell there is no v5 of libstdc++6 for jessie.

@zt-joseph

Well, I did something a bit foolish and yet had more luck than I deserved. :wink:

I don’t get into the details of apt/dpkg/etc, it has been a long time since I even used them outside of basic updates/installations. I was curious about this package, though, so I downloaded it from the repo:

http://download.zerotier.com/debian/jessie/pool/main/z/zerotier-one/zerotier-one_1.8.10_armhf.deb

I wanted to look at the contents, maybe to look at the binaries and see what libraries/versions they actually were compiled against. On the CloudKey there are no man pages, and in dpkg --help I saw an --unpack option. I thought it would be like unzip, so I went ahead…

I’ll have to read up what it really does, but it seems it like an install without looking at requirements. UGH. It overwrote my 1.8.7 installation with the 1.8.10 I downloaded.

But it worked. I restarted the service and all is fine, unless at some point it will call a function that isn’t in my version of the stdc++ library.

I’m not sure if I want to try that with the 1.10.0 version, it seems a larger leap, but maybe you have something from your colleagues about the state of the repo and I can just do a regular install at some point. :slight_smile: After all, it is in the jessie repo so one might think it would just work. [OK, tested, and 1.10.0 works as well]

@zt-joseph After doing that unpack, while it was working fine, it broke apt and nothing else could be installed as the same error was thrown.

Any update on getting the packages fixed?

I followed the steps here:

And I repackaged a version for myself that only has libstdc++6, removing the (>= 5) portion, and that installed just fine and leaves apt functional.,

@zt-joseph Nothing yet?

I would really consider moving Zerotier to a different appliance.

That’s nice, but it doesn’t answer the question or fix the problem that the current package is simply BROKEN because a human put the wrong text in the requirements string. It can be easily fixed, but apparently it is too much work to do. And this would affect any platform running on this version of Jessie, not just the cloudkey.