[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<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>
>, _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<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>
>, 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<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>
>, _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<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>
>, 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<iterator, bool>
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<iterator, bool>(__p.first,
__p.second);
412 }
413
414 #ifdef __GXX_EXPERIMENTAL_CXX0X__
415 std::pair<iterator, bool>
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<iterator, bool>(__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