Weird missing dependencies when installing .deb #108

Closed
opened 2026-01-29 16:29:44 +00:00 by claunia · 2 comments
Owner

Originally created by @markpendlebury on GitHub (Oct 18, 2021).

After implementing dotnet packaging in my core 3.1 application and building a .deb file if i attempt to install the package using:
apt install ./mypackage.deb i get the following output:

The following packages have unmet dependencies.
 myapp : Depends: libicu66 but it is not installable or
                     libicu65 but it is not installable or
                     libicu64 but it is not installable or
                     libicu63 but it is not installable or
                     libicu62 but it is not installable or
                     libicu61 but it is not installable or
                     libicu60 but it is not installable or
                     libicu59 but it is not installable or
                     libicu58 but it is not installable or
                     libicu57 but it is not installable or
                     libicu56 but it is not installable or
                     libicu55 but it is not installable or
                     libicu54 but it is not installable or
                     libicu53 but it is not installable or
                     libicu52 but it is not installable
E: Unable to correct problems, you have held broken packages.

Applications builds and runs perfectly on the same machine from source (dotnet run) and i have no reference to nor am i aware that i'm using libicuxx?
Any ideas?

Originally created by @markpendlebury on GitHub (Oct 18, 2021). After implementing dotnet packaging in my core 3.1 application and building a .deb file if i attempt to install the package using: `apt install ./mypackage.deb` i get the following output: ``` The following packages have unmet dependencies. myapp : Depends: libicu66 but it is not installable or libicu65 but it is not installable or libicu64 but it is not installable or libicu63 but it is not installable or libicu62 but it is not installable or libicu61 but it is not installable or libicu60 but it is not installable or libicu59 but it is not installable or libicu58 but it is not installable or libicu57 but it is not installable or libicu56 but it is not installable or libicu55 but it is not installable or libicu54 but it is not installable or libicu53 but it is not installable or libicu52 but it is not installable E: Unable to correct problems, you have held broken packages. ``` Applications builds and runs perfectly on the same machine from source (dotnet run) and i have no reference to nor am i aware that i'm using `libicuxx`? Any ideas?
Author
Owner

@atauenis commented on GitHub (Oct 18, 2021):

As a workaround, this is working:

    <DebDotNetDependencies Remove="libc6, libgcc1, libgssapi-krb5-2, libstdc++6, zlib1g, libssl1.1 | libssl1.0.2 | libssl1.0.1 | libssl1.0.0 | libssl0.9.8, libicu63 | libicu62 | libicu61 | libicu60 | libicu59 | libicu58 | libicu57 | libicu56 | libicu55 | libicu54 | libicu53 | libicu52" />
    <DebDotNetDependencies Include="libc6, libgcc1, libgssapi-krb5-2, libstdc++6, zlib1g, libssl1.1 | libssl1.0.2 | libssl1.0.1 | libssl1.0.0 | libssl0.9.8, libicu72 | libicu71 | libicu70 | libicu69 | libicu68 | libicu67 | libicu66 | libicu65 | libicu64 | libicu63 | libicu62 | libicu61 | libicu60 | libicu59 | libicu58 | libicu57 | libicu56 | libicu55 | libicu54 | libicu53 | libicu52" /> 

Someone of Linux package maintainers thought that every version of distribution must have own version of libicu with own package name (not package version), and all who use the libicu library should update dependency name every half-year. This library is in depends of .NET Core Runtime (and its package name in dependency list is always up to date), so this is why dotnet run works correctly. Currently dotnet-packaging have outdated list by default, actual only for Ubuntu 18.04/19.xx and similar.

@atauenis commented on GitHub (Oct 18, 2021): As a workaround, this is working: ```XML <DebDotNetDependencies Remove="libc6, libgcc1, libgssapi-krb5-2, libstdc++6, zlib1g, libssl1.1 | libssl1.0.2 | libssl1.0.1 | libssl1.0.0 | libssl0.9.8, libicu63 | libicu62 | libicu61 | libicu60 | libicu59 | libicu58 | libicu57 | libicu56 | libicu55 | libicu54 | libicu53 | libicu52" /> <DebDotNetDependencies Include="libc6, libgcc1, libgssapi-krb5-2, libstdc++6, zlib1g, libssl1.1 | libssl1.0.2 | libssl1.0.1 | libssl1.0.0 | libssl0.9.8, libicu72 | libicu71 | libicu70 | libicu69 | libicu68 | libicu67 | libicu66 | libicu65 | libicu64 | libicu63 | libicu62 | libicu61 | libicu60 | libicu59 | libicu58 | libicu57 | libicu56 | libicu55 | libicu54 | libicu53 | libicu52" /> ``` Someone of Linux package maintainers thought that every version of distribution must have own version of `libicu` with own package name (not package version), and all who use the `libicu` library should update dependency name every half-year. This library is in depends of .NET Core Runtime (and its package name in dependency list is always up to date), so this is why `dotnet run` works correctly. Currently dotnet-packaging have outdated list by default, actual only for Ubuntu 18.04/19.xx and similar.
Author
Owner

@qmfrederik commented on GitHub (Nov 10, 2021):

@atauenis is right. #208 fixes this; there should be a new version on NuGet in about 30 minutes or so.

@qmfrederik commented on GitHub (Nov 10, 2021): @atauenis is right. #208 fixes this; there should be a new version on NuGet in about 30 minutes or so.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/dotnet-packaging#108