Re: kdev-python: Use CMake FindPython3

Casian Andrei <[email protected]> Mon, 8 Jan 2024 14:50:02 +0200
Newsgroups gmane.comp.kde.devel.kdevelop
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------dqVE17b441ffxm0KgjQhTo3n
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

La 04.01.2024 16:37, Francis Herne a scris:

> On 2024-01-03 14:31, Casian Andrei wrote:
>> Use FindPython3 instead of FindPythonInterp and FindPythonLibs
>>
>> Fixes CMake warning regarding CMP0148 - deprecation of
>> FindPythonInterp and FindPythonLibs.
>>
>> Initially tested using a python3.12, but kdevelop crashes and there
>> are kdev-python errors in the logs, so kept max version to 3.11.
>>
>> Tested with a local compiled python3.9. When the python3.9 was
>> compiled without --enable-shared, CMake didn't work, as expected. When
>> compiled with --enable-shared, CMake worked fine. Built ok, but for
>> some reason tried to link kdevpythonlanguagesupport.so to a
>> nonexistent python3.11 library.
>>
>> Installed a python3.11 which worked fine with kdevelop-python.
>>
>> I assume that issue linking to a nonexistent python3.11 was not
>> because of a problem with these changes.
>>
>> ---
>>
>> Because I haven't contributed to KDE for many years now, it would take
>> a lot of time to get the accounts and setups and learn how things are
>> done now.
>>
>> I hope you are able to review and commit if ok.
>>
>> Attaching the patch.
>
> Thanks for the patch.
>
> Nitpick: please use 3.11 as upper bound (assuming that works) rather 
> than 3.11.7 in case there's another patch release. These are very 
> unlikely to break kdev-python.
> The dependency on 3.4.3 was due to a particularly stupid series of 
> events that hopefully won't repeat.
>
> I'm concerned that the "issue linking to a nonexistent python3.11" 
> might be due to you having a Python 3.11 interpreter installed, but 
> not with corresponding libs? This will explicitly fail with the old 
> checks, where the comment is: "# Find libraries that match the found 
> interpreter (mismatched versions not supported)."
>
> If CMake's new FindPython3 is smart enough it would return the highest 
> version matching both required components, but I've learned to have 
> very little faith in CMake modules doing the right thing in 
> non-obvious situations.
>
> Yours,
> -Francis Herne

I have managed to solve all issues - much faster using this new fancy AI 
technology.

Regarding the version range, I noticed that putting 3.11 translates into 
3.11.0 for CMake, so it refuses 3.11.5, for example. The correct setting 
is 3.4.3...<3.12. Found that this version range needs at least CMake 
3.19 (find_package documentation, search for "[version] argument").

The issue with that linking to python3.11 was because before the distro 
upgrade, it installed kdev-python in /usr/local, but now the prefix is 
in /usr . So, when looking at libkdevpythonlanguagesupport.so, the 
linker found the older libkdevpythonparser.so from /usr/local which 
needed the old Python libs. I didn't realize those libraries were still 
there, in a location different from the plugins.

I guess it should be fine now.

Attaching updated patch.


Thank you!

Regards,

Casian


--------------dqVE17b441ffxm0KgjQhTo3n
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-Use-FindPython3-instead-of-FindPythonInterp-and-Find.patch"
Content-Disposition: attachment;
 filename*0="0001-Use-FindPython3-instead-of-FindPythonInterp-and-Find.pa";
 filename*1="tch"
Content-Transfer-Encoding: base64

RnJvbSBjMTgzYjUxYTE1ZmE3OGE4MjAwZTNlN2U3MGI3ZjNjZTU3MDA3NTQwIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDYXNpYW4gQW5kcmVpIDxjYXNpYW5AY2FuZHJlaS5y
bz4KRGF0ZTogV2VkLCAzIEphbiAyMDI0IDE1OjU2OjEzICswMjAwClN1YmplY3Q6IFtQQVRD
SF0gVXNlIEZpbmRQeXRob24zIGluc3RlYWQgb2YgRmluZFB5dGhvbkludGVycCBhbmQKIEZp
bmRQeXRob25MaWJzCgpGaXhlcyBDTWFrZSB3YXJuaW5nIHJlZ2FyZGluZyBDTVAwMTQ4IC0g
ZGVwcmVjYXRpb24gb2YgRmluZFB5dGhvbkludGVycAphbmQgRmluZFB5dGhvbkxpYnMuCgpS
ZXF1aXJlIENNYWtlIDMuMTkgYmVjYXVzZSBvZiB0aGUgdXNhZ2Ugb2YgdGhlIHZlcnNpb24g
cmFuZ2UuCi0tLQogQ01ha2VMaXN0cy50eHQgICAgICAgICAgICB8IDI3ICsrKystLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQoga2RldnB5dGhvbnZlcnNpb24uaC5jbWFrZSB8IDE0ICsrKysr
KystLS0tLS0tCiBwYXJzZXIvQ01ha2VMaXN0cy50eHQgICAgIHwgIDQgKystLQogMyBmaWxl
cyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CmluZGV4IDFjMWI2NTllLi4z
ZDExZDUzMiAxMDA2NDQKLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrIGIvQ01ha2VMaXN0cy50
eHQKQEAgLTEsNCArMSw0IEBACi1jbWFrZV9taW5pbXVtX3JlcXVpcmVkKFZFUlNJT04gMy4x
NikKK2NtYWtlX21pbmltdW1fcmVxdWlyZWQoVkVSU0lPTiAzLjE5KQogCiAjIEtERSBHZWFy
IHZlcnNpb24sIG1hbmFnZWQgYnkgcmVsZWFzZSBzZXJ2aWNlIHNjcmlwdAogc2V0KFJFTEVB
U0VfU0VSVklDRV9WRVJTSU9OX01BSk9SICIyNCIpCkBAIC00MSwyOCArNDEsOSBAQCBlbmRp
ZigpCiAKIGFkZF9kZWZpbml0aW9ucyggLURUUkFOU0xBVElPTl9ET01BSU49XCJrZGV2cHl0
aG9uXCIgKQogCi0jIENNYWtlIGxvb2tzIGZvciBleGFjdGx5IHRoZSBzcGVjaWZpZWQgdmVy
c2lvbiBmaXJzdCBhbmQgaWdub3JlcyBuZXdlciB2ZXJzaW9ucy4KLSMgVG8gYXZvaWQgdGhh
dCwgc3RhcnQgbG9va2luZyBmb3IgdGhlIG5ld2VzdCBzdXBwb3J0ZWQgdmVyc2lvbiBhbmQg
d29yayBkb3duLgotc2V0KFB5dGhvbl9BRERJVElPTkFMX1ZFUlNJT05TIDMuMTEgMy4xMCAz
LjkgMy44IDMuNyAzLjYgMy41IDMuNCkKLWZvcmVhY2goX1BZVEhPTl9WICR7UHl0aG9uX0FE
RElUSU9OQUxfVkVSU0lPTlN9KQotICAgIGZpbmRfcGFja2FnZShQeXRob25JbnRlcnAgJHtf
UFlUSE9OX1Z9KQotICAgIGlmICggUFlUSE9OSU5URVJQX0ZPVU5EICkKLSAgICAgICAgYnJl
YWsoKQotICAgIGVuZGlmKCkKLWVuZGZvcmVhY2goKQotIyBNdXN0IHVuc2V0IGJlZm9yZSBz
ZWFyY2hpbmcgZm9yIGxpYnMsIG90aGVyd2lzZSB0aGVzZSBhcmUgY2hlY2tlZCBiZWZvcmUg
dGhlIHJlcXVpcmVkIHZlcnNpb24uLi4KLXVuc2V0KFB5dGhvbl9BRERJVElPTkFMX1ZFUlNJ
T05TKQotCi1pZiAoIFBZVEhPTklOVEVSUF9GT1VORCBBTkQgUFlUSE9OX1ZFUlNJT05fU1RS
SU5HIFZFUlNJT05fR1JFQVRFUiAiMy40IiApCi0gICAgIyBGaW5kIGxpYnJhcmllcyB0aGF0
IG1hdGNoIHRoZSBmb3VuZCBpbnRlcnByZXRlciAobWlzbWF0Y2hlZCB2ZXJzaW9ucyBub3Qg
c3VwcG9ydGVkKS4KLSAgICAjIFRoaXMgYXNzdW1lcyBsaWJzIGFyZSBhdmFpbGFibGUgZm9y
IHRoZSBuZXdlc3QgUHl0aG9uIHZlcnNpb24gb24gdGhlIHN5c3RlbS4KLSAgICAjIEtEZXZl
bG9wIHNob3VsZCBfYWx3YXlzXyBiZSBidWlsdCBhZ2FpbnN0IHRoZSBuZXdlc3QgcG9zc2li
bGUgdmVyc2lvbiwgc28gbm90YWJ1Zy4KLSAgICBmaW5kX3BhY2thZ2UoUHl0aG9uTGlicyAi
JHtQWVRIT05fVkVSU0lPTl9NQUpPUn0uJHtQWVRIT05fVkVSU0lPTl9NSU5PUn0iIFJFUVVJ
UkVEIEVYQUNUKQotZW5kaWYoKQotCi1pZiAoIE5PVCBQWVRIT05MSUJTX0ZPVU5EIE9SIFBZ
VEhPTkxJQlNfVkVSU0lPTl9TVFJJTkcgVkVSU0lPTl9MRVNTICIzLjQuMyIgKQotICAgIG1l
c3NhZ2UoRkFUQUxfRVJST1IgIlB5dGhvbiA+PSAzLjQuMyBidXQgPCAzLjEyIHdpdGggLS1l
bmFibGUtc2hhcmVkIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIGtkZXYtcHl0aG9uIikKLWVuZGlm
KCkKK3NldChQeXRob24zX1VTRV9TVEFUSUNfTElCUyBGQUxTRSkKK3NldChQeXRob24zX0ZJ
TkRfU1RSQVRFR1kgVkVSU0lPTikKK2ZpbmRfcGFja2FnZShQeXRob24zIDMuNC4zLi4uPDMu
MTIgQ09NUE9ORU5UUyBJbnRlcnByZXRlciBEZXZlbG9wbWVudCBSRVFVSVJFRCkKIAogY29u
ZmlndXJlX2ZpbGUoa2RldnB5dGhvbnZlcnNpb24uaC5jbWFrZSAiJHtDTUFLRV9DVVJSRU5U
X0JJTkFSWV9ESVJ9L2tkZXZweXRob252ZXJzaW9uLmgiIEBPTkxZKQogCmRpZmYgLS1naXQg
YS9rZGV2cHl0aG9udmVyc2lvbi5oLmNtYWtlIGIva2RldnB5dGhvbnZlcnNpb24uaC5jbWFr
ZQppbmRleCA5MzE4MTQwMS4uMTYxZDQwOTAgMTAwNjQ0Ci0tLSBhL2tkZXZweXRob252ZXJz
aW9uLmguY21ha2UKKysrIGIva2RldnB5dGhvbnZlcnNpb24uaC5jbWFrZQpAQCAtNywxNSAr
NywxNSBAQAogI2lmbmRlZiBLREVWUFlUSE9OX1ZFUlNJT05fSAogI2RlZmluZSBLREVWUFlU
SE9OX1ZFUlNJT05fSAogCi0jZGVmaW5lIFBZVEhPTl9WRVJTSU9OX01JTk9SIEBQWVRIT05f
VkVSU0lPTl9NSU5PUkAKLSNkZWZpbmUgUFlUSE9OX1ZFUlNJT05fTUlOT1JfU1RSICJAUFlU
SE9OX1ZFUlNJT05fTUlOT1JAIgorI2RlZmluZSBQWVRIT05fVkVSU0lPTl9NSU5PUiBAUHl0
aG9uM19WRVJTSU9OX01JTk9SQAorI2RlZmluZSBQWVRIT05fVkVSU0lPTl9NSU5PUl9TVFIg
IkBQeXRob24zX1ZFUlNJT05fTUlOT1JAIgogCi0jZGVmaW5lIFBZVEhPTl9WRVJTSU9OX01B
Sk9SIEBQWVRIT05fVkVSU0lPTl9NQUpPUkAKLSNkZWZpbmUgUFlUSE9OX1ZFUlNJT05fTUFK
T1JfU1RSICJAUFlUSE9OX1ZFUlNJT05fTUFKT1JAIgorI2RlZmluZSBQWVRIT05fVkVSU0lP
Tl9NQUpPUiBAUHl0aG9uM19WRVJTSU9OX01BSk9SQAorI2RlZmluZSBQWVRIT05fVkVSU0lP
Tl9NQUpPUl9TVFIgIkBQeXRob24zX1ZFUlNJT05fTUFKT1JAIgogCi0jZGVmaW5lIFBZVEhP
Tl9WRVJTSU9OIFFUX1ZFUlNJT05fQ0hFQ0soQFBZVEhPTl9WRVJTSU9OX01BSk9SQCwgQFBZ
VEhPTl9WRVJTSU9OX01JTk9SQCwgQFBZVEhPTl9WRVJTSU9OX1BBVENIQCkKLSNkZWZpbmUg
UFlUSE9OX1ZFUlNJT05fU1RSICJAUFlUSE9OX1ZFUlNJT05fTUFKT1JALkBQWVRIT05fVkVS
U0lPTl9NSU5PUkAiCisjZGVmaW5lIFBZVEhPTl9WRVJTSU9OIFFUX1ZFUlNJT05fQ0hFQ0so
QFB5dGhvbjNfVkVSU0lPTl9NQUpPUkAsIEBQeXRob24zX1ZFUlNJT05fTUlOT1JALCBAUHl0
aG9uM19WRVJTSU9OX1BBVENIQCkKKyNkZWZpbmUgUFlUSE9OX1ZFUlNJT05fU1RSICJAUHl0
aG9uM19WRVJTSU9OX01BSk9SQC5AUHl0aG9uM19WRVJTSU9OX01JTk9SQCIKIAotI2RlZmlu
ZSBQWVRIT05fRVhFQ1VUQUJMRSAiQFBZVEhPTl9FWEVDVVRBQkxFQCIKKyNkZWZpbmUgUFlU
SE9OX0VYRUNVVEFCTEUgIkBQeXRob24zX0VYRUNVVEFCTEVAIgogCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL3BhcnNlci9DTWFrZUxpc3RzLnR4dCBiL3BhcnNlci9DTWFrZUxpc3RzLnR4dApp
bmRleCA3NTkwMTA3OC4uY2FmNThkNGYgMTAwNjQ0Ci0tLSBhL3BhcnNlci9DTWFrZUxpc3Rz
LnR4dAorKysgYi9wYXJzZXIvQ01ha2VMaXN0cy50eHQKQEAgLTE2LDcgKzE2LDcgQEAgZWNt
X3F0X2RlY2xhcmVfbG9nZ2luZ19jYXRlZ29yeShwYXJzZXJfU1RBVF9TUkNTCiAgICAgRVhQ
T1JUIEtERVZQWVRIT04KICkKIAotaW5jbHVkZV9kaXJlY3Rvcmllcygke1BZVEhPTl9JTkNM
VURFX0RJUlN9KQoraW5jbHVkZV9kaXJlY3Rvcmllcygke1B5dGhvbjNfSU5DTFVERV9ESVJT
fSkKIAogYWRkX2xpYnJhcnkoIGtkZXZweXRob25wYXJzZXIgU0hBUkVEICR7cGFyc2VyX1NU
QVRfU1JDU30gKQogCkBAIC0yNiw3ICsyNiw3IEBAIGdlbmVyYXRlX2V4cG9ydF9oZWFkZXIo
a2RldnB5dGhvbnBhcnNlciBFWFBPUlRfTUFDUk9fTkFNRSBLREVWUFlUSE9OUEFSU0VSX0VY
UE9SCiB0YXJnZXRfbGlua19saWJyYXJpZXMoa2RldnB5dGhvbnBhcnNlciBMSU5LX1BSSVZB
VEUKICAgICBLRGV2OjpMYW5ndWFnZQogICAgIFF0NTo6Q29yZQotICAgICR7UFlUSE9OX0xJ
QlJBUklFU30KKyAgICAke1B5dGhvbjNfTElCUkFSSUVTfQogKQogCiBpbnN0YWxsKFRBUkdF
VFMga2RldnB5dGhvbnBhcnNlciBERVNUSU5BVElPTiAke0tERV9JTlNUQUxMX1RBUkdFVFNf
REVGQVVMVF9BUkdTfSkKLS0gCjIuNDMuMAoK

--------------dqVE17b441ffxm0KgjQhTo3n--