On Mon, Sep 05, 2011 at 09:57:30AM +0200, Stephan Bergmann wrote:
> On Sep 2, 2011, at 5:13 PM, Lionel Elie Mamane wrote:

>> I assume the vtable "obviously" has to be exported.

> No, need not be exported (if none of the ctors and dtors are inline).

Ah, I had not declared the copy constructor and assignment operator
well, which led to the vtable being necessary to export. That is fixed
now.

>> Revised patch attached; if it is good to go (especially with respect
>> to questions above), I'll commit (with a better commit message).

> gcc3.map in the latest patch (sent this morning):

> - Do not export the thunks (_ZThn), not needed externally.

Well, the build fails if they are not exported. So for now, I export
them. If the fact that they are needed comes from an error in the
class design, please let me know what to do to fix that.


Here's the failing build log:

=============
(1/1) Building module comphelper
=============
Entering /home/master/src/libreoffice/core/comphelper/prj

cd .. && make -s -r -j4  && make -s -r deliverlog
[ build CXX ] comphelper/source/property/opropertybag
[ build CXX ] comphelper/source/property/propagg
[ build CXX ] comphelper/source/property/propertybag
[ build CXX ] comphelper/source/property/propertycontainer
[ build CXX ] comphelper/source/property/propertycontainerhelper
[ build CXX ] comphelper/source/property/propertystatecontainer
[ build CXX ] comphelper/source/property/propmultiplex
[ build CXX ] comphelper/source/property/propstate
[ build DEP ] LNK:Library/libcomphelpgcc3.so
[ build LNK ] Library/libcomphelpgcc3.so
/home/master/src/libreoffice/core/workdir/unxlngx6/CxxObject/comphelper/source/property/opropertybag.o:(.data.rel.ro._ZTVN10comphelper12OPropertyBagE[vtable
 for comphelper::OPropertyBag]+0x270): undefined reference to `non-virtual 
thunk to cppu::OPropertySetHelper2::enableChangeListenerNotification(unsigned 
char)'
/home/master/src/libreoffice/core/workdir/unxlngx6/CxxObject/comphelper/source/property/propagg.o:(.data.rel.ro._ZTVN10comphelper29OPropertySetAggregationHelperE[vtable
 for comphelper::OPropertySetAggregationHelper]+0x200): undefined reference to 
`non-virtual thunk to 
cppu::OPropertySetHelper2::enableChangeListenerNotification(unsigned char)'
/home/master/src/libreoffice/core/workdir/unxlngx6/CxxObject/comphelper/source/property/propstate.o:(.data.rel.ro._ZTVN10comphelper20OStatefulPropertySetE[vtable
 for comphelper::OStatefulPropertySet]+0x258): undefined reference to 
`non-virtual thunk to 
cppu::OPropertySetHelper2::enableChangeListenerNotification(unsigned char)'
/home/master/src/libreoffice/core/workdir/unxlngx6/CxxObject/comphelper/source/property/propstate.o:(.data.rel.ro._ZTVN10comphelper20OPropertyStateHelperE[vtable
 for comphelper::OPropertyStateHelper]+0x1d0): undefined reference to 
`non-virtual thunk to 
cppu::OPropertySetHelper2::enableChangeListenerNotification(unsigned char)'
collect2: ld returned 1 exit status
make: *** 
[/home/master/src/libreoffice/core/workdir/unxlngx6/LinkTarget/Library/libcomphelpgcc3.so]
 Error 1
dmake:  Error code 2, while making 'all'


-- 
Lionel
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to