Python 37/38 conflict, was Re: Trubles compiling lxqt on RPi4

Mark Millard marklmi at
Wed May 19 17:30:00 UTC 2021

bob prohaska fbsd at wrote on
Wed May 19 16:09:32 UTC 2021 :

> On Tue, May 18, 2021 at 09:24:00AM +0200, Stefan Esser wrote:
> > 
> [portmaster background omitted] 
> > If you want to give the attached port a try, it will install LUA and some
> I tried ports-mgmt/portmaster, it got stuck the same as make.
> Unless the new version behaves very differently I'm doubtful it'll
> help.
> At the moment it looks like lxqt requires both python37 and python38.
> The needs seem to arise at different stages of the build, so perhaps
> they can be invoked, used and removed sequentially, but at this point
> deleting python37 causes enough collateral damage to make further
> progress impossible, or at least non-obvious. 
> If the conflict is really limited to merely naming two versions of 
> /usr/local/bin/easy_install fixing the naming convention seems to be 
> the obvious answer. I remain baffled why something called "easy_install" 
> remains essential after installatiion.  Unless of course it's not really 
> an installer. Even so, a more sensible naming scheme strikes me as helpful.
> It isn't apparent to me that something like poudriere can solve this sort
> of problem either. If poudriere attempts to build lxqt in a single jail
> it looks like the conflict will emerge within the jail.

The FreeBSD port building servers use poudriere and are not having
a problem. The problem is your messed up environment that already
has the inappropriate mixed that poudriere and the package installers
it makes would never produce.

The following show lxqt (10 ports have that in their names) as
attempted to be built (not skipped) and all were successful
instead of any failing:

Built with python37:
Apr 20:
Apr 13:
Apr 17:

Built with python38:
May 11:
May 15:
May 18:
May 6:

These imply that all the prerequisite ports for the build
were also built and working for doing so.

> It'd have to
> split the build between two or more jails and then merge the (compatible)
> executables into a third jail for completion, AIUI. 

No such problems in a correctly configured system.
You are stuck trying to get out of a incorrect
system configuration.

poudriere ignores your system configuration and uses
its own separate one to do its builds.

> At this point I'm stuck. 

So you had a poudriere failure? If so, report the details,
such as publishing someplace the log file showing the
failure. Otherwise, you are not stuck.

Once poudriere has built the packages, you would set up
pkg to use those builds and then force-(re)install all
your ports to use the ones poudriere built. (Not just
lxqt.) This would get all your ports back to being
coherent with each other.

Presuming a file listing the packages that you want
to be sure are installed (not needing to list
dependencies) and that that pkg has arleady been
redirected to use the poudriere-built packages:

# pkg delete -a
# pkg install `cat file-listing-packages`

Technically, I do not know if your environment is so
messed up that pkg delete -a would fail.

I'll note that if pkg instead still points to the
FreeBSD servers (such as quarterly), the same 2
command sequence should re-establish those builds.

Mark Millard
marklmi at
( went
away in early 2018-Mar)

More information about the freebsd-ports mailing list