Bug 1716466 - ibus-cangjie fails to build with Python 3.8
Summary: ibus-cangjie fails to build with Python 3.8
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: ibus-cangjie
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Mathieu Bridon
QA Contact: Fedora Extras Quality Assurance
URL: https://copr.fedorainfracloud.org/cop...
Whiteboard:
Depends On:
Blocks: PYTHON38
TreeView+ depends on / blocked
 
Reported: 2019-06-03 14:35 UTC by Miro Hrončok
Modified: 2019-06-04 22:59 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2019-06-04 20:27:14 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Miro Hrončok 2019-06-03 14:35:38 UTC
See https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/ibus-cangjie/ for actual logs. This report is automated and not very verbose, but feel free to ping me for help.

Comment 1 Mathieu Bridon 2019-06-04 20:00:03 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?

Comment 2 Miro Hrončok 2019-06-04 20:05:05 UTC
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?

Comment 3 Miro Hrončok 2019-06-04 20:07:38 UTC
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.

Comment 4 Mathieu Bridon 2019-06-04 20:14:45 UTC
> 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/

Comment 5 Mathieu Bridon 2019-06-04 20:15:21 UTC
> 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

Comment 6 Miro Hrončok 2019-06-04 20:27:14 UTC
That was it, sorry for the noise.

Comment 7 Mathieu Bridon 2019-06-04 20:28:15 UTC
What was the issue then?

Comment 8 Miro Hrončok 2019-06-04 22:59:40 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.