Opened 9 years ago

Closed 8 years ago

#45822 closed defect (duplicate)

Issues when installing VLC-devel in a clean MacPorts install

Reported by: onaforeignshore@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: RJVB (René Bertin), mojca (Mojca Miklavec)
Port: VLC-devel

Description

When I try to install VLC-devel +qtkit+quartz in a clean MacPorts environment, it fails on the following files:

  • py27-cairo
  • py27-pygtk

The only way I can get this to work is to uninstall them and the install them in this way:

  • +quartz not allowed:
    • port install py27-cairo +qtkit
  • gtk2 must be installed with x11:
    • port install libglade2 +x11
    • port install py27-pygtk

Change History (12)

comment:1 Changed 8 years ago by mojca (Mojca Miklavec)

Cc: rjvbertin@… mojca@… added
Version: 2.3.2

René, can you please comment on that? Let's assume that the question is about VLC rather than VLC-devel (as VLC-devel is outdated by now).

I find it a bit weird because +qtkit+quartz are already default options for both VLC and VLC-devel, but maybe specifying those option explicitly leads to problems with dependencies that cannot afford to switch to +quartz.

comment:2 Changed 8 years ago by RJVB (René Bertin)

You're right that this is very weird. I'd hope that the build bots create each binary package by starting with a clean MacPorts base install, so if this were an issue with port:VLC it should have appeared on the build bots too. Theoretically.

Variants are transmitted to dependencies that support them, and can lead to conflicts "down the road", especially if you come upon GTk2 dependencies. I have no idea what the current status of the native/quartz GTk2 implementation is, but I wouldn't be at all surprised if not all GTk2-related ports support the quartz version, possibly because they (also) have X11 dependencies.

There isn't much we can do about that because ports cannot depend on a specific set of variants of some other port. We can check if no incompatible variants are active, but not impose a specific variant on a missing dependency.

The only possible solution I see here is to rename the quartz variant (cocoa or native would be reasonable alternatives).

NB: I have port:VLC installed +dbus+full+huge+jack+qtkit+quartz+shout+smb+svg+x11 and port:libVLC +dbus+qtkit+quartz+x11 (active). So it is definitely possible to install VLC with support for both "native" and X11 (I have no idea though how to start it under X11 =)).

comment:3 Changed 8 years ago by onaforeignshore@…

Cleared out the Macports installation and started reinstallation with VLC +dbus+full+jack+qtkit+quartz+shout+smb+svg. Seems that you have to include +x11 otherwise it bugs out.

--->  Cleaning perl5
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
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
Error: The following dependencies were not installed: avahi libglade2 gtk2 py27-gdbm py27-pygtk py27-cairo py27-gobject py27-numpy fftw-3 libgcc cctools llvm-3.7 libcxx llvm_select gmp isl ld64 ld64-latest libmpc mpfr py27-cython cython_select py27-nose nosetests_select faad2 ffmpeg fribidi gmake gnutls curl-ca-bundle libtasn1 nettle p11-kit desktop-file-utils popt lame libass libbluray libmodplug libogg libopus libsdl xorg-libXrandr xorg-randrproto libtheora libvorbis libvpx openjpeg15 jbigkit lcms2 schroedinger orc soxr speex texinfo x264 yasm flac fluidsynth jack db60 libsamplerate libsndfile portaudio libarchive lzo2 libcddb libcdio libdc1394 libusb libdca libdvbpsi libdvdnav libdvdread libdvdcss libebml libgcrypt libgpg-error libid3tag libmad libmatroska libmpcdec libmpeg2 xorg-libXv xorg-videoproto libmtp libproxy vala librsvg libcroco libsdl_image libshout2 libssh2 libupnp live555 lua52 opencv ilmbase openexr webp samba3 taglib twolame vcdimager x265 xorg-libXinerama xorg-xineramaproto xorg-libXxf86vm xorg-xf86vidmodeproto xorg-xcb-util-keysyms

comment:4 Changed 8 years ago by onaforeignshore@…

Next failure at:

--->  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
Please see the log file for port py27-pygtk for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-pygtk/py27-pygtk/main.log
Error: The following dependencies were not installed: avahi py27-pygtk faad2 ffmpeg fribidi gmake gnutls curl-ca-bundle libtasn1 nettle p11-kit desktop-file-utils popt lame libass libbluray libmodplug libogg libopus libsdl libtheora libvorbis libvpx openjpeg15 jbigkit lcms2 schroedinger orc soxr speex texinfo x264 yasm flac fluidsynth jack db60 libsamplerate libsndfile portaudio libarchive lzo2 libcddb libcdio libdc1394 libusb libdca libdvbpsi libdvdnav libdvdread libdvdcss libebml libgcrypt libgpg-error libid3tag libmad libmatroska libmpcdec libmpeg2 xorg-libXv xorg-videoproto libmtp libproxy vala librsvg libcroco libsdl_image libshout2 libssh2 libupnp live555 lua52 opencv ilmbase openexr webp samba3 taglib twolame vcdimager x265 xorg-libXxf86vm xorg-xf86vidmodeproto xorg-xcb-util-keysyms

comment:5 Changed 8 years ago by onaforeignshore@…

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

comment:6 Changed 8 years ago by RJVB (René Bertin)

As Mojca pointed out, the current VLC-devel port is outdated, and build failures like this are the sort of thing that can happen when a port hasn't been maintained for a certain time.

I have pointed Mojca to an updated VLC-devel port but I'm not aware that it has already been committed into the official port repository.

At this point I see 2 things you could do:

1) If you're mostly interested in getting the VLC version provided by port:VLC-devel you could edit the port file (sudo port edit VLC-devel) and rename the quartz variant to something like native. Be sure to rename all occurrences! Also, check beforehand if the name you chose doesn't exist as a variant in any of VLC's dependencies (or just pick something that's highly unlikely to exist as a variant name in any port). This will test the hypothesis that you are running into variant conflicts due to propagation of the quartz variant. NOTE however that there's absolutely no guarantee that the outdated port will build even when all its dependencies have been installed successfully. EDIT: it's not impossible that the +qtkit variant also leads to conflicts through propagation, though that shouldn't be because of port:py27-cairo because that port doesn't have any variants as far as I can see.

2) if you're interested to help figure out why this is happening to you, you could clean MacPorts again (or at least remove everything that was pulled in for building VLC-devel) and then install port:VLC with the variants that interest you.

Should you run into a similar issue building port:VLC you should report it (probably in a new ticket referring this one), but in that case I'd also urge you to try the potential solution described under 1).

comment:7 Changed 8 years ago by onaforeignshore@…

Thanks for the suggestion, but if you look at the install command, you will see that I tried to install VLC not VLC-devel as you assumed in the first reply

Last edited 8 years ago by onaforeignshore@… (previous) (diff)

comment:8 Changed 8 years ago by RJVB (René Bertin)

Damn, indeed.

In that case, you may want to follow suggestion 1) applied to the VLC port. But I'd also urge you to upload a complete log of an install-from-scratch, which you can generate easiest with something like

sudo port -vd install VLC [+variants] >& install-VLC.log

(alternatively you'd have to concatenate or upload all individual logs).

Please use the simplest combination of variants that you know leads to the issue.

Something is really fishy here because at least in your initial report you were doing something that *a priori* the build bots do too (+qtkit and +quartz are default variants and thus active in the binary VLC builds). I do not have access to the build bots, but others do, and a full build log will probably contain useful information ... if you know what to look for.

comment:9 Changed 8 years ago by onaforeignshore@…

Created new ticket for VLC - see [Ticket #50838]

comment:10 Changed 8 years ago by mojca (Mojca Miklavec)

I'm sorry for not yet committing the other changes you posted.

But independent of that we are now talking about VLC and most likely about proliferation of +quartz to ports that don't properly support it (and work if they have been installed previously with the default +x11, but not when you install a dependent port with that option).

comment:11 Changed 8 years ago by onaforeignshore@…

Can we close this ticket and use #50838 so that all comments are in the same place?

comment:12 Changed 8 years ago by mojca (Mojca Miklavec)

Resolution: duplicate
Status: newclosed

Sure. (But we could just as well rename this ticket. I don't understand the point in having two separate tickets when there is only one issue anyway.)

I closed it as "duplicate", lacking any better-suited option.

Note: See TracTickets for help on using tickets.