Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

slic3r: fix build with gcc6 #28996

Merged
merged 1 commit into from Sep 8, 2017
Merged

slic3r: fix build with gcc6 #28996

merged 1 commit into from Sep 8, 2017

Conversation

disassembler
Copy link
Member

@disassembler disassembler commented Sep 4, 2017

Motivation for this change

related to #28643
Fixes issues with compile, but fails on link with error:

ld -shared -O2 -L/nix/store/sgjc1147vi5hd57ck9xgck5xjkydg5lz-glibc-2.25/lib -fstack-protector-strong -o blib/arch/auto/Slic3r/XS/XS.so buildtmp/XS.o src/libslic3r/BridgeDetector.o src/libslic3r/Polygon.o src/libslic3r/Polyline.o src/poly2tri/sweep/sweep.o src/libslic3r/Surface.o src/admesh/stl_io.o src/poly2tri/sweep/cdt.o src/libslic3r/Config.o src/libslic3r/ClipperUtils.o src/polypartition.o src/libslic3r/Geometry.o src/admesh/connect.o src/libslic3r/PrintObject.o src/libslic3r/Line.o src/libslic3r/LayerRegion.o src/admesh/util.o src/libslic3r/ExPolygonCollection.o src/libslic3r/TriangleMesh.o src/libslic3r/utils.o src/poly2tri/sweep/sweep_context.o src/admesh/stlinit.o src/libslic3r/SVG.o src/libslic3r/MultiPoint.o src/libslic3r/PrintConfig.o src/libslic3r/Extruder.o src/libslic3r/Flow.o src/libslic3r/ExPolygon.o src/libslic3r/PlaceholderParser.o src/libslic3r/Print.o src/libslic3r/Model.o src/poly2tri/common/shapes.o src/libslic3r/Layer.o src/libslic3r/GUI/3DScene.o src/libslic3r/PrintRegion.o src/libslic3r/BoundingBox.o src/libslic3r/Point.o src/libslic3r/ExtrusionEntityCollection.o src/libslic3r/GCodeWriter.o src/poly2tri/sweep/advancing_front.o src/admesh/normals.o src/libslic3r/ExtrusionEntity.o src/admesh/shared.o src/libslic3r/SurfaceCollection.o src/libslic3r/PolylineCollection.o src/clipper.o src/libslic3r/MotionPlanner.o -lstdc++
buildtmp/XS.o: In function `_GLOBAL__sub_I_XS.c':
XS.c:(.text.startup+0x1a): undefined reference to `__dso_handle'
/nix/store/yf4p5w2v4h4i8rja9zw1akp007av624j-binutils-2.28.1/bin/ld: buildtmp/XS.o: relocation R_X86_64_PC32 against undefined hidden symbol `__dso_handle' can not be used when making a shared object
/nix/store/yf4p5w2v4h4i8rja9zw1akp007av624j-binutils-2.28.1/bin/ld: final link failed: Bad value
error building blib/arch/auto/Slic3r/XS/XS.so from buildtmp/XS.o src/libslic3r/BridgeDetector.o src/libslic3r/Polygon.o src/libslic3r/Polyline.o src/poly2tri/sweep/sweep.o src/libslic3r/Surface.o src/admesh/stl_io.o src/poly2tri/sweep/cdt.o src/libslic3r/Config.o src/libslic3r/ClipperUtils.o src/polypartition.o src/libslic3r/Geometry.o src/admesh/connect.o src/libslic3r/PrintObject.o src/libslic3r/Line.o src/libslic3r/LayerRegion.o src/admesh/util.o src/libslic3r/ExPolygonCollection.o src/libslic3r/TriangleMesh.o src/libslic3r/utils.o src/poly2tri/sweep/sweep_context.o src/admesh/stlinit.o src/libslic3r/SVG.o src/libslic3r/MultiPoint.o src/libslic3r/PrintConfig.o src/libslic3r/Extruder.o src/libslic3r/Flow.o src/libslic3r/ExPolygon.o src/libslic3r/PlaceholderParser.o src/libslic3r/Print.o src/libslic3r/Model.o src/poly2tri/common/shapes.o src/libslic3r/Layer.o src/libslic3r/GUI/3DScene.o src/libslic3r/PrintRegion.o src/libslic3r/BoundingBox.o src/libslic3r/Point.o src/libslic3r/ExtrusionEntityCollection.o src/libslic3r/GCodeWriter.o src/poly2tri/sweep/advancing_front.o src/admesh/normals.o src/libslic3r/ExtrusionEntity.o src/admesh/shared.o src/libslic3r/SurfaceCollection.o src/libslic3r/PolylineCollection.o src/clipper.o src/libslic3r/MotionPlanner.o at /nix/store/7q2hps69zkj501lsmvnd2ry95mmdbh80-perl-5.24.2/lib/perl5/5.24.2/ExtUtils/CBuilder/Base.pm line 321.
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@disassembler disassembler changed the title slic3r: fix build with gcc6 [WIP] slic3r: fix build with gcc6 Sep 4, 2017
@bjornfor
Copy link
Contributor

bjornfor commented Sep 7, 2017

Related: #28958

@timor
Copy link
Member

timor commented Sep 7, 2017

The linking error occurs because the build process uses ld for the linking step, while it should be g++

@disassembler
Copy link
Member Author

I'm not sure why things changed with the perl build process causing it to use ld instead of gcc (nothing changed in this package that I can tell), but adding export LD=$CXX to the buildPhase fixes the build. This is ready to merge.

@bkchr
Copy link
Contributor

bkchr commented Sep 8, 2017

Nothing changed in the package, Nixos started to export LD=ld and packages began to break^^ I don't remember why that was done, but qt5-base had the same problem.

@globin globin changed the title [WIP] slic3r: fix build with gcc6 slic3r: fix build with gcc6 Sep 8, 2017
@globin globin merged commit 707ee76 into NixOS:master Sep 8, 2017
@globin globin mentioned this pull request Sep 8, 2017
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants