Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
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:
Doc Type: If docs needed, set a value
Doc Text:
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.