Opened 8 years ago

Closed 8 years ago

Last modified 7 years ago

#53259 closed defect (duplicate)

Error: xorg-libxcb: Variant python27 conflicts with python35

Reported by: ClausKlein Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: base Version: 2.3.5
Keywords: Cc:
Port: xorg-libxcb

Description

Error: Unable to open port: Error evaluating variants

# variant python27 conflicts python34 python35 description {Use python 2.7} {
      # depends_run-append      port:python27
      # configure.python        ${prefix}/bin/python2.7
  # }
...
# if {![variant_isset python34] && ![variant_isset python35]} {
      # default_variants +python27
  # }

I have to comment out this 2 sections after each 'port selfupdate' !

This helps for me, if have python27 and python35 installed and use both!

Change History (11)

comment:1 Changed 8 years ago by mf2k (Frank Schima)

Owner: set to jeremyhu
Status: newassigned

In the future, please Cc the port maintainers (port info --maintainers xorg-libxcb), if any.

comment:2 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: invalid
Status: assignedclosed

This isn't a libxcb issue. Tons of other ports do the exact same thing. I'm pretty sure what you're doing is not supported. Where were you advised to do that? Just use +python35 and not +python27.

comment:3 Changed 8 years ago by ClausKlein

this was not a general solution, this was my needed quick fix to update the my outdated other ports on my mac!

comment:4 Changed 8 years ago by ClausKlein

Resolution: invalid
Status: closedreopened

the problem exists!

comment:5 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

The problem is that you are trying to install with conflicting variants. You cannot choose both +python27 and +python35. Edit your variants.conf.

Also, upgrading should preserve existing variants, so once you select the variants, you shouldn't need to do anything again in the future.

I suggest you ask for help on the macports-users mailing list.

comment:6 Changed 8 years ago by ClausKlein

Thanks,

it ist not a problem with my variants.conf, there is only +python35 selected.

But last year, I changed the selection …

Claus-MBP:notes clausklein$ port variants xorg-libxcb
xorg-libxcb has the variants:
   docs: Install extra documentation
[+]python27: Use python 2.7
     * conflicts with python34 python35
   python34: Use python 3.4
     * conflicts with python27 python35
(+)python35: Use python 3.5
     * conflicts with python27 python34
(+)universal: Build for multiple architectures
Claus-MBP:notes clausklein$ 

Claus-MBP:notes clausklein$ sudo port install xorg-libxcb +python35
--->  Computing dependencies for xorg-libxcb
--->  Fetching archive for xorg-libxcb
--->  Attempting to fetch xorg-libxcb-1.12_2+python35+universal.darwin_15.i386-x86_64.tbz2 from https://packages.macports.org/xorg-libxcb
--->  Attempting to fetch xorg-libxcb-1.12_2+python35+universal.darwin_15.i386-x86_64.tbz2 from http://nue.de.packages.macports.org/xorg-libxcb
--->  Attempting to fetch xorg-libxcb-1.12_2+python35+universal.darwin_15.i386-x86_64.tbz2 from http://lil.fr.packages.macports.org/xorg-libxcb
--->  Fetching distfiles for xorg-libxcb
--->  Attempting to fetch libxcb-1.12.tar.bz2 from https://distfiles.macports.org/xorg-libxcb
--->  Verifying checksums for xorg-libxcb
--->  Extracting xorg-libxcb
--->  Applying patches to xorg-libxcb
--->  Configuring xorg-libxcb
--->  Building xorg-libxcb

…

I hope this helps
With regards,
Claus

Last edited 7 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:7 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

I wonder if this is because you previously got the +python27 variant because we hadn't yet added a python35 variant. Then when you went to upgrade, you chose to honor variants and got both somehow? Seems like a variants issue in base more than a port issue.

You can try just using sudo port -v -s install xorg-libxcb +python35 -python27 for now.

comment:8 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Component: portsbase

comment:9 Changed 8 years ago by jmroot (Joshua Root)

The variants action does seem to be displaying incorrect information because it doesn't apply the global_variations when it opens the port. But they are applied correctly in action_target, so there shouldn't be a problem when actually installing.

comment:10 in reply to:  7 Changed 8 years ago by jmroot (Joshua Root)

Replying to jeremyhu:

I wonder if this is because you previously got the +python27 variant because we hadn't yet added a python35 variant. Then when you went to upgrade, you chose to honor variants and got both somehow?

I think the most likely scenario is that the port was installed with +python27 and then +python35 was added to variants.conf. The former is preserved on upgrade (as intended) and the latter is also applied (because it's applied to all ports, also as intended), resulting in a conflict.

If +python27 was explicitly requested the first time, there's no way to know which of the conflicting variants the user really wants. If it was implicitly added by default_variants, then there is not so much a bug as a missing feature: #46956.

comment:11 Changed 8 years ago by jmroot (Joshua Root)

Resolution: duplicate
Status: reopenedclosed

The variants display problem is fixed in 9e63a61, and insofar as the rest of this is an issue, it's a duplicate.

Note: See TracTickets for help on using tickets.