Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
cairo und lto
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Sun Nov 30, 2014 6:54 am    Post subject: cairo und lto Reply with quote

Ich habe gerade das Problem, dass sich cairo-1.12.16-r4 mit dem USE-Flag lto nicht übersetzen lässt. Ich bin ja beim gcc 4.9.2. Wollte mal nachfragen, wie es bei denen aussieht, die noch beim gcc 4.8.3 sind. Gerade bei lto soll der 4.9 ja deutliche Verbesserungen bringen. Ich wollte erst mal hier nachfragen, bevor ich ewig am gcc-4.8.3 rumkompiliere und der 4.9.2 ist ja auch noch maskiert.

Die Fehlermeldung sind so aus:
Code:
/var/tmp/portage/x11-libs/cairo-1.12.16-r4/temp/ccx6CehJ.ltrans0.ltrans.o: In function `main':
ccx6CehJ.ltrans0.o:(.text.startup+0x13d): undefined reference to `cairo_boilerplate_get_target_by_name'
ccx6CehJ.ltrans0.o:(.text.startup+0x191): undefined reference to `cairo_boilerplate_xmalloc'
ccx6CehJ.ltrans0.o:(.text.startup+0x26d): undefined reference to `cairo_boilerplate_xmalloc'
ccx6CehJ.ltrans0.o:(.text.startup+0x410): undefined reference to `cairo_boilerplate_xmalloc'
ccx6CehJ.ltrans0.o:(.text.startup+0x58d): undefined reference to `cairo_boilerplate_xmalloc'
ccx6CehJ.ltrans0.o:(.text.startup+0x5ee): undefined reference to `cairo_boilerplate_xmalloc'
/var/tmp/portage/x11-libs/cairo-1.12.16-r4/temp/ccx6CehJ.ltrans0.ltrans.o:ccx6CehJ.ltrans0.o:(.text.startup+0x66f): more undefined references to `cairo_boilerplate_xmalloc' follow
/var/tmp/portage/x11-libs/cairo-1.12.16-r4/temp/ccx6CehJ.ltrans0.ltrans.o: In function `main':
ccx6CehJ.ltrans0.o:(.text.startup+0x99b): undefined reference to `cairo_boilerplate_xrealloc'
ccx6CehJ.ltrans0.o:(.text.startup+0xc2d): undefined reference to `cairo_boilerplate_xrealloc'
ccx6CehJ.ltrans0.o:(.text.startup+0xfd7): undefined reference to `cairo_boilerplate_xrealloc'
ccx6CehJ.ltrans0.o:(.text.startup+0x11ca): undefined reference to `cairo_boilerplate_xrealloc'
/var/tmp/portage/x11-libs/cairo-1.12.16-r4/temp/ccx6CehJ.ltrans1.ltrans.o: In function `_surface_create.lto_priv.8':
ccx6CehJ.ltrans1.o:(.text+0x56): undefined reference to `cairo_boilerplate_xmalloc'
/var/tmp/portage/x11-libs/cairo-1.12.16-r4/temp/ccx6CehJ.ltrans1.ltrans.o: In function `get_surface_size':
ccx6CehJ.ltrans1.o:(.text+0x153): undefined reference to `cairo_boilerplate_xmalloc'
/var/tmp/portage/x11-libs/cairo-1.12.16-r4/temp/ccx6CehJ.ltrans1.ltrans.o: In function `_context_create.lto_priv.9':
ccx6CehJ.ltrans1.o:(.text+0x1d8): undefined reference to `cairo_boilerplate_xmalloc'
/var/tmp/portage/x11-libs/cairo-1.12.16-r4/temp/ccx6CehJ.ltrans1.ltrans.o: In function `recorder.lto_priv.11':
ccx6CehJ.ltrans1.o:(.text+0xf44): undefined reference to `cairo_boilerplate_xmalloc'
ccx6CehJ.ltrans1.o:(.text+0x113a): undefined reference to `cairo_boilerplate_xrealloc'
collect2: error: ld returned 1 exit status
Makefile:589: recipe for target 'cairo-sphinx' failed
make[4]: *** [cairo-sphinx] Error 1
make[4]: Leaving directory '/var/tmp/portage/x11-libs/cairo-1.12.16-r4/work/cairo-1.12.16-abi_x86_64.amd64/util/cairo-sphinx'
Makefile:974: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/var/tmp/portage/x11-libs/cairo-1.12.16-r4/work/cairo-1.12.16-abi_x86_64.amd64/util'
Makefile:756: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/var/tmp/portage/x11-libs/cairo-1.12.16-r4/work/cairo-1.12.16-abi_x86_64.amd64/util'
Makefile:895: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/x11-libs/cairo-1.12.16-r4/work/cairo-1.12.16-abi_x86_64.amd64'
Makefile:745: recipe for target 'all' failed
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4520
Location: Germany

PostPosted: Sun Nov 30, 2014 10:33 am    Post subject: Reply with quote

Schau ob die schon genannten Tipps aus Bug 510782 weiterhelfen.
Back to top
View user's profile Send private message
Jean-Paul
Guru
Guru


Joined: 13 Apr 2009
Posts: 307

PostPosted: Sun Nov 30, 2014 10:35 am    Post subject: Reply with quote

Funktioniert hier einwandfrei
Quote:
[ebuild R ~] x11-libs/cairo-1.12.16-r3 USE="X glib lto svg (-aqua) -debug -directfb (-drm) (-gallium) (-gles2) -legacy-drivers -opengl -openvg (-qt4) -static-libs -valgrind -xcb -xlib-xcb" 0 kB

[ebuild R ] sys-devel/gcc-4.8.3:4.8 USE="cxx fortran nls nptl openmp sanitize (-altivec) -awt -doc (-fixed-point) -gcj -go -graphite (-hardened) (-libssp) -mudflap (-multilib) (-multislot) -nopie -nossp -objc -objc++ -objc-gc -regression-test -vanilla"

_________________
”Everything should be made as simple as possible, but no simpler.” – Albert Einstein
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Sun Nov 30, 2014 11:29 am    Post subject: Reply with quote

Danke an euch beide. Ja, den Bug hatte ich schon gelesen und die angegebene Lösung, -lto, hatte ich ja auch schon gefunden.

Wenn ich mich noch richtig zurück erinnere, dann ging die r3 (damals noch ohne lto) mit dem gcc-4.9.1 sauber durch. Mit dem gcc-4.9.2 wollte dann auch die r3 nicht. Hatte jetzt auf die r4 gehofft, dass sie das Problem löst. Hab den Beitrag ja in erster Linie geschrieben, um ohne stundenlange emerge Orgien zu sehen, an was es liegt. Und der letzte Satz:
Code:
USE="-lto" solves the problem
ist dann ja wohl doch etwas heftig. Nein, er löst das Problem nicht, es ist nur ein quick and dirty fix.

Werde dann mal im Laufe des Tages ausprobieren, was der gcc-4.9.1 dazu sagt. Wenn es mit dem 4.8.3 und dem 4.9.1 sauber durchläuft, dann ist es ein Problem von cairo. Ansonsten eines vom gcc-4.9.2.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4520
Location: Germany

PostPosted: Sun Nov 30, 2014 12:20 pm    Post subject: Reply with quote

Hm nee, ich meinte eher den Tipp mit den CFLAGS/CXXFLAGS aus Comment 6 , 8 und 9
Back to top
View user's profile Send private message
Jean-Paul
Guru
Guru


Joined: 13 Apr 2009
Posts: 307

PostPosted: Sun Nov 30, 2014 12:55 pm    Post subject: Reply with quote

Josef.95 wrote:
Hm nee, ich meinte eher den Tipp mit den CFLAGS/CXXFLAGS aus Comment 6 , 8 und 9

Ja, das schein das Problem zu lösen.
Siehe auch hier https://code.google.com/p/chromium/issues/detail?id=360604

Vorausgesetzt du hast genug Speicher.
Quote:
>>> Running pre-merge checks for x11-libs/cairo-1.12.16-r3
* Checking for sufficient memory to build cairo with USE=lto
* Checking for at least 768 MiB RAM ... [ ok ]

_________________
”Everything should be made as simple as possible, but no simpler.” – Albert Einstein
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Sun Nov 30, 2014 4:16 pm    Post subject: Reply with quote

Bingo. lto zu entfernen ist peng. -ffat-lto-objects hat die Sache gelöst.

Danke Josef für die Hinweise auf 6, 8 und 9.

Ist also kein Problem vom gcc oder von cairo. Ist eine Sache der default-flags.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum