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

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


bob prohaska fbsd at www.zefox.net 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:
http://ampere2.nyi.freebsd.org/build.html?mastername=main-arm64-default&build=p338d8ba0f777_s5a89498d19
Apr 13:
http://ampere2.nyi.freebsd.org/build.html?mastername=main-arm64-default&build=p46fc7df8540c_s1f64f32a4c
Apr 17:
http://ampere2.nyi.freebsd.org/build.html?mastername=main-arm64-default&build=p9d5f4ef1a469_s86046cf55f

Built with python38:
May 11:
http://ampere2.nyi.freebsd.org/build.html?mastername=main-arm64-default&build=p0c0a4f4b9148_scb07628d9e
May 15:
http://ampere2.nyi.freebsd.org/build.html?mastername=main-arm64-default&build=p6ffbcd54bf8c_s91f251b2ab
May 18:
http://ampere2.nyi.freebsd.org/build.html?mastername=main-arm64-default&build=p7bfc2c072607_s8d2b4b2e7c
May 6:
http://ampere2.nyi.freebsd.org/build.html?mastername=main-arm64-default&build=pcd62f0886c18_sd1cb8d11b0

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 yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-ports mailing list