Bug 1716466
| Summary: | ibus-cangjie fails to build with Python 3.8 | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> |
| Component: | ibus-cangjie | Assignee: | Mathieu Bridon <mathieu> |
| Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | mathieu |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| URL: | https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/ibus-cangjie/ | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2019-06-04 20:27:14 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1686977 | ||
|
Description
Miro Hrončok
2019-06-03 14:35:38 UTC
Thanks for the bug report.
The logs say:
```
checking for python3 script directory... ${prefix}/lib/python3.8/site-packages
checking for python3 extension module directory... ${exec_prefix}/lib64/python3.8/site-packages
checking the cangjie Python module... no
```
This looks like python3-cangjie hasn't been rebuilt with Python 3.8 before ibus-cangjie.
Could that be the case?
python3-cangjie in rawhide requires python(abi) = 3.7, so if it was not rebuilt, it would fail to resolve. Either python3-cangjie is not buildrequired or the "checking the cangjie Python module..." code is wrong. Could you please explain how is the check performed? python3-cangjie x86_641.2-18.fc31 from copr_base was installed. https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/python3-cangjie/ it was built. I have one idea, let me check it first. There was a change after 3.8.0a4 and we have two 1.2-18.fc31 in the copr, one from a3 and one from a4. Let me delete the older one and recheck. > python3-cangjie in rawhide requires python(abi) = 3.7, so if it was not rebuilt, it would fail to resolve. Indeed. :-/ > Either python3-cangjie is not buildrequired It is: https://src.fedoraproject.org/rpms/ibus-cangjie/blob/master/f/ibus-cangjie.spec#_22 > or the "checking the cangjie Python module..." code is wrong. Could you please explain how is the check performed? Sure, here's the upstream configure.ac: https://github.com/Cangjians/ibus-cangjie/blob/master/configure.ac#L28-L35 As you can see it tries to find Python >= 3.2.3, then uses that to try and `import cangjie`. That import seems to have failed, leading the configure script to report it couldn't find the cangjie module. I can see 2 causes: * the cangjie module wasn't in Python's sys.path; * the cangjie module doesn't actually work with Python 3.8 and fails at import time; The latter would be surprising, because then the tests would have failed when building python3-cangjie itself: https://src.fedoraproject.org/rpms/python3-cangjie/blob/master/f/python3-cangjie.spec#_41 What repos did this failing ibus-cangjie build use to fetch its deps from? Is it the Copr itself? If so, then I guess this would be the build of python3-cangjie used to build ibus-cangjie? https://copr.fedorainfracloud.org/coprs/g/python/python3.8/build/913995/ > python3-cangjie x86_641.2-18.fc31 from copr_base was installed.
>
> https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/python3-cangjie/ it was built.
Ah, you replied to my questions before I submitted it. :D
That was it, sorry for the noise. What was the issue then? Copr was picking up a build of python3-cangjie against 3.8.0a3. Changes were made in 3.8.0a4 that required rebuilding it. I did, but I didn't raise the release. I've deleted the older build and it worked. |