Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to install magnum-plugins.deb on Linux Mint 20.2 #105

Closed
thehans opened this issue Sep 6, 2021 · 3 comments
Closed

Unable to install magnum-plugins.deb on Linux Mint 20.2 #105

thehans opened this issue Sep 6, 2021 · 3 comments

Comments

@thehans
Copy link
Contributor

thehans commented Sep 6, 2021

Linux Mint 20.2 (based on Ubuntu 20.04, Focal)

I tried following instructions here to install magnum-plugins:
https://doc.magnum.graphics/magnum/building-plugins.html#building-plugins-packages-deb

When running dpkg-buildpackage the build attempts a secure upload at the end which fails.

...
dpkg-deb: building package 'magnum-plugins-dev' in '../magnum-plugins-dev_2020.06_amd64.deb'.  
dpkg-deb: building package 'magnum-plugins' in '../magnum-plugins_2020.06_amd64.deb'.          
dpkg-deb: building package 'magnum-plugins-dbgsym' in 'debian/.debhelper/scratch-space/build-magnum-plugins/magnum-plugins-dbgsym_2020.06_amd64.deb'.
        Renaming magnum-plugins-dbgsym_2020.06_amd64.deb to magnum-plugins-dbgsym_2020.06_amd64.ddeb                                                                                           
 dpkg-genbuildinfo                                                                             
 dpkg-genchanges  >../magnum-plugins_2020.06_amd64.changes                                     
dpkg-genchanges: info: including full source code in upload                                    
 dpkg-source --after-build .                                                                   
dpkg-buildpackage: info: full upload; Debian-native package (full source is included)          
 signfile magnum-plugins_2020.06.dsc                                                           
gpg: keyblock resource '/home/hans/.gnupg/pubring.kbx': Permission denied                      
gpg: skipped "Vladimír Vondruš <mosra@centrum.cz>": No secret key
gpg: dpkg-sign.ampZCdiJ/magnum-plugins_2020.06.dsc: clear-sign failed: No secret key                                                                                                           
                                                                                               
dpkg-buildpackage: error: failed to sign .dsc file 

I assume this is inconsequential since it still appears to have successfully built the .deb file, but I might as well mention it because the following step also fails:

$ sudo dpkg -i ../magnum-plugins*.deb                                                                                                  
(Reading database ... 524126 files and directories currently installed.)                                                                                                                       
Preparing to unpack .../magnum-plugins_2020.06_amd64.deb ...                                                                                                                                   
Unpacking magnum-plugins (2020.06) over (2020.06) ...                                          
Preparing to unpack .../magnum-plugins-dev_2020.06_amd64.deb ...                                                                                                                               
Unpacking magnum-plugins-dev (2020.06) over (2020.06) ...                                      
dpkg: dependency problems prevent configuration of magnum-plugins:                                                                                                                             
 magnum-plugins depends on libopenexr22; however:                                              
  Package libopenexr22 is not installed.                                                       
                                                                                               
dpkg: error processing package magnum-plugins (--install):                        
 dependency problems - leaving unconfigured                                                                                                                                                    
dpkg: dependency problems prevent configuration of magnum-plugins-dev:                         
 magnum-plugins-dev depends on magnum-plugins (= 2020.06); however:                            
  Package magnum-plugins is not configured yet.                                                
                                                                                               
dpkg: error processing package magnum-plugins-dev (--install):                                 
 dependency problems - leaving unconfigured                                                    
Processing triggers for libc-bin (2.31-0ubuntu9.3) ...                                         
Errors were encountered while processing:                                                      
 magnum-plugins                                                                                
 magnum-plugins-dev                                                                            

I also attempted to disable related features as explained here, editing packages/debian/rules with

-DWITH_MINIEXRIMAGECONVERTER=OFF
-DWITH_OPENEXRIMAGECONVERTER=OFF
-DWITH_OPENEXRIMPORTER=OFF

But the resulting .deb file still requires libopenexr22
The problem is that the version available on this distro is actually libopenexr24

@mosra
Copy link
Owner

mosra commented Sep 12, 2021

Hi,

I assume this is inconsequential since it still appears to have successfully built the .deb file

Yeah, sorry about that. Do you know if it's possible to suppress this error? it has no effect on the *.debs generated but confuses a lot of users.

The problem is that the version available on this distro is actually libopenexr24

That should be easy to fix, actually. Can you try this patch? it just adds |libopenexr24 to the dependency line in the control file:

diff --git a/package/debian/control b/package/debian/control
index fb92ebbd..461a50da 100644
--- a/package/debian/control
+++ b/package/debian/control
@@ -17,5 +17,5 @@ Description: Plugins for the Magnum C++11/C++14 graphics engine
 Package: magnum-plugins
 Section: libs
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, magnum, libdevil1c2, libjpeg8|libjpeg62-turbo, libpng16-16, libfaad2, libfreetype6, libassimp3v5|libassimp4|libassimp5, libopenexr22
+Depends: ${shlibs:Depends}, ${misc:Depends}, magnum, libdevil1c2, libjpeg8|libjpeg62-turbo, libpng16-16, libfaad2, libfreetype6, libassimp3v5|libassimp4|libassimp5, libopenexr22|libopenexr24
 Description: Plugins for the Magnum C++11/C++14 graphics engine

If you confirm this makes it work, I'll update the package. Sorry about this, EXR support was added recently and I only checked older Ubuntu releases for the package name.

@mosra mosra added this to the 2021.0a milestone Sep 12, 2021
@mosra mosra added this to TODO in Project management via automation Sep 12, 2021
@thehans
Copy link
Contributor Author

thehans commented Sep 12, 2021

Do you know if it's possible to suppress this error? it has no effect on the *.debs generated but confuses a lot of users.

I'm not familiar with dpkg-buildpackage at all, but after searching the manual a bit, I see there is a --no-sign option.

So if I run dpkg-buildpackage --no-sign it looks like everything is ok:

...
dpkg-deb: building package 'magnum-plugins-dev' in '../magnum-plugins-dev_2020.06_amd64.deb'.
dpkg-deb: building package 'magnum-plugins' in '../magnum-plugins_2020.06_amd64.deb'.
dpkg-deb: building package 'magnum-plugins-dbgsym' in 'debian/.debhelper/scratch-space/build-magnum-plugins/magnum-plugins-dbgsym_2020.06_amd64.deb'.
        Renaming magnum-plugins-dbgsym_2020.06_amd64.deb to magnum-plugins-dbgsym_2020.06_amd64.ddeb
 dpkg-genbuildinfo
 dpkg-genchanges  >../magnum-plugins_2020.06_amd64.changes
dpkg-genchanges: info: including full source code in upload
 dpkg-source --after-build .
dpkg-buildpackage: info: full upload; Debian-native package (full source is included)

Can you try this patch? it just adds |libopenexr24 to the dependency line in the control file:

Yes, the patch fixes the .deb install, thank you.

@mosra
Copy link
Owner

mosra commented Sep 12, 2021

Awesome, --no-sign, will update the docs to suggest that. This annoyed people for years 😅

Patch pushed as 37c1214, thanks a lot for reporting this!

@mosra mosra closed this as completed Sep 12, 2021
Project management automation moved this from TODO to Done Sep 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

2 participants