Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 759187 - dev-python/PyICU-2.5: Fails to compile against dev-libs/icu-68.1, please bump to dev-python/PyICU-2.6
Summary: dev-python/PyICU-2.5: Fails to compile against dev-libs/icu-68.1, please bump...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Marek Szuba
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: icu-68.1
  Show dependency tree
 
Reported: 2020-12-09 09:27 UTC by Bernd Feige
Modified: 2020-12-21 13:16 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bernd Feige 2020-12-09 09:27:29 UTC
When building against current dev-libs/icu-68.1, the build says "Building PyICU 2.5 for ICU 68.1 (max ICU major version supported: 67)"; still it continues the build which then fails (see below). Current version PyICU-2.6 supports icu-68 and works, renaming the ebuild is sufficient.

Error from build.log:
measureunit.cpp:466:5: error: ‘NoUnit’ does not name a type
  466 |     NoUnit *object;
      |     ^~~~~~
In file included from measureunit.cpp:29:
macros.h:199:32: error: expected primary-expression before ‘*’ token
  199 | PyObject *wrap_##name(icuClass *object, int flags)                        \
      |                                ^
measureunit.cpp:480:1: note: in expansion of macro ‘DECLARE_TYPE’
  480 | DECLARE_TYPE(NoUnit, t_nounit, MeasureUnit, NoUnit,
      | ^~~~~~~~~~~~
macros.h:199:33: error: ‘object’ was not declared in this scope; did you mean ‘_object’?
  199 | PyObject *wrap_##name(icuClass *object, int flags)                        \
      |                                 ^~~~~~
measureunit.cpp:480:1: note: in expansion of macro ‘DECLARE_TYPE’
  480 | DECLARE_TYPE(NoUnit, t_nounit, MeasureUnit, NoUnit,
      | ^~~~~~~~~~~~
macros.h:199:41: error: expected primary-expression before ‘int’
  199 | PyObject *wrap_##name(icuClass *object, int flags)                        \
      |                                         ^~~
measureunit.cpp:480:1: note: in expansion of macro ‘DECLARE_TYPE’
  480 | DECLARE_TYPE(NoUnit, t_nounit, MeasureUnit, NoUnit,
      | ^~~~~~~~~~~~
macros.h:199:50: error: expression list treated as compound expression in initializer [-fpermissive]
  199 | PyObject *wrap_##name(icuClass *object, int flags)                        \
      |                                                  ^
measureunit.cpp:480:1: note: in expansion of macro ‘DECLARE_TYPE’
  480 | DECLARE_TYPE(NoUnit, t_nounit, MeasureUnit, NoUnit,
      | ^~~~~~~~~~~~
measureunit.cpp: In function ‘PyObject* t_nounit_base(PyTypeObject*)’:
measureunit.cpp:956:30: error: expected primary-expression before ‘*’ token
  956 |   return wrap_NoUnit((NoUnit *) NoUnit::base().clone(), T_OWNED);
      |                              ^
measureunit.cpp:956:31: error: expected primary-expression before ‘)’ token
  956 |   return wrap_NoUnit((NoUnit *) NoUnit::base().clone(), T_OWNED);
      |                               ^
measureunit.cpp:956:64: error: ‘wrap_NoUnit’ cannot be used as a function
  956 |   return wrap_NoUnit((NoUnit *) NoUnit::base().clone(), T_OWNED);
      |                                                                ^
measureunit.cpp: In function ‘PyObject* t_nounit_percent(PyTypeObject*)’:
measureunit.cpp:961:32: error: expected primary-expression before ‘*’ token
  961 |     return wrap_NoUnit((NoUnit *) NoUnit::percent().clone(), T_OWNED);
      |                                ^
measureunit.cpp:961:33: error: expected primary-expression before ‘)’ token
  961 |     return wrap_NoUnit((NoUnit *) NoUnit::percent().clone(), T_OWNED);
      |                                 ^
measureunit.cpp:961:69: error: ‘wrap_NoUnit’ cannot be used as a function
  961 |     return wrap_NoUnit((NoUnit *) NoUnit::percent().clone(), T_OWNED);
      |                                                                     ^
measureunit.cpp: In function ‘PyObject* t_nounit_permille(PyTypeObject*)’:
measureunit.cpp:966:32: error: expected primary-expression before ‘*’ token
  966 |     return wrap_NoUnit((NoUnit *) NoUnit::permille().clone(), T_OWNED);
      |                                ^
measureunit.cpp:966:33: error: expected primary-expression before ‘)’ token
  966 |     return wrap_NoUnit((NoUnit *) NoUnit::permille().clone(), T_OWNED);
      |                                 ^
measureunit.cpp:966:70: error: ‘wrap_NoUnit’ cannot be used as a function
  966 |     return wrap_NoUnit((NoUnit *) NoUnit::permille().clone(), T_OWNED);
      |                                                                      ^
In file included from measureunit.cpp:29:
measureunit.cpp: In function ‘void _init_measureunit(PyObject*)’:
macros.h:366:57: error: expected primary-expression before ‘)’ token
  366 |         registerType(&className##Type_, typeid(className).name());      \
      |                                                         ^
measureunit.cpp:1193:5: note: in expansion of macro ‘REGISTER_TYPE’
 1193 |     REGISTER_TYPE(NoUnit, m);
      |     ^~~~~~~~~~~~~
error: command 'x86_64-pc-linux-gnu-g++' failed with exit status 1


Reproducible: Always
Comment 1 Larry the Git Cow gentoo-dev 2020-12-09 09:55:42 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b1558644f9d43ac1d50ce2c2243ec74171103d0b

commit b1558644f9d43ac1d50ce2c2243ec74171103d0b
Author:     Marek Szuba <marecki@gentoo.org>
AuthorDate: 2020-12-09 09:55:02 +0000
Commit:     Marek Szuba <marecki@gentoo.org>
CommitDate: 2020-12-09 09:55:34 +0000

    dev-python/PyICU: bump to 2.6
    
    Tested against ICU 67.1 and 68.1, builds and tests fine in both cases.
    
    Closes: https://bugs.gentoo.org/759187
    Signed-off-by: Marek Szuba <marecki@gentoo.org>

 dev-python/PyICU/Manifest         |  1 +
 dev-python/PyICU/PyICU-2.6.ebuild | 23 +++++++++++++++++++++++
 2 files changed, 24 insertions(+)