Inkscape fails to build with gcc 4.6
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| Inkscape |
High
|
Jon A. Cruz | ||
| inkscape (Debian) |
Fix Released
|
Unknown
|
||
| inkscape (Ubuntu) |
High
|
Unassigned |
Bug Description
Inkscape failed to build on i386 and amd64 in a recent rebuild test of Ubuntu packages with gcc 4.6. The package version in question was inkscape_
i386: http://
amd64: http://
The error message is:
/usr/include/
I believe this can be fixed by including a #include <cstddef> in connector-context.h (and wherever necessary). Please see the following page for more details: https:/
Related branches
- Bryce Harrington: Approve (packaging) on 2011-07-11
- Ubuntu branches: Pending requested 2011-07-10
-
Diff: 99212 lines (+46210/-23783)335 files modifiedInfo.plist (+3/-3)
Makefile.in (+4/-0)
aclocal.m4 (+8/-6)
build.xml (+6/-2)
config.guess (+120/-105)
config.h.in (+6/-0)
config.sub (+101/-55)
configure (+565/-356)
configure.ac (+33/-5)
debian/changelog (+22/-0)
debian/patches/00list (+0/-5)
debian/patches/01-libwpg0.2.dpatch (+0/-99)
debian/patches/03-add-missing-mimetypes.dpatch (+0/-20)
debian/patches/04-fix-build-with-gcc4.6.dpatch (+0/-18)
debian/patches/05-add-missing-includes.dpatch (+0/-799)
debian/patches/fix-fontforge-glyph-template.dpatch (+0/-82)
doc/Makefile.am (+2/-6)
doc/Makefile.in (+6/-6)
doc/keys-html.xsl (+0/-208)
doc/keys-svg.xsl (+0/-1315)
doc/keys.README (+3/-26)
doc/keys.de.xml (+0/-1107)
doc/keys.en.html (+8794/-0)
doc/keys.fr.html (+8787/-1110)
doc/keys.fr.xml (+0/-1135)
doc/keys.html (+0/-1415)
doc/keys.ja.html (+8787/-0)
doc/keys.xml (+0/-1429)
inkscape.1 (+3/-3)
inkscape.desktop.in (+1/-1)
inkscape.fr.1 (+3/-3)
inkscape.spec (+1/-1)
po/br.po (+13/-13)
po/fa.po (+2096/-2460)
po/gl.po (+1956/-653)
po/id.po (+2398/-1401)
po/ja.po (+6508/-5750)
po/nl.po (+2/-2)
share/Makefile.in (+4/-0)
share/clipart/Makefile.in (+4/-0)
share/examples/Makefile.in (+4/-0)
share/extensions/Barcode/Makefile.in (+4/-0)
share/extensions/Makefile.in (+4/-0)
share/extensions/Poly3DObjects/Makefile.in (+4/-0)
share/extensions/alphabet_soup/Makefile.in (+4/-0)
share/extensions/dxf_input.py (+87/-28)
share/extensions/dxf_outlines.py (+36/-20)
share/extensions/funcplot.py (+8/-4)
share/extensions/interp.py (+4/-1)
share/extensions/polyhedron_3d.inx (+2/-2)
share/extensions/restack.py (+25/-17)
share/extensions/svg2xaml.xsl (+2125/-659)
share/extensions/test/Makefile.in (+4/-0)
share/extensions/xaml2svg/Makefile.in (+4/-0)
share/filters/Makefile.in (+4/-0)
share/filters/filters.svg (+2/-2)
share/fonts/Makefile.in (+4/-0)
share/gradients/Makefile.in (+4/-0)
share/icons/Makefile.in (+4/-0)
share/icons/application/16x16/Makefile.in (+4/-0)
share/icons/application/22x22/Makefile.in (+4/-0)
share/icons/application/24x24/Makefile.in (+4/-0)
share/icons/application/256x256/Makefile.in (+4/-0)
share/icons/application/32x32/Makefile.in (+4/-0)
share/icons/application/48x48/Makefile.in (+4/-0)
share/icons/application/Makefile.in (+4/-0)
share/keys/Makefile.in (+4/-0)
share/markers/Makefile.in (+4/-0)
share/palettes/Makefile.in (+4/-0)
share/patterns/Makefile.in (+4/-0)
share/screens/Makefile.in (+4/-0)
share/templates/Makefile.in (+4/-0)
share/templates/fontforge_glyph.svg (+22/-26)
share/tutorials/Makefile.in (+4/-0)
share/tutorials/tutorial-advanced.ja.svg (+235/-251)
share/tutorials/tutorial-basic.ja.svg (+305/-320)
share/tutorials/tutorial-calligraphy.ja.svg (+427/-443)
share/tutorials/tutorial-elements.ja.svg (+242/-257)
share/tutorials/tutorial-elements.sk.svg (+198/-214)
share/tutorials/tutorial-shapes.ja.svg (+495/-510)
share/tutorials/tutorial-shapes.sk.svg (+446/-462)
share/tutorials/tutorial-tips.ja.svg (+351/-367)
share/tutorials/tutorial-tracing.ja.svg (+105/-120)
share/ui/Makefile.in (+4/-0)
src/2geom/convex-cover.cpp (+1/-1)
src/2geom/utils.h (+1/-0)
src/Makefile.am (+4/-0)
src/Makefile.in (+26/-19)
src/Makefile_insert (+1/-0)
src/arc-context.h (+1/-0)
src/box3d-context.h (+1/-0)
src/color-profile.cpp (+1/-1)
src/color.h (+1/-1)
src/conn-avoid-ref.cpp (+1/-0)
src/conn-avoid-ref.h (+1/-0)
src/connection-pool.h (+1/-0)
src/connector-context.h (+1/-0)
src/context-fns.h (+1/-1)
src/debug/gdk-event-latency-tracker.h (+1/-1)
src/debug/log-display-config.cpp (+1/-2)
src/desktop-events.h (+2/-2)
src/desktop-style.cpp (+1/-1)
src/desktop.h (+3/-2)
src/device-manager.cpp (+1/-1)
src/dialogs/clonetiler.h (+1/-1)
src/dialogs/dialog-events.h (+1/-2)
src/dialogs/find.h (+1/-1)
src/dialogs/item-properties.cpp (+0/-9)
src/dialogs/item-properties.h (+1/-1)
src/dialogs/object-attributes.cpp (+1/-0)
src/dialogs/object-attributes.h (+1/-1)
src/dialogs/spellcheck.h (+1/-1)
src/display/canvas-arena.cpp (+1/-1)
src/display/canvas-temporary-item.cpp (+1/-1)
src/display/canvas-temporary-item.h (+1/-0)
src/display/nr-3dutils.h (+1/-1)
src/display/nr-arena-glyphs.cpp (+1/-0)
src/display/nr-arena-glyphs.h (+1/-1)
src/display/nr-arena.cpp (+1/-0)
src/display/nr-arena.h (+2/-1)
src/display/nr-filter-diffuselighting.h (+1/-1)
src/display/nr-filter-specularlighting.h (+1/-1)
src/display/nr-light.h (+1/-1)
src/display/sodipodi-ctrl.h (+2/-2)
src/display/sp-canvas.cpp (+1/-3)
src/display/sp-canvas.h (+2/-4)
src/document-private.h (+1/-0)
src/document-subset.h (+1/-0)
src/document.cpp (+1/-1)
src/document.h (+2/-1)
src/draw-context.h (+1/-0)
src/ege-adjustment-action.cpp (+0/-13)
src/ege-adjustment-action.h (+1/-1)
src/ege-color-prof-tracker.cpp (+1/-3)
src/ege-output-action.cpp (+1/-3)
src/ege-output-action.h (+1/-1)
src/ege-select-one-action.cpp (+0/-9)
src/ege-select-one-action.h (+1/-2)
src/event-context.cpp (+1/-2)
src/event-context.h (+1/-2)
src/extension/effect.h (+1/-1)
src/extension/implementation/implementation.h (+1/-1)
src/extension/input.h (+1/-1)
src/extension/internal/cairo-render-context.cpp (+6/-3)
src/extension/internal/cairo-renderer-pdf-out.cpp (+7/-4)
src/extension/internal/cairo-renderer.cpp (+10/-8)
src/extension/internal/emf-win32-inout.cpp (+178/-53)
src/extension/internal/emf-win32-print.cpp (+2/-4)
src/extension/internal/latex-text-renderer.cpp (+23/-17)
src/extension/internal/pdfinput/pdf-input.cpp (+1/-1)
src/extension/internal/wpg-input.cpp (+21/-1)
src/extension/output.h (+1/-1)
src/extension/timer.h (+1/-0)
src/file.cpp (+1/-1)
src/file.h (+1/-1)
src/flood-context.h (+1/-0)
src/forward.h (+0/-3)
src/gc-alloc.h (+1/-0)
src/gc-finalized.h (+1/-0)
src/gc.cpp (+1/-0)
src/gradient-context.h (+1/-0)
src/gradient-drag.h (+1/-0)
src/help.h (+1/-1)
src/helper/sp-marshal.cpp (+2/-0)
src/helper/unit-menu.cpp (+1/-4)
src/helper/unit-menu.h (+1/-1)
src/helper/unit-tracker.cpp (+1/-1)
src/helper/unit-tracker.h (+1/-2)
src/helper/window.cpp (+1/-1)
src/helper/window.h (+1/-1)
src/icon-size.h (+1/-1)
src/id-clash.cpp (+1/-0)
src/ink-action.cpp (+2/-7)
src/ink-action.h (+1/-3)
src/ink-comboboxentry-action.cpp (+0/-3)
src/ink-comboboxentry-action.h (+1/-2)
src/inkscape-version.cpp (+1/-1)
src/inkscape.cpp (+2/-3)
src/inkview.cpp (+1/-5)
src/interface.h (+1/-1)
src/io/sys.cpp (+1/-1)
src/knot.h (+2/-1)
src/libavoid/geomtypes.h (+1/-0)
src/libavoid/orthogonal.cpp (+1/-1)
src/libgdl/gdl-dock-bar.h (+1/-1)
src/libgdl/gdl-dock-item-grip.c (+1/-3)
src/libgdl/gdl-dock-item-grip.h (+1/-1)
src/libgdl/gdl-dock-master.h (+1/-1)
src/libgdl/gdl-dock-object.h (+1/-1)
src/libgdl/gdl-dock-paned.c (+1/-2)
src/libgdl/gdl-stock.c (+0/-1)
src/libgdl/gdl-switcher.c (+0/-4)
src/libgdl/gdl-switcher.h (+1/-1)
src/libgdl/gdl-tools.h (+1/-1)
src/libnrtype/Layout-TNG-Input.cpp (+1/-1)
src/live_effects/lpeobject-reference.h (+1/-0)
src/live_effects/parameter/path-reference.h (+1/-0)
src/live_effects/parameter/path.cpp (+1/-1)
src/live_effects/parameter/path.h (+1/-0)
src/main.cpp (+2/-6)
src/message-stack.h (+1/-0)
src/modifier-fns.h (+1/-1)
src/object-hierarchy.h (+1/-0)
src/persp3d-reference.h (+1/-0)
src/rect-context.h (+1/-0)
src/selcue.h (+1/-0)
src/select-context.h (+1/-1)
src/selection-describer.h (+1/-0)
src/selection.h (+1/-0)
src/seltrans-handles.h (+1/-0)
src/seltrans.h (+1/-0)
src/shortcuts.cpp (+1/-1)
src/sp-conn-end-pair.cpp (+1/-1)
src/sp-conn-end-pair.h (+1/-0)
src/sp-conn-end.h (+1/-0)
src/sp-gradient.cpp (+5/-5)
src/sp-gradient.h (+2/-1)
src/sp-image.cpp (+1/-1)
src/sp-object.cpp (+1/-0)
src/sp-object.h (+1/-0)
src/sp-offset.h (+1/-0)
src/sp-paint-server-reference.h (+43/-0)
src/sp-paint-server.cpp (+18/-5)
src/sp-paint-server.h (+4/-19)
src/sp-pattern.cpp (+6/-9)
src/sp-pattern.h (+2/-1)
src/sp-shape.cpp (+7/-6)
src/sp-shape.h (+1/-0)
src/sp-switch.h (+1/-0)
src/sp-text.h (+1/-0)
src/sp-tref-reference.h (+1/-0)
src/sp-use-reference.h (+1/-0)
src/sp-use.h (+1/-0)
src/spiral-context.h (+2/-1)
src/splivarot.cpp (+20/-15)
src/star-context.h (+1/-0)
src/style.h (+2/-1)
src/svg-view-widget.cpp (+1/-1)
src/text-context.cpp (+1/-2)
src/text-context.h (+2/-2)
src/ui/context-menu.cpp (+1/-1)
src/ui/context-menu.h (+1/-1)
src/ui/dialog/aboutbox.cpp (+2/-1)
src/ui/dialog/color-item.cpp (+1/-1)
src/ui/dialog/desktop-tracker.h (+1/-0)
src/ui/dialog/document-metadata.h (+1/-0)
src/ui/dialog/document-properties.h (+1/-0)
src/ui/dialog/extensions.cpp (+1/-1)
src/ui/dialog/filedialogimpl-gtkmm.h (+1/-5)
src/ui/dialog/filedialogimpl-win32.cpp (+11/-0)
src/ui/dialog/glyphs.cpp (+1/-3)
src/ui/dialog/inkscape-preferences.cpp (+1/-1)
src/ui/dialog/inkscape-preferences.h (+1/-0)
src/ui/dialog/layers.cpp (+1/-2)
src/ui/dialog/ocaldialogs.cpp (+1/-1)
src/ui/dialog/ocaldialogs.h (+1/-3)
src/ui/dialog/print.h (+1/-1)
src/ui/dialog/svg-fonts-dialog.cpp (+4/-1)
src/ui/dialog/swatches.cpp (+87/-8)
src/ui/dialog/swatches.h (+3/-0)
src/ui/dialog/tile.cpp (+1/-2)
src/ui/dialog/tracedialog.cpp (+1/-1)
src/ui/dialog/undo-history.cpp (+2/-1)
src/ui/tool/control-point-selection.h (+1/-0)
src/ui/tool/control-point.h (+1/-0)
src/ui/tool/manipulator.h (+1/-0)
src/ui/tool/multi-path-manipulator.h (+1/-0)
src/ui/tool/node-tool.h (+1/-0)
src/ui/tool/node.h (+1/-0)
src/ui/view/edit-widget.cpp (+1/-3)
src/ui/view/view-widget.h (+1/-1)
src/ui/view/view.h (+2/-1)
src/ui/widget/color-picker.h (+1/-0)
src/ui/widget/combo-text.cpp (+1/-1)
src/ui/widget/layer-selector.cpp (+4/-0)
src/ui/widget/page-sizer.cpp (+17/-13)
src/ui/widget/page-sizer.h (+2/-0)
src/ui/widget/panel.cpp (+1/-1)
src/ui/widget/preferences-widget.h (+1/-0)
src/ui/widget/selected-style.cpp (+1/-1)
src/ui/widget/selected-style.h (+1/-0)
src/ui/widget/style-subject.h (+1/-0)
src/ui/widget/toolbox.cpp (+1/-1)
src/uri-references.h (+1/-0)
src/util/forward-pointer-iterator.h (+1/-0)
src/util/share.h (+1/-0)
src/util/unordered-containers.h (+2/-0)
src/verbs.cpp (+1/-1)
src/widgets/button.cpp (+1/-0)
src/widgets/button.h (+1/-3)
src/widgets/desktop-widget.cpp (+1/-1)
src/widgets/desktop-widget.h (+2/-2)
src/widgets/eek-preview.h (+2/-2)
src/widgets/fill-style.cpp (+1/-1)
src/widgets/font-selector.cpp (+0/-7)
src/widgets/font-selector.h (+1/-1)
src/widgets/gradient-image.h (+2/-1)
src/widgets/gradient-selector.cpp (+1/-5)
src/widgets/gradient-selector.h (+1/-1)
src/widgets/gradient-toolbar.h (+1/-1)
src/widgets/gradient-vector.h (+2/-1)
src/widgets/icon.h (+1/-1)
src/widgets/paint-selector.cpp (+1/-8)
src/widgets/paint-selector.h (+1/-1)
src/widgets/ruler.h (+1/-1)
src/widgets/select-toolbar.cpp (+0/-1)
src/widgets/select-toolbar.h (+1/-2)
src/widgets/shrink-wrap-button.cpp (+1/-1)
src/widgets/sp-attribute-widget.cpp (+1/-2)
src/widgets/sp-attribute-widget.h (+2/-2)
src/widgets/sp-color-gtkselector.h (+1/-1)
src/widgets/sp-color-icc-selector.cpp (+0/-6)
src/widgets/sp-color-icc-selector.h (+1/-2)
src/widgets/sp-color-notebook.cpp (+1/-0)
src/widgets/sp-color-notebook.h (+1/-3)
src/widgets/sp-color-preview.h (+1/-1)
src/widgets/sp-color-scales.h (+1/-2)
src/widgets/sp-color-selector.cpp (+1/-1)
src/widgets/sp-color-selector.h (+1/-1)
src/widgets/sp-color-slider.cpp (+1/-2)
src/widgets/sp-color-slider.h (+1/-1)
src/widgets/sp-color-wheel-selector.cpp (+1/-4)
src/widgets/sp-color-wheel-selector.h (+1/-2)
src/widgets/sp-color-wheel.cpp (+1/-1)
src/widgets/sp-color-wheel.h (+1/-1)
src/widgets/sp-widget.h (+1/-1)
src/widgets/sp-xmlview-attr-list.h (+0/-1)
src/widgets/sp-xmlview-content.h (+1/-1)
src/widgets/sp-xmlview-tree.h (+1/-1)
src/widgets/spinbutton-events.cpp (+1/-0)
src/widgets/spinbutton-events.h (+1/-2)
src/widgets/spw-utilities.h (+2/-1)
src/widgets/toolbox.cpp (+4/-2)
src/widgets/toolbox.h (+1/-2)
src/xml/helper-observer.h (+1/-0)
Changed in inkscape: | |
importance: | Undecided → High |
tags: | added: build |
Lubomir Rintel (lkundrak) wrote : | #1 |
Changed in inkscape: | |
milestone: | none → 0.48.2 |
status: | New → Triaged |
Alex Valavanis (valavanisalex) wrote : | #2 |
Thanks very much for the patch! I have attached it to this report. Can someone please review it, and consider applying?
theAdib (theadib) wrote : | #3 |
I tested the patch under win32 and Ubuntu 10.04. Works.
I attach the diff before pushing.
the Adib
su_v (suv-lp) wrote : | #4 |
Inkscape 048+devel r10071 fails to build on OS X 10.5.8 (i386):
CXX inkscape-version.o
AR libinkversion.a
CXX main.o
CXXLD inkscape
ld: unknown option: --export-dynamic
collect2: ld returned 1 exit status
make[3]: *** [inkscape] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
LeWitt:~ suv$ g++-4.2 --version
i686-apple-
LeWitt:~ suv$ which ld
/usr/bin/ld
LeWitt:~ suv$ ld -v
@(#)PROGRAM:ld PROJECT:ld64-85.2.1
theAdib (theadib) wrote : | #5 |
attached a patch for the makefile system to check for macosx and use different link options.
actually I think we should not test for MACOSX or not but for GNU linker or not. I think your linker is not a gnu linker.
But that should give the same results on macosx.
please test and report.
Adib.
su_v (suv-lp) wrote : | #6 |
Patch tested with r10074 (not a full rebuild) and fix confirmed (linking is done without failure) on OS X 10.5.8 (i386) with
$ g++-4.2 --version
i686-apple-
Maybe the test should go along with the other compiler and linker tests in configure.ac (line 43-166)? Among those, there already seems to exist a test for GNU ld, at least according to the output of configure (log attached):
checking if the linker (/usr/libexec/
which possibly could be reused for the linker flags in 'src/Makefile.am'?
Jon A. Cruz (jon-joncruz) wrote : | #7 |
Tweaking things to not look for the platform but to instead test the linker support.
Changed in inkscape: | |
assignee: | nobody → Jon A. Cruz (jon-joncruz) |
status: | Triaged → In Progress |
Changed in inkscape: | |
status: | In Progress → Fix Committed |
su_v (suv-lp) wrote : | #8 |
> Tweaking things to not look for the platform but to instead test the linker support.
That's not what was committed in r10078 as far as I can tell - it just renames the variable which checks the platform. What if GCC 4.6 is used on Mac OS X?
See also: <http://
Alex Valavanis (valavanisalex) wrote : | #9 |
A slightly different patch for this issue was submitted in duplicate bug #754870. Please take a look if you feel that it will be useful.
Emil Karlson (jekarlson) wrote : | #10 |
So did anyone even bother to think about the reality that --export-dynamic has been _ignored_ in the past and there have been no consequences.
I just included it in my patch with the comment, because I assume you know what you are doing and eg. it might have been there for some other silly compilers.
from http://
"GCC now has stricter checks for invalid command-line options. In particular, when gcc was called to link object files rather than compile source code, it would previously accept and ignore all options starting with --, including linker options such as --as-needed and --export-dynamic, although such options would result in errors if any source code was compiled. Such options, if unknown to the compiler, are now rejected in all cases; if the intent was to pass them to the linker, options such as -Wl,--as-needed should be used."
su_v (suv-lp) wrote : | #11 |
> So did anyone even bother to think about the reality that
> --export-dynamic has been _ignored_ in the past and there
> have been no consequences.
This issue at hand was that some (non-GNU) linkers don't understand the option if passed with '-Wl,--
[1] <http://
[2] <http://
tags: | added: backport-proposed |
Changed in inkscape: | |
milestone: | 0.48.2 → 0.49 |
Alex Valavanis (valavanisalex) wrote : | #12 |
I tried backporting the upstream patch to the Ubuntu package (inkscape_
In file included from 2geom/utils.
./2geom/
./2geom/
/usr/include/
/usr/include/
./2geom/
./2geom/
./2geom/
2geom/utils.
2geom/utils.
/usr/include/
/usr/include/
2geom/utils.
2geom/utils.
2geom/utils.
2geom/utils.cpp: In function ‘void Geom::binomial_
2geom/utils.
2geom/utils.
/usr/include/
/usr/include/
2geom/utils.
2geom/utils.
2geom/utils.
2geom/utils.
2geom/utils.
2geom/utils.
2geom/utils.
2geom/utils.
2geom/utils.
2geom/utils.
2geom/utils.
2geom/utils.
2geom/utils.
Changed in inkscape (Ubuntu): | |
status: | New → In Progress |
importance: | Undecided → High |
assignee: | nobody → Alex Valavanis (valavanisalex) |
milestone: | none → oneiric-alpha-1 |
summary: |
- Inkscape 0.48.0 fails to build with gcc 4.6 + Inkscape fails to build with gcc 4.6 |
tags: | added: patch |
Alex Valavanis (valavanisalex) wrote : | #13 |
Adding debdiff for Ubuntu changes
tags: |
added: patch-forwarded-upstream removed: patch |
Alex Valavanis (valavanisalex) wrote : | #14 |
Local build succeeded. Please consider sponsoring the upload for Ubuntu Oneiric
Changed in inkscape (Ubuntu): | |
assignee: | Alex Valavanis (valavanisalex) → nobody |
status: | In Progress → Triaged |
tags: | added: patch-forwarded-debian |
Alex Valavanis (valavanisalex) wrote : | #15 |
@upstream - I'm not sure why the patch in trunk doesn't include a #include <cstddef> in 2geom/utils.h. Am I missing something here? I could not get the Ubuntu package to build without adding this to your patch.
Dave Walker (davewalker) wrote : | #16 |
inkscape (0.48.1-2ubuntu3) oneiric; urgency=low
* debian/
- Backport upstream patch (lp:inkscape:r10071)
- Add <cstddef> inclusion to src/2geom/utils.h
-- Alex Valavanis <email address hidden> Sun, 01 May 2011 01:08:10 +0100
Changed in inkscape (Ubuntu): | |
status: | Triaged → Fix Released |
su_v (suv-lp) wrote : | #17 |
Alex Valavanis wrote
> I'm not sure why the patch in trunk doesn't
> include a #include <cstddef> in 2geom/utils.h.
@theAdib . any reason you left out the changes for 'to 2geom/utils.h' in your commit (r10071) [1]? It is part of the patch you based your changes on (see comment #2).
[1] <http://
Reopening, and subscribing theAdib.
Changed in inkscape: | |
status: | Fix Committed → Incomplete |
theAdib (theadib) wrote : | #18 |
this missing fraction was not intentional. commited as attached. My bad.
su_v (suv-lp) wrote : | #19 |
> commited as attached
Inkscape trunk: r10196
Remaining issue (linker option '--export-dynamic' needed or not) still open:
see comment #10 (refers to bug #754870) and <http://
Alex Valavanis (valavanisalex) wrote : | #20 |
This was backported to inkscape 0.48.2: r9786
http://
Changed in inkscape: | |
milestone: | 0.49 → 0.48.2 |
status: | Incomplete → Fix Committed |
su_v (suv-lp) wrote : | #21 |
> status: Incomplete → Fix Committed
I'm not sure it is ok to close this report yet: IMHO the question whether the linker flag '--export-dynamic' is needed at all in current Inkscape versions (stable and development) hasn't been addressed so far:
<http://
Alex Valavanis (valavanisalex) wrote : | #22 |
Oops - I forgot about that. Sorry! However, isn't this really a separate issue? The GCC 4.6 build failure (the original purpose of the report) is fixed in trunk and 0.48.2.
Perhaps it would be a good idea to create a follow-up report to deal with the --export-dynamic issue. As far as I can tell, it should be fine to just drop the -Wl,--export-
su_v (suv-lp) wrote : | #23 |
> However, isn't this really a separate issue?
Not sure - isn't it no longer ignored now (on linux&win) with the committed changes for GCC 4.6?
(AFAIU the new '-Wl,--
Alex Valavanis (valavanisalex) wrote : | #24 |
> AFAIU the new '-Wl,--
Yes, that's how I understood it too. However, there were still two issues here: the missing <cstddef> headers, and the invalid GCC flag. We have fixed the first one, and found a (dodgy?) workaround for the second. I'm happy enough to reopen this, but just though it would be neater to split off a follow-up report to deal with the --export-dynamic issue.
su_v (suv-lp) wrote : | #25 |
> the missing <cstddef> headers (…)
inkscape trunk r10196,
inkscape 0.48.x r9786,
upstream lib2geom r1999
<http://
> (…) and the invalid GCC flag.
> just though it would be neater to split off a
> follow-up report to deal with the --export-dynamic issue.
Agreed - are you willing to file it? ;)
Alex Valavanis (valavanisalex) wrote : | #26 |
> are you willing to file it? ;)
Done: bug #808338 <--export-dynamic linker flag may be unnecessary>
tags: | removed: backport-proposed |
Changed in inkscape (Debian): | |
status: | Unknown → Fix Released |
Changed in inkscape: | |
status: | Fix Committed → Fix Released |
su_v (suv-lp) wrote : | #27 |
Just for the record (I am aware that the report was closed as 'Fix Released')
~suv wrote in comment #8
>> Tweaking things to not look for the platform but to instead test the linker support.
>
> That's not what was committed in r10078 as far as I can tell - it just renames
> the variable which checks the platform. What if GCC 4.6 is used on Mac OS X?
Changes in r10078:
<https:/
Indeed Inkscape 0.48.2 (tarball) and 0.48.x (branch) fails to build with GCC 4.6.2 on OS X 10.7.2 Lion
(current trunk r10927 builds ok with GCC 4.6.2 (fix from bug #808338), and all versions build without failure with using Apple's GCC 4.2.1 or llvm-gcc.-4.2):
CXXLD inkscape
g++-mp-4.6: error: unrecognized option '--export-dynamic'
make[2]: *** [inkscape] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
This would matter if we want to be able to support building Mac OS X packages of 0.48.x with OpenMP support (not possible when using Apple's old GCC version).
su_v (suv-lp) wrote : | #28 |
Inkscape 0.48.2 (tarball) and 0.48.x (r9860) builds on OS X 10.7.2 Lion with attached patch applied to the sources - I haven't had the chance yet to verify the changes with Apple's GCC 4.2.1 nor with llvm-gcc-4.2. The patch seems save though:
1) AFAIU the older GCC version simply dropped the flag (before the changes for this bug) and it was not passed on to linker anyway.
2) Current trunk - which no longer uses the linker flag at all (bug #808338) - builds without issues using Apple's GCC 4.2.1 or llvm-gcc-4.2 as well as with GCC 4.6.2 [1].
The patch is based on the changes in trunk for bug #808338
<https:/
[1] The newer GCC version is installed via MacPorts, and also used to externally build and install all C++ interfaces Inkscape links to: libsigc++, glibmm, cairomm, pangomm, atkmm, gtkmm. Otherwise, using GCC 4.6 for Inkscape alone (for OpenMP support) results in unstable builds, similar to this topic described in the FAQ:
<http://
su_v (suv-lp) wrote : | #29 |
Correction:
- Inkscape 0.48.2 (tarball) and 0.48.x (r9860) builds on OS X 10.7.2 Lion with attached patch applied to the sources
+Inkscape 0.48.2 (tarball) and 0.48.x (r9860) builds with GCC 4.6.2 on OS X 10.7.2 Lion with attached patch applied to the sources
A fix available in Fedora GIT: pkgs.fedoraproj ect.org/ gitweb/ ?p=inkscape. git;a=blob_ plain;f= inkscape- 0.48.0- gcc46.patch; hb=HEAD
http://