TurrisOS 6.x pkgupdate stuck on libwebsockets-full vs libwebsockets-openssl

I have had success with testing TOS6, but a recent pkgupdate has run into a snag I need some help getting to the bottom of.

pkgupdate insists on installing libwebsockets-openssl, but I have libwebsockets-full installed, which it does not seem to know how to cope with.

Press return to continue, CTRL+C to abort

INFO:Downloading packages
INFO:Executing preupdate hook: 05_schnapps.sh
Snapshot number 178 created
INFO:Unpacking download packages
INFO:Checking for file collisions between packages
line not found
line not found
line not found
line not found
line not found
line not found
DIE:
[string "transaction"]:327: [string "transaction"]:151: Collisions:
• /usr/lib/libwebsockets.so: libwebsockets-full (existing-file), libwebsockets-openssl (new-file)
• /usr/lib/libwebsockets.so.14: libwebsockets-full (existing-file), libwebsockets-openssl (new-file)
Aborted

I don’t remember why I am using libwebsockets-full but I would like to avoid forcing a nodeps removal in order to allow for libwebsockets-openssl to take its place until I know why I had full in the first place.

The only reference in /etc/ I can find for libwebsockets is

/etc/updater/conf.d/opkg-auto.lua:-- Install(“libwebsockets-full”)
/etc/updater/conf.d/opkg-auto.lua:Install(“libwebsockets-full”)

Which automatically puts it back if I remove it.

Is there a way to convince pkgupdate that libwebsockets-full is acceptable?

Thanks in advance

Any idea how to overcome this?

    root@turris:~# opkg install luci-app-dockerman
    Installing luci-app-dockerman (v0.5.13) to root...
    Downloading https://repo.turris.cz/hbl/omnia/packages/luci/luci-app-dockerman_v0.5.13_all.ipk
    Installing libwebsockets-full (3.1.0-2) to root...
    Downloading https://repo.turris.cz/hbl/omnia/packages/packages/libwebsockets-full_3.1.0-2_arm_cortex-a9_vfpv3-d16.ipk
    Collected errors:
     * check_data_file_clashes: Package libwebsockets-full wants to install file /usr/lib/libwebsockets.so
    	But that file is already provided by package  * libwebsockets-openssl
     * check_data_file_clashes: Package libwebsockets-full wants to install file /usr/lib/libwebsockets.so.14
    	But that file is already provided by package  * libwebsockets-openssl
     * opkg_install_cmd: Cannot install package luci-app-dockerman.

This is an upstream bug, which was reported. More details: https://github.com/openwrt/packages/issues/11632

For me, this is because I am running docker, using package luci-app-dockerman

  • package luci-app-dockerman, requires ttyd, which depends on libwebsockets-full
  • packages foris-controller-app, foris-controller-app, and foris-ws require mosquito-ssl, which depends on libwebsockets-openssl

ToS is dependent on mosquitto-ssl, which prevents us from removing it to clear the dependency.

After removing luci-app-dockerman, and ttyd, I was able to remove libwebsockets-full and replace it with libwebsockets-openssl, which allowed me to proceed with pkgupdate.

2 Likes

Did you manage to install luci-app-dockerman at the end?

no, I was trying to force it to ignore deps but couldn’t seem to get past that.

I don’t really use it much as I do most docker stuff from CLI, so I haven’t come back to figure it out.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.