inkscape-0.48.x build fails with clang from Xcode 5.1

Bug #1293169 reported by David Evans on 2014-03-16
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Inkscape
High
Johan Engelen

Bug Description

Build of inkscape-0.48.x r10017 fails when building in MacPorts using recently released Xcode 5.1. This effects both OS X 10.8 (Mountain Lion) and 10.9 (Mavericks). Build is successful using previous version Xcode 5.0.2.

Build of trunk (r13156) and standalone lib2geom (r10017) are not effected.

Fails as follow:

In file included from box3d-side.cpp:14:
In file included from ./box3d-side.h:15:
In file included from ./sp-polygon.h:16:
In file included from ./sp-shape.h:18:
In file included from ./sp-lpe-item.h:17:
In file included from ./sp-item.h:25:
In file included from ./libnr/nr-rect.h:28:
In file included from ./2geom/rect.h:40:
In file included from ./2geom/d2.h:429:
./2geom/rect.h:218:49: error: invalid operands to binary expression ('const Geom::OptRect' and 'int')
    inline bool isEmpty() const { return (*this == false); };
                                          ~~~~~ ^ ~~~~~
/opt/local/include/boost/optional/optional.hpp:859:6: note: candidate function [with T = Geom::D2<Geom::Interval>] not viable: no known conversion from 'bool' to 'none_t' (aka 'int boost::detail::none_helper::*') for 2nd argument
bool operator == ( optional<T> const& x, none_t )
     ^
./2geom/linear.h:133:13: note: candidate function not viable: no known conversion from 'const Geom::OptRect' to 'const Geom::Linear' for 1st argument
inline bool operator==(Linear const & a, Linear const & b) {
            ^
./2geom/point.h:158:13: note: candidate function not viable: no known conversion from 'const Geom::OptRect' to 'const Geom::Point' for 1st argument
inline bool operator==(Point const &a, Point const &b) {
            ^
./2geom/matrix.h:142:13: note: candidate function not viable: no known conversion from 'const Geom::OptRect' to 'const Geom::Matrix' for 1st argument
inline bool operator==(Matrix const &a, Matrix const &b) {
            ^
/opt/local/include/boost/optional/optional.hpp:790:6: note: candidate template ignored: deduced conflicting types for parameter 'T' ('Geom::D2<Geom::Interval>' vs. 'bool')
bool operator == ( optional<T> const& x, T const& y )

See https://trac.macports.org/ticket/42866 for full build log and other details

=====
Compiler info:
clang: Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)

<https://trac.macports.org/wiki/XcodeVersionInfo#OSX10.9>

Related branches

su_v (suv-lp) on 2014-03-16
description: updated
Changed in inkscape:
importance: Undecided → High
su_v (suv-lp) on 2014-03-16
Changed in inkscape:
milestone: none → 0.48.5
David Evans (devans-n) wrote :

As pointed out the difference between Xcode 5.0.2 and Xcode 5.1 is that clang is now based on LLVM 3.4 rather than LLVM 3.3. It's possible that this failure could effect other platforms using clang 3.4 although I haven't tried it.

Johan Engelen (johanengelen) wrote :

fixed in r10019

Changed in inkscape:
assignee: nobody → Johan Engelen (johanengelen)
status: New → Fix Committed
Johan Engelen (johanengelen) wrote :

(tested on Mavericks)

su_v (suv-lp) wrote :

@Johan - thanks a lot!

su_v (suv-lp) wrote :

Follow-up report (regression):
- Bug #1297546 “Stable branch: filter effects are not rendered (rev >= 10019)”
  <https://bugs.launchpad.net/inkscape/+bug/1297546>

su_v (suv-lp) on 2014-06-06
summary: - inkscape-0.48.x build fails using Xcode 5.1
+ inkscape-0.48.x build fails with clang from Xcode 5.1
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers