[GH-ISSUE #1503] [Bug] Deb packaging error #584

Closed
opened 2026-03-23 20:38:15 +00:00 by mirror · 18 comments
Owner

Originally created by @LaBaude32 on GitHub (Nov 28, 2022).
Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/1503

Originally assigned to: @LucasXu0 on GitHub.

Bug Description

Hi !
I tried to install the Debian package (thx for it) on my Debian 11, but it's doesn't work because Debian’s dpkg package doesn’t support zstd compression.
So i get that error :

dpkg-deb: error: archive '/home/baudouin/Téléchargements/AppFlowy_0.0.7_linux-amd64.deb' uses unknown compression for member 'control.tar.zst', giving up
dpkg: error processing archive /home/baudouin/Téléchargements/AppFlowy_0.0.7_linux-amd64.deb (--unpack):
 dpkg-deb --control subprocess returned error exit status 2
Errors were encountered while processing:
 /home/baudouin/Téléchargements/AppFlowy_0.0.7_linux-amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

How to Reproduce

sudo apt install ./AppFlowy_0.0.7_linux-amd64.deb

Expected Behavior

Maybe using an other compression method ?

Operating System

Debian 11

AppFlowy Version(s)

0.0.7

Originally created by @LaBaude32 on GitHub (Nov 28, 2022). Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/1503 Originally assigned to: @LucasXu0 on GitHub. ### Bug Description Hi ! I tried to install the Debian package (thx for it) on my Debian 11, but it's doesn't work because [Debian’s dpkg package doesn’t support zstd compression](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664). So i get that error : ``` dpkg-deb: error: archive '/home/baudouin/Téléchargements/AppFlowy_0.0.7_linux-amd64.deb' uses unknown compression for member 'control.tar.zst', giving up dpkg: error processing archive /home/baudouin/Téléchargements/AppFlowy_0.0.7_linux-amd64.deb (--unpack): dpkg-deb --control subprocess returned error exit status 2 Errors were encountered while processing: /home/baudouin/Téléchargements/AppFlowy_0.0.7_linux-amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) ``` ### How to Reproduce `sudo apt install ./AppFlowy_0.0.7_linux-amd64.deb` ### Expected Behavior Maybe using an other compression method ? ### Operating System Debian 11 ### AppFlowy Version(s) 0.0.7
mirror 2026-03-23 20:38:15 +00:00
Author
Owner

@maranix commented on GitHub (Nov 29, 2022):

So, I've been looking into this and have managed to make an installable package. It installs but there is a problem, I cannot launch the executable.

Error

/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found

Reason

The application was built & compiled on Ubuntu with GLIBC 2.34 but Debian ships with GLIBC 2.31 by default. That makes the GLIBC target of >=2.34.

It is not recommended to mess with shipped GLIBC since it can cause problems and unexpected behaviors.

Proposed Solutions

  • Building the application using Debian in CI.
  • Using a separate 2.31 toolchain to compile the application for current CI process.
<!-- gh-comment-id:1330158093 --> @maranix commented on GitHub (Nov 29, 2022): So, I've been looking into this and have managed to make an installable package. It installs but there is a problem, I cannot launch the executable. # Error ``/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found`` # Reason The application was built & compiled on Ubuntu with ``GLIBC 2.34`` but Debian ships with ``GLIBC 2.31`` by default. That makes the GLIBC target of >=2.34. It is not recommended to mess with shipped GLIBC since it can cause problems and unexpected behaviors. # Proposed Solutions - Building the application using Debian in CI. - Using a separate 2.31 toolchain to compile the application for current CI process.
Author
Owner

@LucasXu0 commented on GitHub (Nov 29, 2022):

  • Building the application using Debian in CI.

GitHub doesn't provide the CI machine on the Debian platform.

It seems there are two questions.

  1. The package can't be unpacked successfully.
  2. Could not launch the app even after installing successfully.
<!-- gh-comment-id:1330168465 --> @LucasXu0 commented on GitHub (Nov 29, 2022): > * Building the application using Debian in CI. GitHub doesn't provide the CI machine on the Debian platform. It seems there are two questions. 1. The package can't be unpacked successfully. 2. Could not launch the app even after installing successfully.
Author
Owner

@maranix commented on GitHub (Nov 29, 2022):

  • Building the application using Debian in CI.

GitHub doesn't provide the CI machine on the Debian platform.

It seems there are two questions.

  1. The package can't be unpacked successfully.
  2. Could not launch the app even after installing successfully.

It's the latter one. I rebuilt the deb package using -Z xz flag and it installed flawlessly but failed to launch the app_flowy binary with above mentioned error.

<!-- gh-comment-id:1330251851 --> @maranix commented on GitHub (Nov 29, 2022): > > * Building the application using Debian in CI. > > GitHub doesn't provide the CI machine on the Debian platform. > > It seems there are two questions. > > 1. The package can't be unpacked successfully. > 2. Could not launch the app even after installing successfully. It's the latter one. I rebuilt the deb package using ``-Z xz`` flag and it installed flawlessly but failed to launch the ``app_flowy`` binary with above mentioned error.
Author
Owner

@LucasXu0 commented on GitHub (Nov 30, 2022):

@ramanverma2k Are there any other options besides building the application using Debian?

<!-- gh-comment-id:1331678657 --> @LucasXu0 commented on GitHub (Nov 30, 2022): @ramanverma2k Are there any other options besides building the application using Debian?
Author
Owner

@maranix commented on GitHub (Nov 30, 2022):

As of now we shouldn't need to do anything for Debian 12 as it is pre-packaged with GLIBC 2.36. It installs and works without any issues or side effects on Debian 12.

image

I am looking into possible solutions and workarounds for Debian 11, will report back as soon as I find something.

It seems like the most reasonable and optimal approach for now will be to compile a 2.31 GLIBC and use that to build the application on CI temporarily. After the stable release of Debian 12 we can discard it from CI.

<!-- gh-comment-id:1331771732 --> @maranix commented on GitHub (Nov 30, 2022): As of now we shouldn't need to do anything for Debian 12 as it is pre-packaged with [GLIBC 2.36](https://sources.debian.org/patches/glibc/). It installs and works without any issues or side effects on Debian 12. ![image](https://user-images.githubusercontent.com/59292838/204735349-28293dad-aa79-4942-8981-cb892a8b623a.png) I am looking into possible solutions and workarounds for Debian 11, will report back as soon as I find something. It seems like the most reasonable and optimal approach for now will be to compile a 2.31 GLIBC and use that to build the application on CI temporarily. After the stable release of Debian 12 we can discard it from CI.
Author
Owner

@maranix commented on GitHub (Dec 1, 2022):

@LucasXu0 and @LaBaude32 Can you please test this package AppFlowy_0.7.2_linux-amd64
*ignore the version.

In my case the package was installed successfully on Debian 11 & Ubuntu 22.04, and the application also ran without any issues. I would just like to double check and see it's not only limited to my machine.

<!-- gh-comment-id:1333425032 --> @maranix commented on GitHub (Dec 1, 2022): @LucasXu0 and @LaBaude32 Can you please test this package [AppFlowy_0.7.2_linux-amd64](https://github.com/ramanverma2k/AppFlowy/releases/download/refs%2Fheads%2F0.7.2/AppFlowy_0.7.2_linux-amd64.deb) *ignore the version. In my case the package was installed successfully on ``Debian 11`` & ``Ubuntu 22.04``, and the application also ran without any issues. I would just like to double check and see it's not only limited to my machine.
Author
Owner

@LaBaude32 commented on GitHub (Dec 1, 2022):

@LucasXu0 and @LaBaude32 Can you please test this package AppFlowy_0.7.2_linux-amd64 *ignore the version.

In my case the package was installed successfully on Debian 11 & Ubuntu 22.04, and the application also ran without any issues. I would just like to double check and see it's not only limited to my machine.

No problems with the install. But the app doesn't run on my Debian 11.
I tried with the terminal and I got that error :
appflowy: error while loading shared libraries : libkeybinder-3.0.so.0; cannot open shared object file: No such file or directory

<!-- gh-comment-id:1333538316 --> @LaBaude32 commented on GitHub (Dec 1, 2022): > @LucasXu0 and @LaBaude32 Can you please test this package [AppFlowy_0.7.2_linux-amd64](https://github.com/ramanverma2k/AppFlowy/releases/download/refs%2Fheads%2F0.7.2/AppFlowy_0.7.2_linux-amd64.deb) *ignore the version. > > In my case the package was installed successfully on `Debian 11` & `Ubuntu 22.04`, and the application also ran without any issues. I would just like to double check and see it's not only limited to my machine. No problems with the install. But the app doesn't run on my Debian 11. I tried with the terminal and I got that error : `appflowy: error while loading shared libraries : libkeybinder-3.0.so.0; cannot open shared object file: No such file or directory`
Author
Owner

@LucasXu0 commented on GitHub (Dec 1, 2022):

@LaBaude32 Please try to run the below command before installing the app.

sudo apt-get install libkeybinder-3.0-0
<!-- gh-comment-id:1333593587 --> @LucasXu0 commented on GitHub (Dec 1, 2022): @LaBaude32 Please try to run the below command before installing the app. ```shell sudo apt-get install libkeybinder-3.0-0 ```
Author
Owner

@maranix commented on GitHub (Dec 1, 2022):

I forgot to add libkeybinder-3.0-0 dependency in the package. I'll make a PR so that the package automatically installs it if the user doesn't have it on their OS. However, libssl1.1 will need to be downloaded and installed manually on Ubuntu 22.10 as it was deprecated. So, it makes more sense to not add it as required dependency even though the application needs it to work also it will break the installer on Ubuntu 22.10.

<!-- gh-comment-id:1333833735 --> @maranix commented on GitHub (Dec 1, 2022): I forgot to add ``libkeybinder-3.0-0`` dependency in the package. I'll make a PR so that the package automatically installs it if the user doesn't have it on their OS. However, ``libssl1.1`` will need to be downloaded and installed manually on Ubuntu 22.10 as it was deprecated. So, it makes more sense to not add it as required dependency even though the application needs it to work also it will break the installer on ``Ubuntu 22.10``.
Author
Owner

@LaBaude32 commented on GitHub (Dec 1, 2022):

@LaBaude32 Please try to run the below command before installing the app.

sudo apt-get install libkeybinder-3.0-0

I installed it after installing the app and it works perfectly! Thx !

<!-- gh-comment-id:1333838740 --> @LaBaude32 commented on GitHub (Dec 1, 2022): > @LaBaude32 Please try to run the below command before installing the app. > > ```shell > sudo apt-get install libkeybinder-3.0-0 > ``` I installed it after installing the app and it works perfectly! Thx !
Author
Owner

@maranix commented on GitHub (Dec 1, 2022):

@LucasXu0 Downgrading the runner image to ubuntu-18.04 fixes the GLIBC 2.34 error. As for the unsupported compression error, we just need to add the -Z xz flag in the dpkg-deb command.

The package that i shared above was made using only these changes.

<!-- gh-comment-id:1334002662 --> @maranix commented on GitHub (Dec 1, 2022): @LucasXu0 Downgrading the runner image to ``ubuntu-18.04`` fixes the ``GLIBC 2.34`` error. As for the ``unsupported compression`` error, we just need to add the ``-Z xz`` flag in the ``dpkg-deb`` command. The package that i shared above was made using only these changes.
Author
Owner

@maranix commented on GitHub (Dec 4, 2022):

@LucasXu0 Would it be better to add another task with ubuntu-18.04 runner image to build an alternate package for linux instead of replacing the current linux_x86-64 workflow?

I can make a PR based on your decision and refactor the linux workflow a little bit too.

<!-- gh-comment-id:1336332643 --> @maranix commented on GitHub (Dec 4, 2022): @LucasXu0 Would it be better to add another task with ``ubuntu-18.04`` runner image to build an alternate package for ``linux`` instead of replacing the current ``linux_x86-64`` workflow? I can make a PR based on your decision and refactor the linux workflow a little bit too.
Author
Owner

@LucasXu0 commented on GitHub (Dec 4, 2022):

@ramanverma2k Do you mean to build two packages for different Linux platforms?

<!-- gh-comment-id:1336333951 --> @LucasXu0 commented on GitHub (Dec 4, 2022): @ramanverma2k Do you mean to build two packages for different Linux platforms?
Author
Owner

@maranix commented on GitHub (Dec 4, 2022):

@ramanverma2k Do you mean to build two packages for different Linux platforms?

Yes, I know that will increase confusion among users about which package to install but I am a little skeptical about downgrading the current runner image since it is deprecated.

<!-- gh-comment-id:1336335790 --> @maranix commented on GitHub (Dec 4, 2022): > @ramanverma2k Do you mean to build two packages for different Linux platforms? Yes, I know that will increase confusion among users about which package to install but I am a little skeptical about downgrading the current runner image since it is [deprecated](https://github.com/actions/runner-images#available-images).
Author
Owner

@LucasXu0 commented on GitHub (Dec 4, 2022):

It sounds reasonable. We should not downgrade the current Linux runner image because the 18.04 image has been indicated as deprecated. We can offer two packages for the Linux user.

I think the other important thing is that we should add libkeybinder as a dependency for Linux package in the CI.

<!-- gh-comment-id:1336340647 --> @LucasXu0 commented on GitHub (Dec 4, 2022): It sounds reasonable. We should not downgrade the current Linux runner image because the 18.04 image has been indicated as deprecated. We can offer two packages for the Linux user. I think the other important thing is that we should add `libkeybinder` as a dependency for Linux package in the CI.
Author
Owner

@maranix commented on GitHub (Dec 4, 2022):

It sounds reasonable. We should not downgrade the current Linux runner image because the 18.04 image has been indicated as deprecated. We can offer two packages for the Linux user.

I think the other important thing is that we should add libkeybinder as a dependency for Linux package in the CI.

Yeah, I can add libkeybinder as a dependency in the package for automatically installing it if the user doesn't have it.

<!-- gh-comment-id:1336342075 --> @maranix commented on GitHub (Dec 4, 2022): > It sounds reasonable. We should not downgrade the current Linux runner image because the 18.04 image has been indicated as deprecated. We can offer two packages for the Linux user. > > I think the other important thing is that we should add `libkeybinder` as a dependency for Linux package in the CI. Yeah, I can add ``libkeybinder`` as a dependency in the package for automatically installing it if the user doesn't have it.
Author
Owner

@LaBaude32 commented on GitHub (Dec 9, 2022):

I tried to install version 0.0.8.1 but it seems that the same error occurs when I try to run it:
appflowy: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.34' not found (required by appflowy)

<!-- gh-comment-id:1344555485 --> @LaBaude32 commented on GitHub (Dec 9, 2022): I tried to install version 0.0.8.1 but it seems that the same error occurs when I try to run it: `appflowy: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.34' not found (required by appflowy)`
Author
Owner

@maranix commented on GitHub (Dec 9, 2022):

I tried to install version 0.0.8.1 but it seems that the same error occurs when I try to run it:
appflowy: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.34' not found (required by appflowy)

Hey @LaBaude32 make sure to install the AppFlowy_0.8.1_linux-amd64-alt.deb package instead of regular AppFlowy_0.8.1_linux-amd64.deb.

The package suffixed with -alt is for Debian 11 and Ubuntu 18.04 distributions.

<!-- gh-comment-id:1344771407 --> @maranix commented on GitHub (Dec 9, 2022): > I tried to install version 0.0.8.1 but it seems that the same error occurs when I try to run it: > `appflowy: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.34' not found (required by appflowy)` > Hey @LaBaude32 make sure to install the ``AppFlowy_0.8.1_linux-amd64-alt.deb`` package instead of regular ``AppFlowy_0.8.1_linux-amd64.deb``. The package suffixed with ``-alt`` is for Debian 11 and Ubuntu 18.04 distributions.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#584
No description provided.