Dear all, As described in the mailing-list-thread Issues building LibreOffice 4.0.0.1 http://lists.freedesktop.org/archives/libreoffice/2013-January/044838.html I am trying to build and package LibreOffice 4.0.0.* for KaarPux http://kaarpux.kaarposoft.dk/
I am starting a new mailing-list thread here to try to address one issue at a time. With LibreOffice 4.0.0.2, Stephans patch http://cgit.freedesktop.org/libreoffice/core/commit/?id=d71e8fb17bd008751909ef2fabc6ff4f1e2db187 no other pathes and the configuration attached as "config.txt" building is now stuck at [build LNK] Library/libmysqllo.so with undefined reference to 'typeinfo for salhelper::SimpleReferenceObject' See attached "libmysqllo_lnk_error.txt" googel'ing the error message tends to indicate a problem with virtual functions. salhelper/inc/salhelper/simplereferenceobject.hxx has class SALHELPER_DLLPUBLIC SimpleReferenceObject { [...] protected: virtual ~SimpleReferenceObject() SAL_THROW(()); [...] }; I am no C++ expert, but as far as I can tell, this makes SimpleReferenceObject an abstract class, and subclasses should declare and implement ~SimpleReferenceObject. A simple grep shows that we have ORowSetValueDecorator defined in places like connectivity/inc/connectivity/inc/FValue.hxx And as far as I can see, ORowSetValueDecorator does NOT declare ~ORowSetValueDecorator Grepping for other uses of SimpleReferenceObject turns up many references, and I picked one at random: xmloff/inc/xmloff/formlayerimport.hxx Here we have class XMLOFF_DLLPUBLIC OFormLayerXMLImport :public ::salhelper::SimpleReferenceObject { OFormLayerXMLImport_Impl* m_pImpl; public: OFormLayerXMLImport(SvXMLImport& _rImporter); ~OFormLayerXMLImport(); So, the subclass here DOES implement ~SimpleReferenceObject as ~OFormLayerXMLImport() As I am certainly no C++ expert, please allow me to ask this question to the list: Are we using SimpleReferenceObject correctly? In particular, maybe we should define ~SimpleReferenceObject in all subclasses ? Thanks in advance for any input on this. /Henrik
- echo: "autogen" - sh: > ./autogen.sh # TRY TO KEEP THE OPTIONS IN THE SAME SEQUENCE AS ./configure --help --prefix="${KX_PREFIX}" # For debuging: build packages in sequential order --with-parallelism=1 # When (re-)building sequential build can be achived with: # make PARALLELISM=1 # Disable LibreOffice includes self-packaging code --disable-epm # This option disables installing the office development kit --disable-odk # TODO: Consider --enable-mathmldtd Enable bundling of (modified) MathML 1.01 DTD. # Allows the built-in evolution 2 addressbook connectivity build to be enabled. --enable-evolution2 # Include debugging symbols in output. # WARNING - a complete build needs 8 Gb of space and takes much longer (enables -g compiler flag). # --enable-symbols # Enable link-time optimization. Suitable for product builds. Building takes longer but libraries are optimized for speed --enable-lto # the crashdump feature. --enable-crashdump # Determines whether to use Gtk+ 3.0 vclplug on platforms where Gtk+ 3.0 is available. --enable-gtk3 # Determines whether to build the OpenGL 3D slide transitions component. --enable-opengl # Determines whether to enable presentation mode screensaver control under GNOME via DBUS. --enable-dbus # Do not use the deprecated gnome-vfs, but use gvfs from gio instead --disable-gnome-vfs --enable-gio # Determines whether to enable Telepathy for collaboration --enable-telepathy # TODO: --enable-gstreamer Enable building with the new gstreamer 1.0 avmedia backend # TODO: –disable-gstreamer-0-10 Disable building the gstreamer avmedia backend # Increase build verbosity --enable-verbose # TODO: --enable-extra-gallery Add extra gallery content. # TODO: --enable-extra-template Add extra template content. # TODO: --enable-extra-sample Add extra sample content. # TODO: --enable-extra-font Add extra font content. # Disable the build of the PostgreSQL-SDBC driver. --disable-postgresql-sdbc # Specify path to tarfiles manually. --with-external-tar="${KX_BASE}/../downloads/${KX_LIBREOFFICE}" # TODO: --without-fonts # LibreOffice includes some third-party fonts to provide a reliable basis for help content, templates, samples, etc. # When these fonts are already known to be available on the system then you should use this option. # Removes Postscript Printer definition files # Already included with CUPS --without-ppds # TODO: --without-afms # Removes bitmap font files from LibreOffice installation set, # for people building for specific distributions where AFM files or TrueType Fonts are known to be available. --with-system-cairo # Removes myspell dictionaries from LibreOffice --without-myspell-dicts # External directories --with-external-dict-dir=/opt/share/hunspell --with-external-hyph-dir=/opt/share/hyphen --with-external-thes-dir=/opt/share/thesaurus # Use installed system libraries and headers # TODO: use system rhino # However, LibreOffice uses an old rhino1_5R5 # and patches heavily: libreoffice-4.0.0.1/rhino/rhino1_5R5*.patch # --with-system-rhino # --with-rhino-jar=/opt/share/java/js.jar --without-junit --without-java
[build LNK] Library/libmysqllo.so S=/home/kaarpux/linux/build/opt/libreoffice-4.0.0.2 && O=$S/solver/unxlngx6.pro && W=$S/workdir/unxlngx6.pro && mkdir -p $W/LinkTarget/Library/ && g++ -shared -Wl,-z,noexecstack -flto -Wl,-z,origin '-Wl,-rpath,$ORIGIN:$ORIGIN/../ure-link/lib' -Wl,-rpath-link,$O/lib -Wl,-z,defs -fuse-linker-plugin -O2 -Wl,-rpath-link,/lib:/usr/lib -Wl,-z,combreloc -L$S/solenv/unxlngx6/lib -L$O/lib -L$S/solenv/unxlngx6/lib -L//lib -Wl,--hash-style=gnu -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo -Wl,-Bsymbolic-functions -Wl,-O1 -Wl,-S $W/CxxObject/connectivity/source/drivers/mysql/YDriver.o $W/CxxObject/connectivity/source/drivers/mysql/YTables.o $W/CxxObject/connectivity/source/drivers/mysql/YTable.o $W/CxxObject/connectivity/source/drivers/mysql/YViews.o $W/CxxObject/connectivity/source/drivers/mysql/YCatalog.o $W/CxxObject/connectivity/source/drivers/mysql/YColumns.o $W/CxxObject/connectivity/source/drivers/mysql/YUser.o $W/CxxObject/connectivity/source/drivers/mysql/YUsers.o $W/CxxObject/connectivity/source/drivers/mysql/Yservices.o -Wl,--start-group -Wl,--end-group -Wl,--no-as-needed -luno_cppu -luno_cppuhelpergcc3 -luno_sal -ldbtoolslo -lcomphelpgcc3 -o $W/LinkTarget/Library/libmysqllo.so /tmp/ccNHldod.ltrans2.ltrans.o:(.data.rel.ro._ZTIN12connectivity21ORowSetValueDecoratorE[_ZTIN12connectivity21ORowSetValueDecoratorE]+0x10): undefined reference to `typeinfo for salhelper::SimpleReferenceObject' collect2: error: ld returned 1 exit status make[2]: *** [/home/kaarpux/linux/build/opt/libreoffice-4.0.0.2/workdir/unxlngx6.pro/LinkTarget/Library/libmysqllo.so] Error 1
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice