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--