[Libreoffice] Debian gcc or LO bug

julien2412 serval2412 at yahoo.fr
Sun Sep 18 14:23:59 PDT 2011


Hello,

On LO-dev IRC, i met someone with this pb 
/home/luc/git/core/vcl/unx/gtk/a11y/atkutil.cxx:322:60: error: call of
overloaded
‘insert(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventBroadcaster>&)’
is ambiguous

detail logs :
[ build CXX ] vcl/unx/gtk/a11y/atkutil
R=/home/luc/git && S=$R/core && O=$S/solver/unxlngx6.pro &&
W=$S/workdir/unxlngx6.pro &&  mkdir -p $W/CxxObject/vcl/unx/gtk/a11y/
$W/Dep/CxxObject/vcl/unx/gtk/a11y/ && ccache g++ -DCPPU_ENV=gcc3 -DCUI
-DENABLE_GRAPHITE -DENABLE_GTK -DENABLE_LAYOUT=0
-DENABLE_LAYOUT_EXPERIMENTAL=0 -DGCC -DGXX_INCLUDE_PATH=/usr/include/c++/4.6
-DHAVE_GCC_VISIBILITY_FEATURE -DLINUX -DNDEBUG -DOPTIMIZE
-DOSL_DEBUG_LEVEL=0 -DPRODUCT -DPRODUCT_FULL -DSOLAR_JAVA -DSUPD=350 -DUNIX
-
DUNX -DVCL -DX86_64 -D_PTHREADS -D_REENTRANT   -DVCLPLUG_GTK_IMPLEMENTATION
-DVERSION=\"350m1\"   -Wall -Wendif-labels -Wextra -Wshadow
-Woverloaded-virtual -Wno-non-virtual-dtor -fPIC -fmessage-length=0
-fno-common -pipe  -fvisibility=hidden  -fvisibility-inlines-hidden 
-std=c++0x -Wno-deprecated-declarations   -DEXCEPTIONS_ON -fexceptions
-fno-enforce-eh-specs  -O2 -c $S/vcl/unx/gtk/a11y/atkutil.cxx -o
$W/CxxObject/vcl/unx/gtk/a11y/atkutil.o -MMD -MT $W/
CxxObject/vcl/unx/gtk/a11y/atkutil.o -MP -MF
$W/Dep/CxxObject/vcl/unx/gtk/a11y/atkutil.d -I$S/vcl/unx/gtk/a11y/
-I$O/inc/stl -I$O/inc/external -I$O/inc -I$S/solenv/unxlngx6/inc
-I$S/solenv/inc -I$S/res -I$S/solenv/inc/Xp31
-I/usr/lib/jvm/java-6-openjdk-amd64/include
-I/usr/lib/jvm/java-6-openjdk-amd64/include/linux
-I/usr/lib/jvm/java-6-openjdk-amd64/include/native_threads/include
-I$S/vcl/inc -I$S/vcl/inc/pch -I$S/solenv/inc -I$O/inc  -I$O/inc/offapi
-I$O/
inc/udkapi -pthread -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0
-I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12
-I/usr/include/cairo -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include  
/home/luc/git/core/vcl/unx/gtk/a11y/atkutil.cxx: In member function ‘void
DocumentFocusListener::attachRecursive(const
com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>&,
const
com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleContext>&,
const
com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleStateSet>&)’:
/home/luc/git/core/vcl/unx/gtk/a11y/atkutil.cxx:322:60: error: call of
overloaded
‘insert(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventBroadcaster>&)’
is ambiguous
/home/luc/git/core/vcl/unx/gtk/a11y/atkutil.cxx:322:60: note: candidates
are:
/usr/include/c++/4.6/bits/stl_set.h:407:7: note: std::pair<typename
std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename
_Alloc::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare,
_Alloc>::insert(const value_type&) [with _Key =
com::sun::star::uno::Reference<com::sun::star::uno::XInterface>, _Compare =
std::less&lt;com::sun::star::uno::Reference&lt;com::sun::star::uno::XInterface&gt;
>, _Alloc = std::allocator<com::sun::star::uno::
Reference<com::sun::star::uno::XInterface> >, typename std::_Rb_tree<_Key,
_Key, std::_Identity<_Key>, _Compare, typename
_Alloc::rebind<_Key>::other>::const_iterator =
std::_Rb_tree_const_iterator&lt;com::sun::star::uno::Reference&lt;com::sun::star::uno::XInterface&gt;
>, std::set<_Key, _Compare, _Alloc>::value_type =
com::sun::star::uno::Reference<com::sun::star::uno::XInterface>]
/usr/include/c++/4.6/bits/stl_set.h:416:7: note: std::pair<typename
std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename
_Alloc::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare,
_Alloc>::insert(std::set<_Key, _Compare, _Alloc>::value_type&&) [with _Key =
com::sun::star::uno::Reference<com::sun::star::uno::XInterface>, _Compare =
std::less&lt;com::sun::star::uno::Reference&lt;com::sun::star::uno::XInterface&gt;
>, _Alloc = std::
allocator&lt;com::sun::star::uno::Reference&lt;com::sun::star::uno::XInterface&gt;
>, typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare,
typename _Alloc::rebind<_Key>::other>::const_iterator =
std::_Rb_tree_const_iterator&lt;com::sun::star::uno::Reference&lt;com::sun::star::uno::XInterface&gt;
>, std::set<_Key, _Compare, _Alloc>::value_type =
com::sun::star::uno::Reference<com::sun::star::uno::XInterface>]

The interesting thing is, the guy (his pseudo was "Luc_") had the pb on a
Debian SID with only this on the autogen.lastrun :
--with-num-cpus=2

With Debian Squeeze, he had not the pb (I didn't asked the autogen.lastrun
of Squeeze but it's on Laptop with CPU x386 !!)
Finally me, with my Debian testing updated today, I hadn't the pb, even with
a "make clean && make -r" in vcl.


Then, I took a look at :
/usr/include/c++/4.6/bits/stl_set.h
Here what we can find  :
    392       // insert/erase
    393       /**
    394        *  @brief Attempts to insert an element into the %set.
    395        *  @param  x  Element to be inserted.
    396        *  @return  A pair, of which the first element is an iterator
that points
    397        *           to the possibly inserted element, and the second
is a bool
    398        *           that is true if the element was actually
inserted.
    399        *
    400        *  This function attempts to insert an element into the %set. 
A %set
    401        *  relies on unique keys and thus an element is only inserted
if it is
    402        *  not already present in the %set.
    403        *
    404        *  Insertion requires logarithmic time.
    405        */
    406       std::pair&lt;iterator, bool&gt;
    407       insert(const value_type& __x)
    408       {
    409         std::pair<typename _Rep_type::iterator, bool> __p =
    410           _M_t._M_insert_unique(__x);
    411         return std::pair&lt;iterator, bool&gt;(__p.first,
__p.second);
    412       }
    413 
    414 #ifdef __GXX_EXPERIMENTAL_CXX0X__
    415       std::pair&lt;iterator, bool&gt;
    416       insert(value_type&& __x)
    417       {
    418         std::pair<typename _Rep_type::iterator, bool> __p =
    419           _M_t._M_insert_unique(std::move(__x));
    420         return std::pair&lt;iterator, bool&gt;(__p.first,
__p.second);
    421       }
    422 #endif
So 2 functions are defined if __GXX_EXPERIMENTAL_CXX0X__ is there.
I read that __GXX_EXPERIMENTAL_CXX0X_ could be triggered by -std=c++0x
So his compile uses -std=c++0x but nothing in autogen.lastrun or config.log
shows I don't use this option too !

extract of config.log
configure:12437: checking whether ccache gcc supports -std=c++0x without
Language Defect 757
configure:12483: ccache g++ -c -g -O2 -std=c++0x  conftest.cpp >&5
configure:12483: $? = 0

my autogen.lastrun :
--enable-symbols
--enable-ext-barcode
--enable-ext-diagram
--enable-ext-google-docs
--enable-ext-hunart
--enable-ext-lightproof
--enable-ext-nlpsolver
--enable-ext-ct2n
--enable-ext-numbertext
--enable-ext-oooblogger
--enable-ext-pdfimport
--enable-ext-presenter-console
--enable-ext-presenter-minimizer
--enable-ext-report-builder
--enable-ext-scripting-beanshell
--enable-ext-scripting-javascript
--enable-ext-typo
--enable-ext-validator
--enable-ext-watch-window
--enable-ext-wiki-publisher
--enable-dbus
--enable-graphite
--enable-evolution2
--enable-werror
--enable-debug
--enable-dbgutil
--enable-crashdump
--enable-kde4
--enable-dependency-tracking

Since Luc_ has these same line on SID, why does it work for me and not for
him ?

Julien.
(thank you for having read until the end :-) )


--
View this message in context: http://nabble.documentfoundation.org/Debian-gcc-or-LO-bug-tp3347043p3347043.html
Sent from the Dev mailing list archive at Nabble.com.


More information about the LibreOffice mailing list