Opened 9 years ago
Last modified 9 years ago
#50838 new defect
Problem installing VLC - clean macports
Reported by: | onaforeignshore@… | Owned by: | RJVB (René Bertin) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | mojca (Mojca Miklavec) | |
Port: | VLC gtk2 py-pygtk |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
I am trying to install VLC, but I am running into errors... See ticket #45822 (summary below).
VLC +dbus+full+jack+qtkit+quartz+shout+smb+svg
Error: Requested variants "+quartz" do not match those the build was started with: "+x11". Error: Please use the same variants again, or run 'port clean gtk2' first to remove the existing partially completed build. Error: Failed to install gtk2
After installing gtk2 +x11 and restarting VLC install:
---> Fetching archive for py27-pygtk Error: org.macports.archivefetch for port py27-pygtk returned: gtk2 must be installed with +quartz. Error: Failed to install py27-pygtk
At this point I cleared the MacPorts out again and restarted with: port install VLC +dbus+full+jack+qtkit+quartz+shout+smb+svg+x11
---> Computing dependencies for VLCError: librsvg: Variant x11 conflicts with quartz Error: Unable to execute port: Error evaluating variants
I will be willing to help fix the issue if required
Attachments (2)
Change History (11)
comment:1 Changed 9 years ago by RJVB (René Bertin)
comment:2 Changed 9 years ago by mojca (Mojca Miklavec)
Cc: | mojca@… added |
---|---|
Owner: | changed from macports-tickets@… to rjvbertin@… |
Port: | VLC gtk2 py-pygtk added |
Version: | 2.3.4 |
comment:3 Changed 9 years ago by mojca (Mojca Miklavec)
Keywords: | VLC removed |
---|
comment:4 Changed 9 years ago by onaforeignshore@…
I did a sudo port clean all and then a sudo port -f uninstall installed. Next I did sudo port install bash and now I am running sudo port -vd install VLC +qtkit+quartz >& install-VLC.log. Will post the log if it fails, otherwise I will clean it again and start adding variants until it fails
comment:6 follow-up: 8 Changed 9 years ago by RJVB (René Bertin)
Error: org.macports.destroot for port gtk2 returned: DEBUG: Error code: NONE DEBUG: Backtrace: while executing "system -nice 0 $fullcmdstring" ("eval" body line 1) invoked from within "eval system $notty $nice \$fullcmdstring" invoked from within "command_exec destroot" (procedure "portdestroot::destroot_main" line 2) invoked from within "portdestroot::destroot_main org.macports.destroot" ("eval" body line 1) invoked from within "eval $procedure $targetname" Warning: targets not executed for gtk2: org.macports.activate org.macports.destroot org.macports.install Error: Failed to install gtk2 DEBUG: could not read "/opt/local/share/man/man3p/warnings::register.3pm": no such file or directory while executing "::file type $file" Please see the log file for port gtk2 for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnome_gtk2/gtk2/main.log
That looks like an error in port:gtk2, possibly because the +quartz variant doesn't install certain files which are expected to be present in the destroot but more probably because a post-destroot block omits a ${destroot}
variable somewhere.
Another thing: I should have asked you to post the output of
sudo port -vy install VLC
first. Not that it shows variant propagation reliably, but it would have given a more succinct overview of the order in which dependencies get pulled in.
Changed 9 years ago by onaforeignshore@…
Attachment: | install-VLC.log added |
---|
VLC +qtkit+quartz log file
comment:7 Changed 9 years ago by onaforeignshore@…
I replaced the log file with the
sudo port -vy install VLC +qtkit+quartz
version for you
comment:8 follow-up: 9 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|
Replying to rjvbertin@…:
Error: org.macports.destroot for port gtk2 returned: DEBUG: Error code: NONE DEBUG: Backtrace: while executing "system -nice 0 $fullcmdstring" ("eval" body line 1) invoked from within "eval system $notty $nice \$fullcmdstring" invoked from within "command_exec destroot" (procedure "portdestroot::destroot_main" line 2) invoked from within "portdestroot::destroot_main org.macports.destroot" ("eval" body line 1) invoked from within "eval $procedure $targetname" Warning: targets not executed for gtk2: org.macports.activate org.macports.destroot org.macports.install Error: Failed to install gtk2 DEBUG: could not read "/opt/local/share/man/man3p/warnings::register.3pm": no such file or directory while executing "::file type $file" Please see the log file for port gtk2 for details: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnome_gtk2/gtk2/main.logThat looks like an error in port:gtk2, possibly because the +quartz variant doesn't install certain files which are expected to be present in the destroot but more probably because a post-destroot block omits a
${destroot}
variable somewhere.
It seems extremely unlikely to me that a missing ${destroot}
would have gone unnoticed so long. I'm not sure what led you to this conclusion. Certainly not the portion of the main.log file quoted above, which contains no relevant information; the real error is earlier.
Changed 9 years ago by onaforeignshore@…
Attachment: | install-VLC-vd.log added |
---|
VLC +qtkit+quartz log file (full)
comment:9 Changed 9 years ago by RJVB (René Bertin)
Replying to ryandesign@…:
Error: org.macports.destroot for port gtk2 returned:
...
Error: Failed to install gtk2 DEBUG: could not read "/opt/local/share/man/man3p/warnings::register.3pm": no such file or directory
I don't think that read attempt should try to access ${prefix} but ${destroot}${prefix} instead. You're right though that it's probably not occurring in a post-destroot block.
However, this sort of regression will typically go undetected when upgrading an existing build.
the real error is earlier.
I scanned from the end and didn't scan too far beyond the cited portion. If not this than what's the real error?
From the other ticket:
It's probably more subtle than that. I'm pretty certain those dependencies do support +quartz or +x11 properly, but many will not support both at the same time. I have never tried to install all my GTk(2) ports in +quartz mode but I would presume (hope) that they all either support +quartz (instead of +x11) or else raise an explicit error if that's not the case. There may also be a VLC dependency A that also depend on one of VLC's other dependencies (B), but require +x11 even if VLC itself doesn't use anything x11-related in A. Avahi would be an example of that (see below).
Your first error probably holds part of the clue to what is going wrong here:
Supposing you indeed started from scratch, this means that an attempt was made to install GTk2 before, apparently as a result of installing something that does not have a +quartz variant (I *think* that variants stop propagating when a port is requested that doesn't have the variants in question). For some reason this GTk2 install failed, otherwise you would not get a message about a build that "was started with".
AFAICS, GTk2 and py27-pygtk are pulled in as dependencies of libglade2 which is needed because of VLC dependency avahi . Avahi has x11 as a default port, though that gets unset if +quartz is requested. So that doesn't explain who might have tried to install GTk2 +x11.