Summary: | cannot install media-video/dvdrip-0.98.9 due to "file collision" with own dependencies | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Helmut Robben <helmut> |
Component: | Current packages | Assignee: | Gentoo Media-video project <media-video> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | 98613243, amackenz-gentoo, bbutscheidt, fcoiffie, george, helmut |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Helmut Robben
2009-01-17 13:54:26 UTC
6 weeks later... maybe this project is no longer maintained and I didn't recognize it? Sad, but if so, I will have to look for another dvd ripping tool. Anyway, thanks a lot to everybody having a look at this bug and spending a thought to it. Just tried to emerge media-video/dvdrip-0.98.10 and the problem still exists. Portage treats file collisions different since 2.1.6.4 (http://dev.gentoo.org/~antarus/news/20090129-portage-updates-2.1.6.4.xml): They are not allowed anymore. But you can enable the old behaviour: Just add "-collision-protect -protect-owned" to FEATURES in /etc/make.conf . Then emerge dvdrip and afterwards remove both features again. CAUTION: This is a very dirty hack but it works for me. It is caused by problems with perl modules. Configure script detects that you don't have formfactory and tries to install it again. After some change in use flags in libperl I had the same problem. I had to manually re-emerge several perl modules and it solved the problem. emerge -av1 glib-perl gtk2-perl gtk2-ex-formfactory dev-perl/Cairo dvdrip After trying again with the settings Richie advised, dvdrip was installed with a warning. But now it doesn't work. Lots of perl compiler-error messages. I personally won't bother anymore about dvdrip. It was a great tool, but as it obviously isn't supported anymore, I will use something else like k9copy, even if this tool is not as good as dvdrip was for me. As of 9th December 2009, the bug still is there. Will this ever be fixed? I can't even reproduce this bug. (In reply to comment #7) > I can't even reproduce this bug. Me neither, with 0.98.10-r2 *** Bug 296322 has been marked as a duplicate of this bug. *** I'm pretty sure the solution to this bug is, pkg_setup() { export SKIP_UNPACK_REQUIRED_MODULES=1 perl-module_src_unpack } (In reply to comment #10) > I'm pretty sure the solution to this bug is, > > pkg_setup() { > export SKIP_UNPACK_REQUIRED_MODULES=1 > perl-module_src_unpack > } > Sorry, make that perl-module_pkg_setup dvdrip cannot find execflow, despite it is already installed: #eix execflow [I] dev-perl/Event-ExecFlow Available versions: 0.63 Installed versions: 0.63(14:41:35 12/09/09) for testing, I first remove it: #emerge --unmerge dev-perl/Event-ExecFlow ... >>> Unmerging dev-perl/Event-ExecFlow-0.63... and it's gone. Now, I try to emerge dvdrip, which will result in reemerging ExecFlow: #emerge -uD media-video/dvdrip ... >>> Emerging (1 of 2) dev-perl/Event-ExecFlow-0.63 ... >>> Completed installing Event-ExecFlow-0.63 into /var/tmp/portage/dev-perl/Event-ExecFlow-0.63/image/ >>> Installing (1 of 2) dev-perl/Event-ExecFlow-0.63 ... >>> Emerging (2 of 2) media-video/dvdrip-0.98.8 * dvdrip-0.98.8.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking dvdrip-0.98.8.tar.gz to /var/tmp/portage/media-video/dvdrip-0.98.8/work >>> Source unpacked in /var/tmp/portage/media-video/dvdrip-0.98.8/work >>> Compiling source in /var/tmp/portage/media-video/dvdrip-0.98.8/work/dvdrip-0.98.8 ... * Using ExtUtils::MakeMaker despite ExecFLow just has been installed by dependency, dvdrip complains that ExecFlow is not installed: Note: ----- The following modules are required for dvd::rip but not found on your system. They're shipped with dvd::rip for your convenience and will be installed automatically when you run 'make install': Event::ExecFlow and tries to reinstall ExecFlow on it's own, which then leads to the conflict mentioned: >>> Installing (2 of 2) media-video/dvdrip-0.98.8 * This package will overwrite one or more files that may belong to other * packages (see list below). ... * Detected file collision(s): * * /usr/bin/execflow * /usr/lib/perl5/vendor_perl/5.8.8/Event/ExecFlow.pm ... How can I find out why dvdrip does not find the already installed ExecFlow, which actually _is_ there: #find /usr/lib/perl5/| grep ExecFlow /usr/lib/perl5/vendor_perl/5.8.8/Gtk2/Ex/FormFactory/ExecFlow.pm /usr/lib/perl5/vendor_perl/5.8.8/Event/ExecFlow.pm ... btw, I just did a "emerge -uD world" yesterday, so my system should be pretty up to date. Here we go: I modified "Makefile.PL" a bit, to see why dvdrip *thinks* it cannot find Execflow, and it turns out that there is a prerequisite missing: # more Makefile.PL ... #-- now check if this module is already installed qx[ perl -M$module -e1 ]; my $out = qx[ perl -M$module -e1 2>&1 >/dev/null && echo PERL_MODULE_OK 2>&1 ]; next if $out =~ /PERL_MODULE_OK/; print "missing module: $module\n"; ... # perl Makefile.PL Can't locate Locale/TextDomain.pm in @INC (@INC contains: /etc/perl /usr/lib/perl5/vendor_perl/5.8.8/i686-linux /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl/5.8.8/i686-linux /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/5.8.8/i686-linux /usr/lib/perl5/5.8.8 /usr/local/lib/site_perl .) at /usr/lib/perl5/vendor_perl/5.8.8/Event/ExecFlow/Job.pm line 6. BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.8.8/Event/ExecFlow/Job.pm line 6. Compilation failed in require at (eval 1) line 3. ...propagated at /usr/lib/perl5/5.8.8/base.pm line 85. BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.8.8/Event/ExecFlow/Job/Command.pm line 3. Compilation failed in require at /usr/lib/perl5/vendor_perl/5.8.8/Event/ExecFlow.pm line 15. BEGIN failed--compilation aborted. missing module: Event::ExecFlow so, Locale/TextDomain.pm is missing, not Exvent::ExecFlow. again, this is strange, because I do have the latest "dev-perl/libintl-perl" installed, which provides TextDomain.pm (as I can see on a different machine). one thing is clear, that is definitely a bug in dvdrip, because it gets the wrong package, instead of getting the package the actual package is depending on (TextDomain, not ExecFlow). in order to fix the "TextDomain" problem, I just unmerged and then re-emerged libintl-perl - and voila, despite being the same version, the newly emerged package suddenly installs TextDomain.pm (and dvdrip can now be installed smoothly). does anyone have an idea _why_ this happened to that perl-library? cheers, 98613243 So, instead of repeating yourself why don't you test the "export SKIP_UNPACK_REQUIRED_MODULES=1" solution so we can get this closed? (In reply to comment #14) > So, instead of repeating yourself why don't you test the "export > SKIP_UNPACK_REQUIRED_MODULES=1" solution so we can get this closed? > guy, did you notice that I actually have found the _reason_ for the error and already fixed it without sending a prayer ("export JADDA_JADDA=whatever") to the system, in the hope it will "automagically" get it right? in my not so humble opinion: why do you prefer working around a bug by instead of tracking it down? (In reply to comment #15) (oops, in the last sentence, remove the "by") Trying to emerge dvdrip-0.98.11 I get ======================================= * Detected file collision(s): * * /usr/bin/execflow * * Searching all installed packages for file collisions... * * Press Ctrl-C to Stop * * dev-perl/Event-ExecFlow-0.64 * /usr/bin/execflow * * Package 'media-video/dvdrip-0.98.11' NOT merged due to file * collisions. If necessary, refer to your elog messages for the whole * content of the above message. ======================================== When I add export SKIP_UNPACK_REQUIRED_MODULES=1 to the section src_prepare It compiles without complaining but I get these errors starting the app: ========================================= Can't locate Locale/TextDomain.pm in @INC (@INC contains: lib /usr/lib64/perl5/site_perl/5.10.1/x86_64-linux /usr/lib64/perl5/site_perl/5.10.1 /usr/lib64/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.10.1/x86_64-linux /usr/lib64/perl5/vendor_perl/5.10.1 /usr/lib64/perl5/vendor_perl /usr/lib64/perl5/5.10.1/x86_64-linux /usr/lib64/perl5/5.10.1 .) at /usr/bin/dvdrip-splash line 8. BEGIN failed--compilation aborted at /usr/bin/dvdrip-splash line 8. Can't locate Locale/TextDomain.pm in @INC (@INC contains: lib /usr/lib64/perl5/site_perl/5.10.1/x86_64-linux /usr/lib64/perl5/site_perl/5.10.1 /usr/lib64/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.10.1/x86_64-linux /usr/lib64/perl5/vendor_perl/5.10.1 /usr/lib64/perl5/vendor_perl /usr/lib64/perl5/5.10.1/x86_64-linux /usr/lib64/perl5/5.10.1 .) at /usr/bin/dvdrip line 36. BEGIN failed--compilation aborted at /usr/bin/dvdrip line 36. ===================================================================== Downgrading doesn't help, the file collision with /usr/bin/execflow remains. So I unmerged Event-Exec-Flow and libintl-perl. Reemerging dvdrip-0.98.11 built these two as dependency again and dvdrip itself without (!) file collision. By starting dvdrip I still get errors: ====================================== Can't locate Gtk2.pm in @INC (@INC contains: lib /usr/lib64/perl5/site_perl/5.10.1/x86_64-linux /usr/lib64/perl5/site_perl/5.10.1 /usr/lib64/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.10.1/x86_64-linux /usr/lib64/perl5/vendor_perl/5.10.1 /usr/lib64/perl5/vendor_perl /usr/lib64/perl5/5.10.1/x86_64-linux /usr/lib64/perl5/5.10.1 .) at /usr/bin/dvdrip-splash line 10. BEGIN failed--compilation aborted at /usr/bin/dvdrip-splash line 10. [filterlist] (re)scanning transcode's module path /usr/lib64/transcode... Can't locate Gtk2.pm in @INC (@INC contains: lib /usr/lib64/perl5/site_perl/5.10.1/x86_64-linux /usr/lib64/perl5/site_perl/5.10.1 /usr/lib64/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.10.1/x86_64-linux /usr/lib64/perl5/vendor_perl/5.10.1 /usr/lib64/perl5/vendor_perl /usr/lib64/perl5/5.10.1/x86_64-linux /usr/lib64/perl5/5.10.1 .) at /usr/lib64/perl5/vendor_perl/5.10.1/Video/DVDRip/GUI/Main.pm line 18. BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.10.1/Video/DVDRip/GUI/Main.pm line 18. Compilation failed in require at /usr/bin/dvdrip line 97. ========================================================= Thought of trying to rebuild dev-perl/gtk2-perl but this ends with the error: ========== * ERROR: dev-perl/gtk2-perl-1.203 failed: * Unable to build! (are you using USE="build"?) * * Call stack: * ebuild.sh, line 54: Called src_compile * environment, line 2745: Called perl-module_src_compile * environment, line 2370: Called perl-module_src_prep * environment, line 2440: Called die * The specific snippet of code: * perl Makefile.PL "$@" <<< "${pm_echovar}" || die "Unable to build! (are you using USE=\"build\"?)"; * * If you need support, post the output of 'emerge --info =dev-perl/gtk2-perl-1.203', * the complete build log and the output of 'emerge -pqv =dev-perl/gtk2-perl-1.203'. * The complete build log is located at '/extern02/var/tmp/portage/dev-perl/gtk2-perl-1.203/temp/build.log'. * The ebuild environment file is located at '/extern02/var/tmp/portage/dev-perl/gtk2-perl-1.203/temp/environment'. * S: '/extern02/var/tmp/portage/dev-perl/gtk2-perl-1.203/work/Gtk2-1.203' ======================== Now I'm stuck and for this time, I give up. End of report. (In reply to comment #17) The problem is that you upgraded perl from version 5.8.8 to version 5.10.1 but all the modules are only installed for perl 5.8.8, so dvdrip thinks it needs to install them by itself. use 'perl-cleaner --all' to update your perl environment (In reply to comment #17) > When I add > > export SKIP_UNPACK_REQUIRED_MODULES=1 > > to the section src_prepare It compiles without complaining but I get these finally someone with the problem tested the solution, thank you! + 16 May 2010; Samuli Suominen <ssuominen@gentoo.org> dvdrip-0.98.11.ebuild: + Export SKIP_UNPACK_REQUIRED_MODULES to environment wrt #255269, thanks to + Helmut Robben, Bernd Butscheidt and others. + Thanks to Samuli! dvdrip-0.98.11 is installed without issue and does a perfect job. Regards, Helmut |