Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 581680 - www-client/firefox-46.0[system-icu] should depend on >=dev-libs/icu-55.1
Summary: www-client/firefox-46.0[system-icu] should depend on >=dev-libs/icu-55.1
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-04-30 21:46 UTC by Maciej S. Szmigiero
Modified: 2017-08-26 17:56 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 Maciej S. Szmigiero 2016-04-30 21:46:15 UTC
Emerging www-client/firefox-46.0[system-icu] fails when dev-libs/icu version installed is (for example) icu-52.1:
In file included from /var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/ff/js/src/Unified_cpp_js_src1.cpp:38:0:
/var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/js/src/builtin/Intl.cpp: In function 'js::ImmutablePropertyNamePtr JSAtomState::* GetFieldTypeForFormatField(UDateFormatField)':
/var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/js/src/builtin/Intl.cpp:2142:12: error: 'UDAT_RELATED_YEAR_FIELD' was not declared in this scope
       case UDAT_RELATED_YEAR_FIELD:
            ^
/var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/js/src/builtin/Intl.cpp:2145:12: error: 'UDAT_TIME_SEPARATOR_FIELD' was not declared in this scope
       case UDAT_TIME_SEPARATOR_FIELD:
            ^
/var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/js/src/builtin/Intl.cpp: In function 'bool intl_FormatToPartsDateTime(JSContext*, void**, double, JS::MutableHandleValue)':
/var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/js/src/builtin/Intl.cpp:2173:5: error: 'UFieldPositionIterator' was not declared in this scope
     UFieldPositionIterator* fpositer = ufieldpositer_open(&status);
     ^
/var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/js/src/builtin/Intl.cpp:2173:29: error: 'fpositer' was not declared in this scope
     UFieldPositionIterator* fpositer = ufieldpositer_open(&status);
                             ^
/var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/js/src/builtin/Intl.cpp:2173:66: error: 'ufieldpositer_open' was not declared in this scope
     UFieldPositionIterator* fpositer = ufieldpositer_open(&status);
                                                                  ^
/var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/js/src/builtin/Intl.cpp: In lambda function:
/var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/js/src/builtin/Intl.cpp:2178:80: error: 'ufieldpositer_close' was not declared in this scope
     auto closeFieldPosIter = MakeScopeExit([&]() { ufieldpositer_close(fpositer); });
                                                                                ^
/var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/js/src/builtin/Intl.cpp: In function 'bool intl_FormatToPartsDateTime(JSContext*, void**, double, JS::MutableHandleValue)':
/var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/js/src/builtin/Intl.cpp:2182:47: error: 'udat_formatForFields' was not declared in this scope
                              fpositer, &status);
                                               ^
/var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/js/src/builtin/Intl.cpp:2242:81: error: 'ufieldpositer_next' was not declared in this scope
     while ((fieldInt = ufieldpositer_next(fpositer, &beginIndexInt, &endIndexInt)) >= 0) {
                                                                                 ^
/var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/config/rules.mk:967: recipe for target 'Unified_cpp_js_src1.o' failed
make[4]: *** [Unified_cpp_js_src1.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Entering directory '/var/tmp/portage/www-client/firefox-46.0/work/firefox-46.0/ff/config/external/lgpllibs'

It looks like UDAT_TIME_SEPARATOR_FIELD was only introduced in icu-55.1 ( http://bugs.icu-project.org/trac/changeset/36897 ),
but the ebuild (or rather eclass) dependency is specified as '>=dev-libs/icu-51.1' so any already installed icu version that is >= 51.1 and <55.1 will satisfy the package dependency but fail to build it.
Comment 1 Andreas Sturmlechner gentoo-dev 2016-04-30 22:37:48 UTC
dev-libs/icu-55.1 is the oldest version in tree anyway.
Comment 2 Maciej S. Szmigiero 2016-05-01 11:39:26 UTC
(In reply to Andreas Sturmlechner from comment #1)
> dev-libs/icu-55.1 is the oldest version in tree anyway.

That wasn't always the case, right?
Comment 3 Alex Xu (Hello71) 2016-05-02 20:02:27 UTC
(In reply to Maciej S. Szmigiero from comment #2)
> (In reply to Andreas Sturmlechner from comment #1)
> > dev-libs/icu-55.1 is the oldest version in tree anyway.
> 
> That wasn't always the case, right?

yes, but it has been for 6 months already, and firefox-46 was released... some time in the past week.
Comment 4 Maciej S. Szmigiero 2016-05-02 20:21:27 UTC
Well(In reply to Alex Xu (Hello71) from comment #3)
> (In reply to Maciej S. Szmigiero from comment #2)
> > (In reply to Andreas Sturmlechner from comment #1)
> > > dev-libs/icu-55.1 is the oldest version in tree anyway.
> > 
> > That wasn't always the case, right?
> 
> yes, but it has been for 6 months already, and firefox-46 was released...
> some time in the past week.

When I previously reported very similar bug against firefox-24.0 (bug 489838) the policy was "Gentoo strives to keep systems updatable for at least 1 year".

Could you please point out where on some Gentoo website it is written that this policy has changed?
Comment 5 Ian Stakenvicius (RETIRED) gentoo-dev 2016-05-02 20:59:47 UTC
(In reply to Maciej S. Szmigiero from comment #4)
> 
> When I previously reported very similar bug against firefox-24.0 (bug
> 489838) the policy was "Gentoo strives to keep systems updatable for at
> least 1 year".
> 
> Could you please point out where on some Gentoo website it is written that
> this policy has changed?



That policy hasn't changed.  But, if you were performing an 'emerge -uDNav world' then you would get a new system icu installed well before firefox-46 would be installed.  Gentoo has -never- so far as I'm aware supported mixing dependencies from a year ago with packages from the latest --sync, if there are newer stable dependencies available.  In fact, the number one thing to do when running into any bug is still, so far as i'm aware, 'run emerge -uDNav @world to update all dependencies to latest, and try again'.

The one year policy is regarding making sure 'emerge -uDNav world' will still work after not --sync'ing for a year.  IE, to make sure the gentoo repo today doesn't require a newer EAPI than what was available in the version of portage that was stable in april of 2015, on the portage package and its various dependencies.


Back to the bug at hand, mozilla's build system states that it requires icu 50.1 so even 51.1 is requiring a newer icu than is necessary to pass configure.  That said, its possible they've pushed a patch that requires a newer icu and didn't update their dependencies, so I'll look into it.
Comment 6 Andreas K. Hüttel archtester gentoo-dev 2016-07-03 19:45:23 UTC
EDONTCARE from office team
Comment 7 Jory A. Pratt gentoo-dev 2017-08-26 17:56:54 UTC
If you feel I have closed your bug and it is still a current issue, please reopen and update it completely. We will not work bugs that have no ebuild in tree any longer or can not be reproduced with a current system.

Thank You for your support and understanding
The Mozilla Team