Project

General

Profile

Bug #2273

[icu] Conflicts with iceape, icecat, icedove, iceweasel, openttd, texlive-bin (and maybe other packages), breaks GUI

temporaryuser - 3 months ago - . Updated 2 months ago.

Status:
in progress
Priority:
broken
Assignee:
-
% Done:

0%


Description

icu 64.1-1 conflicts with iceape, icecat, icedove, iceweasel, openttd, texlive-bin and maybe other packages. It also breaks GUI if related packages are installed.

History

#1

Updated by bill-auger 3 months ago

  • Description updated (diff)

icu 64.1-1 is in [testing] x86_64

#2

Updated by bill-auger 3 months ago

  • Priority changed from bug to broken
  • Status changed from unconfirmed to confirmed
#3

Updated by freemor 3 months ago

Thanks for the advanced heads up.
Creating packages/abslibre/staging
Creating librechroot X86_64-staging

Will see if I can get some of these built ahead of time. Will consult with other dev's before pushing anything to new/strange places. (staging, staging/libre, staging/nonprism, Etc.)

#4

Updated by freemor 3 months ago

Starting icecat rebuild against icu 64 --> failed to build
Trying iceweasel against ICU 64 --> failed because NodeJS not yet rebuilt against new ICU

Will fiddle with it more later

#5

Updated by freemor 3 months ago

ICU 64 has landed in both X86_64 and ARMv7h today
let the rebuilds begin for reals

#6

Updated by bill-auger 3 months ago

textlive-bin x86_64 and arm completed and published

#7

Updated by freemor 3 months ago

starting icecat x86_64 --> Damn it!

 30:28.76 
 |  30:28.76 error: aborting due to 33 previous errors
 |  30:28.76 
 |  30:28.84 error: Could not compile `simd`.
 |  30:28.84 
 |  30:28.84 To learn more, run the command again with --verbose.
 |  30:28.84 make[4]: *** [/build/icecat/src/icecat-60.3.0/config/rules.mk:972: force-cargo-library-build] Error 101
 |  30:28.84 make[3]: *** [/build/icecat/src/icecat-60.3.0/config/recurse.mk:73: toolkit/library/rust/target] Error 2
 |  30:28.84 make[3]: *** Waiting for unfinished jobs....
 |  31:19.04 libsecurity_pkix_test_gtest.a.desc
 |  31:19.37 make[2]: *** [/build/icecat/src/icecat-60.3.0/config/recurse.mk:33: compile] Error 2
 |  31:19.37 make[1]: *** [/build/icecat/src/icecat-60.3.0/config/rules.mk:434: default] Error 2
 |  31:19.37 make: *** [client.mk:168: build] Error 2
 |  31:19.37 144 compiler warnings present.
 |  ==> ERROR: A failure occurred in build().
 |      Aborting...
==> Copying log and package files out of the chroot...

#8

Updated by freemor 3 months ago

Do not have time to chase down compile errors right now so:

Starting [libre/hardinfo] --> x86_64/ARMv7h Done

#9

Updated by temporaryuser 3 months ago

There are still same conflicts.

#10

Updated by freemor 3 months ago

temporaryuser - yes, becuase things are just getting rebuild now. Expect it to take at least a day or two.

starting [pcr/california] --> x86_64/ARMv7h Done.

#11

Updated by bill-auger 3 months ago

  • Status changed from confirmed to in progress
#12

Updated by freemor 3 months ago

K, lets throw big one on the barby,
Starting [libre/iceweasel] x86_64

#13

Updated by bill-auger 3 months ago

openttd x86_64 and arm completed and published

#14

Updated by bill-auger 3 months ago

calibre x86_64 completed and published

calibre arm built successfully but failed the check phase - i will defer this for now

#15

Updated by oaken-source 3 months ago

the rust simd problems seem to stem from here:
https://bugzilla.mozilla.org/show_bug.cgi?id=1521249

#16

Updated by bill-auger 3 months ago

phantomjs x86_64 completed and published
phantomjs i686 failed ("is too large")

is this the sort of OOM problem as with the weasel foxes in i686 chroots? - how did you guys get it to use less memory during the link stage?

 |  /usr/bin/ld: error: /build/phantomjs/src/phantomjs-2.1.1/src/qt/qtbase/lib/libQt5Widgets.a(qstylesheetstyle.o)(.eh_frame) is too large (0xed70 bytes)
 |  /usr/bin/ld: error in /build/phantomjs/src/phantomjs-2.1.1/src/qt/qtbase/lib/libQt5Widgets.a(qstylesheetstyle.o)(.eh_frame); no .eh_frame_hdr table will be created
 |  /usr/bin/ld: error: /build/phantomjs/src/phantomjs-2.1.1/src/qt/qtbase/lib/libQt5Widgets.a(qfusionstyle.o)(.eh_frame) is too large (0x8084 bytes)
 |  /usr/bin/ld: error in /build/phantomjs/src/phantomjs-2.1.1/src/qt/qtbase/lib/libQt5Widgets.a(qfusionstyle.o)(.eh_frame); no .eh_frame_hdr table will be created
 |  /usr/bin/ld: error: /build/phantomjs/src/phantomjs-2.1.1/src/qt/qtbase/lib/libQt5Widgets.a(qcombobox.o)(.eh_frame) is too large (0x61c4 bytes)
 |  /usr/bin/ld: error in /build/phantomjs/src/phantomjs-2.1.1/src/qt/qtbase/lib/libQt5Widgets.a(qcombobox.o)(.eh_frame); no .eh_frame_hdr table will be created
 |  /usr/bin/ld: error: /build/phantomjs/src/phantomjs-2.1.1/src/qt/qtbase/lib/libQt5Widgets.a(qdialogbuttonbox.o)(.eh_frame) is too large (0x15b0 bytes)
 |  /usr/bin/ld: error in /build/phantomjs/src/phantomjs-2.1.1/src/qt/qtbase/lib/libQt5Widgets.a(qdialogbuttonbox.o)(.eh_frame); no .eh_frame_hdr table will be created
 |  /usr/bin/ld: error: /build/phantomjs/src/phantomjs-2.1.1/src/qt/qtbase/lib/libQt5Widgets.a(qeffects.o)(.eh_frame) is too large (0xca4 bytes)
 |  /usr/bin/ld: error in /build/phantomjs/src/phantomjs-2.1.1/src/qt/qtbase/lib/libQt5Widgets.a(qeffects.o)(.eh_frame); no .eh_frame_hdr table will be created
 |  /usr/bin/ld: error: /build/phantomjs/src/phantomjs-2.1.1/src/qt/qtbase/lib/libQt5Widgets.a(qframe.o)(.eh_frame) is too large (0x6d0 bytes)
 |  /usr/bin/ld: error in /build/phantomjs/src/phantomjs-2.1.1/src/qt/qtbase/lib/libQt5Widgets.a(qframe.o)(.eh_frame); no .eh_frame_hdr table will be created
 |  /usr/bin/ld: can not read symbols: memory exhausted
 |  /usr/bin/ld: .eh_frame/.stab edit: memory exhausted
 |  /usr/bin/ld: bfd_new_link_order failed
 |  collect2: error: ld returned 1 exit status
 |  make[1]: *** [Makefile.phantomjs:262: ../bin/phantomjs] Error 1
 |  make[1]: Leaving directory '/build/phantomjs/src/phantomjs-2.1.1/src'
 |  make: *** [Makefile:43: sub-src-phantomjs-pro-make_first-ordered] Error 2
 |
 |  ERROR: Failed to build PhantomJS! Building PhantomJS failed.
 |  configuring Qt Base, please wait...

i notice that the binary package for x86_64 is 13MB, and the debug package is 316M - that is rather peculiar - yes? - generally the debug package is orders of magnitude smaller than the binary package

#17

Updated by temporaryuser 3 months ago

What is wrong with iceweasel? Why does it build more than 3 days? IIUC, I have build IceCat in some hours (2x 2.095GHz CPU), but it was long time ago.

#18

Updated by freemor 3 months ago

After 48+ hours of constant grinding in swapland I've terminated the iceweasel build here. I suspect it looses it's way at some point and goes recursive because there is a point where instead of the normal up and down swap fluxtuations it just starts creeping constantly higher. I suspect a machine with more physical ram then mine may be required at this point. Even if it was building still with my processor spending 98% of time in IO-Wait this thing would take weeks to build. 2% of cycles on an old processor probably just isn't gonna cut it.

After a full week of Building stuff and Days constant high CPU/High Disk IO I'm giving me and my machine a break for a day or two (plus there is some IRL stuff I need the machine for)

#19

Updated by oaken-source 3 months ago

the main difference between icecat and iceweasel is that icecat is tracking firefox ESR and iceweasel is tracking firefox stable. Firefox stable is currently built on arch with LTO (link-time optimization) and PGO (profile-guided optimization) enabled, and we attempt this too.

LTO and PGO both greatly increase the memory requirements of the build, which are currently in the order of 15-16 GiB for the final link job. This is a lot. So much in fact, that I do not own a machine with that much ram, and the build needs to use the remaining GiBs in the system swap. This slows things down. OTOH, icecat gets by with roughly 7 GiB of ram at link time, so fits RAM, and in consequence builds much faster.

To get a feeling for numbers, on average accessing swap is 1.000.000 times slower than accessing RAM. you read that right. A factor of 10^6.

It hurts, but it just means the build takes a bit of time. Usually 4 hours on my box. Expect builds in a couple days, barring any unexpected problems. In the meantime, switch to icecat which I will release today, once the arm build is finished.

#20

Updated by bill-auger 3 months ago

epiphany x86_64 and arm completed and published

#21

Updated by temporaryuser 3 months ago

I have 3877 MiB RAM and 8 GiB swap. Is it enough to build iceweasel for one architecture in one day?

#22

Updated by bill-auger 3 months ago

oaken-source just explained it quite clearly - that is not enough for iceweasel x86_64 without disabling the optimizations - it is probably enough for icecat, and maybe iceweasel i686

if you are assuming that you could shortcut the process next time by building it yourself, you are probably not ever going to get it built any faster than the parabola devs do - each new release brings new surprises and the program usually needs to be re-built several times to flush out all the new regression bugs - even if you have the computing power, it is quite a feat to get a working version of a new release in one day

#23

Updated by temporaryuser 3 months ago

Fixed?

#24

Updated by freemor 3 months ago

Some time ago yes. I suspect it is still open just in case there are stragglers that we missed

#25

Updated by bill-auger 3 months ago

there are still some remaining according to the linter report https://pad.riseup.net/p/ParabolaRepolint

libre/armv7h/iceweasel
libre/armv7h/openttd
pcr/i686/phantomjs

#26

Updated by freemor 3 months ago

Last I heard oaken-source was building iceweasel for arm on his arm hardware. But that should have finished by now.

#27

Updated by freemor 3 months ago

libre/armv7h/openttd seems to be up to date.

armv7h    Libre    openttd    1.8.0-3.par3    An engine for running Transport Tycoon Deluxe.    2019-04-09

#28

Updated by freemor 3 months ago

pcr/i686/phantomjs

Can not be rebuilt yet as ICU for i686 is still at: 63.1-2.1

#29

Updated by bill-auger 3 months ago

you can build against the new i686 icu if you enable the [build-support] and [staging] repos - but phantomjs i686 failed to build for me - see #note-16

#30

Updated by freemor 3 months ago

ICU 0.64 has landed in i686
Let the rebuilds commence
Started rebuilding iceweasel i686

#31

Updated by freemor 3 months ago

looks like upstream (Archlinux32) may not have pushed the rebuilt nodeJS yet.. I'll give it a bit and try again

#32

Updated by freemor 3 months ago

Iceweasel continues to fail with nodejs looking for wrong icu
Starting icecat rebuild while I figure that out

#33

Updated by freemor 3 months ago

icecat rebuild for i686 pushed

#34

Updated by freemor 3 months ago

Started iceweasel i686 rebuild against the new icu
got past the NodeJS issue so looks like it'll build

#35

Updated by freemor 3 months ago

iceweasel i686 - rebuilt, pushed
Starting icedove

#36

Updated by freemor 3 months ago

icedove i686 vs new icu pushed
starting nonprism/icedove i686

#37

Updated by freemor 2 months ago

cups-filters i686 rebuilt/pushed
starting iceape i686 rebuild

#38

Updated by bill-auger 2 months ago

the arch32 website lists icu at v64

i686/core 64.2-1.0 published: 2019-05-03 11:12:44
#39

Updated by freemor 2 months ago

iceape i686 Rebuilt - pushed

ICU 0.64 - only landed in i686 5 days ago
poppler 0.74 landed in i686 a day or two after that

all part of their recent big push to get current

#40

Updated by freemor 2 months ago

attempting a texlive-bin i686 rebuild against both new icu and new poppler

#41

Updated by freemor 2 months ago

Dang, Died with:

 |                                                              ^
 |  In file included from ../../../texk/web2c/pdftexdir/pdftoepdf.cc:60:
 |  /usr/include/poppler/Catalog.h:151:7: note: candidate: ‘int Catalog::findPage(int, int)’
 |     int findPage(int num, int gen);
 |         ^~~~~~~~
 |  /usr/include/poppler/Catalog.h:151:7: note:   candidate expects 2 arguments, 1 provided
 |  make[5]: *** [Makefile:16347: pdftexdir/libpdftex_a-pdftoepdf.o] Error 1
 |  make[5]: Leaving directory '/build/texlive-bin/src/texlive-source/Work/texk/web2c'
 |  make[4]: *** [Makefile:16801: all-recursive] Error 1
 |  make[4]: Leaving directory '/build/texlive-bin/src/texlive-source/Work/texk/web2c'
 |  make[3]: *** [Makefile:4780: all] Error 2
 |  make[3]: Leaving directory '/build/texlive-bin/src/texlive-source/Work/texk/web2c'
 |  make[2]: *** [Makefile:911: recurse] Error 1
 |  make[2]: Leaving directory '/build/texlive-bin/src/texlive-source/Work/texk'
 |  make[1]: *** [Makefile:488: all-recursive] Error 1
 |  make[1]: Leaving directory '/build/texlive-bin/src/texlive-source/Work/texk'
 |  make: *** [Makefile:576: all-recursive] Error 1
 |  ==> ERROR: A failure occurred in build().
 |      Aborting...
==> Copying log and package files out of the chroot...

could be the poppler 0.76.0 patch is mussing with poppler 0.74

#42

Updated by freemor 2 months ago

Well that was fortuitious. The brought poppler up to 0.76.x today. GNUtoo already re-rebuilt cups-filters i686
texlive-bin i686 now rebuilt also. Very nice saved me the work of having to roll back the patches for i686 to poppler 0.74.

I think we are close to putting this one to bed. openttd and maybe a few other i686 straglers

Big question right now is nonprism/webkit2gtk as it will not build in our i686 chroot as no SSE2.. I'll write thoughts on this tpo the
dev mailing list tomorrow

Also available in: Atom PDF