{"id":309,"date":"2024-02-29T12:55:15","date_gmt":"2024-02-29T12:55:15","guid":{"rendered":"https:\/\/thinkdebian.net\/blog\/?p=309"},"modified":"2024-10-16T10:44:41","modified_gmt":"2024-10-16T10:44:41","slug":"debian-12-fix-libjpeg8-missing-dependency-error-for-parsec","status":"publish","type":"post","link":"https:\/\/thinkdebian.net\/blog\/debian-12-fix-libjpeg8-missing-dependency-error-for-parsec\/","title":{"rendered":"Debian 12 &#8211; Fix libjpeg8 missing dependency error for Parsec"},"content":{"rendered":"\n<p>While trying to install Parsec application in Debian 12, I came across the following error:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">root@x220:~# <strong>dpkg -i \/home\/panos\/Downloads\/parsec-linux.deb<\/strong>\n(Reading database \u2026 347864 files and directories currently installed.)\nPreparing to unpack \u2026\/Downloads\/parsec-linux.deb \u2026\nUnpacking parsec (150-91a) over (150-91a) \u2026\ndpkg: dependency problems prevent configuration of parsec:\nparsec depends on libjpeg8; however:\nPackage libjpeg8 is not installed.\n\ndpkg: error processing package parsec (--install):\ndependency problems - leaving unconfigured\nProcessing triggers for mate-menus (1.26.0-3) \u2026\nProcessing triggers for mailcap (3.70+nmu1) \u2026\nProcessing triggers for desktop-file-utils (0.26-1) \u2026\nProcessing triggers for hicolor-icon-theme (0.17-2) \u2026\nErrors were encountered while processing:\nparsec\nroot@x220:~#<\/pre>\n\n\n\n<p>If we try to run parsecd, we will get the following error:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"625\" src=\"https:\/\/thinkdebian.net\/blog\/wp-content\/uploads\/2024\/02\/parsec-libjpeg-error-Screenshot-at-2024-02-29-14-12-56-1024x625.png\" alt=\"\" class=\"wp-image-310\" srcset=\"https:\/\/thinkdebian.net\/blog\/wp-content\/uploads\/2024\/02\/parsec-libjpeg-error-Screenshot-at-2024-02-29-14-12-56-1024x625.png 1024w, https:\/\/thinkdebian.net\/blog\/wp-content\/uploads\/2024\/02\/parsec-libjpeg-error-Screenshot-at-2024-02-29-14-12-56-300x183.png 300w, https:\/\/thinkdebian.net\/blog\/wp-content\/uploads\/2024\/02\/parsec-libjpeg-error-Screenshot-at-2024-02-29-14-12-56-768x469.png 768w, https:\/\/thinkdebian.net\/blog\/wp-content\/uploads\/2024\/02\/parsec-libjpeg-error-Screenshot-at-2024-02-29-14-12-56.png 1111w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Parsec libjpeg error<\/figcaption><\/figure>\n\n\n\n<p>This is a result of Debian having removed libjpeg8 from it&#8217;s APT package database.  Instead, we have to install and use the available package, libjpeg62-turbo, if not already installed.  Afterwards, we just create a symbolic link to the filename we need in order for Parsec to be happy and run as usual.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">root@x220:~# <strong>ln -s \/usr\/lib\/x86_64-linux-gnu\/libjpeg.so.62 \/usr\/lib\/x86_64-linux-gnu\/libjpeg.so.8<\/strong><\/pre>\n\n\n\n<p>After that, we try to run Parsec again:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"625\" src=\"https:\/\/thinkdebian.net\/blog\/wp-content\/uploads\/2024\/02\/parsec-libjpeg-symbolic-link-Screenshot-at-2024-02-29-14-15-28-1024x625.png\" alt=\"\" class=\"wp-image-311\" srcset=\"https:\/\/thinkdebian.net\/blog\/wp-content\/uploads\/2024\/02\/parsec-libjpeg-symbolic-link-Screenshot-at-2024-02-29-14-15-28-1024x625.png 1024w, https:\/\/thinkdebian.net\/blog\/wp-content\/uploads\/2024\/02\/parsec-libjpeg-symbolic-link-Screenshot-at-2024-02-29-14-15-28-300x183.png 300w, https:\/\/thinkdebian.net\/blog\/wp-content\/uploads\/2024\/02\/parsec-libjpeg-symbolic-link-Screenshot-at-2024-02-29-14-15-28-768x469.png 768w, https:\/\/thinkdebian.net\/blog\/wp-content\/uploads\/2024\/02\/parsec-libjpeg-symbolic-link-Screenshot-at-2024-02-29-14-15-28.png 1111w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Parsec now running without complaining<\/figcaption><\/figure>\n\n\n\n<p>Parsec does not complain anymore and runs as expected.  There&#8217;s one caveat with this quick fix, though.  <\/p>\n\n\n\n<p>APT will see the unresolved libjpeg8 dependency and will keep nagging us about it while running it.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">root@x220:~# <strong>apt upgrade<\/strong><br>Reading package lists\u2026 Done<br>Building dependency tree\u2026 Done<br>Reading state information\u2026 Done<br>You might want to run 'apt --fix-broken install' to correct these.<br>The following packages have unmet dependencies:<br>parsec : Depends: libjpeg8 but it is not installable<br>E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).<br>root@x220:~#<\/pre>\n\n\n\n<p>For me, that&#8217;s a compromise I&#8217;d be willing to accept for the time being, in order to run it for some tasks on a Windows 10 VM.<\/p>\n\n\n\n<p>You can always choose to run Parsec through <a href=\"https:\/\/flathub.org\/apps\/com.parsecgaming.parsec\" target=\"_blank\" rel=\"noreferrer noopener\">Flatpak<\/a>[1] or <a href=\"https:\/\/appimage.github.io\/parsec-linux-appimage\/\" target=\"_blank\" rel=\"noreferrer noopener\">AppImage<\/a>[2].  I should look into containerizing Parsec and running it through Docker, which is becoming my favorite choice for running various pieces of software, as it avoids all the clutter and potential dependency issues, exactly like the one we&#8217;re dealing with here.<\/p>\n\n\n\n<p>Of course, the easy solution would be to just install libjpeg8 .deb package directly and skip all the symlink stuff, like this:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">root@x220:~# <strong>wget https:\/\/archive.debian.org\/debian\/pool\/main\/libj\/libjpeg8\/libjpeg8_8b-1_amd64.deb<\/strong>\n--2024-02-29 14:40:45-- https:\/\/archive.debian.org\/debian\/pool\/main\/libj\/libjpeg8\/libjpeg8_8b-1_amd64.deb\nResolving archive.debian.org (archive.debian.org)\u2026 151.101.194.132, 151.101.130.132, 151.101.2.132, \u2026\nConnecting to archive.debian.org (archive.debian.org)|151.101.194.132|:443\u2026 connected.\nHTTP request sent, awaiting response\u2026 200 OK\nLength: 133524 (130K) [application\/vnd.debian.binary-package]\nSaving to: \u2018libjpeg8_8b-1_amd64.deb\u2019\n\nlibjpeg8_8b-1_amd64.deb 100%[================================================================>] 130.39K --.-KB\/s in 0.1s\n\n2024-02-29 14:40:45 (925 KB\/s) - \u2018libjpeg8_8b-1_amd64.deb\u2019 saved [133524\/133524]\n\nroot@x220:~# <strong>dpkg -i libjpeg8_8b-1_amd64.deb<\/strong>\n(Reading database \u2026 347871 files and directories currently installed.)\nPreparing to unpack libjpeg8_8b-1_amd64.deb \u2026\nUnpacking libjpeg8 (8b-1) over (8b-1) \u2026\nSetting up libjpeg8 (8b-1) \u2026\nroot@x220:~#<\/pre>\n\n\n\n<p>If the second fix does not show any side effects, it will be the most elegant and less hacky solution, plus it removes the APT warnings every time we have to run APT.<\/p>\n\n\n\n<p>[1]: https:\/\/flathub.org\/apps\/com.parsecgaming.parsec<br>[2]: https:\/\/appimage.github.io\/parsec-linux-appimage\/<\/p>\n\n\n\n<p>Sources:<br>https:\/\/unix.stackexchange.com\/questions\/687633\/why-is-libjpeg-so-8-missing-from-debian<br><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>While trying to install Parsec application in Debian 12, I came across the following error: root@x220:~# dpkg -i \/home\/panos\/Downloads\/parsec-linux.deb (Reading database \u2026 347864 files and directories currently installed.) Preparing to unpack \u2026\/Downloads\/parsec-linux.deb \u2026 Unpacking parsec (150-91a) over (150-91a) \u2026 dpkg: dependency problems prevent configuration of parsec: parsec depends on libjpeg8; however: Package libjpeg8 is not &#8230; <a title=\"Debian 12 &#8211; Fix libjpeg8 missing dependency error for Parsec\" class=\"read-more\" href=\"https:\/\/thinkdebian.net\/blog\/debian-12-fix-libjpeg8-missing-dependency-error-for-parsec\/\" aria-label=\"More on Debian 12 &#8211; Fix libjpeg8 missing dependency error for Parsec\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[2,4],"tags":[],"_links":{"self":[{"href":"https:\/\/thinkdebian.net\/blog\/wp-json\/wp\/v2\/posts\/309"}],"collection":[{"href":"https:\/\/thinkdebian.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thinkdebian.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thinkdebian.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thinkdebian.net\/blog\/wp-json\/wp\/v2\/comments?post=309"}],"version-history":[{"count":3,"href":"https:\/\/thinkdebian.net\/blog\/wp-json\/wp\/v2\/posts\/309\/revisions"}],"predecessor-version":[{"id":314,"href":"https:\/\/thinkdebian.net\/blog\/wp-json\/wp\/v2\/posts\/309\/revisions\/314"}],"wp:attachment":[{"href":"https:\/\/thinkdebian.net\/blog\/wp-json\/wp\/v2\/media?parent=309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thinkdebian.net\/blog\/wp-json\/wp\/v2\/categories?post=309"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thinkdebian.net\/blog\/wp-json\/wp\/v2\/tags?post=309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}