Re: [Libreoffice] gcc/g++ compilation issue in desktop/splash
On Sun, 2011-09-04 at 15:15 -0400, Kevin Hunter wrote: I went ahead and did that with no love. For reference: $ ldd sal/unxlngx6/lib/libuno_sal.so | grep stdc libstdc++.so.6 = /usr/local/lib64/libstdc++.so.6 (0x7f122c7cb000) Sure sure, but when you actually end up with an install set you get a copy of libstdc++.so.6 placed beside libuno_sal.so where the rpath $ORIGIN stuff picks up the copy. And/or during the build LD_LIBRARY_PATH is used to change the link path, so running ldd like above doesn't give the same results as what would happen when you run something using libuno_sal.so e.g. [caolan@Nom core]$ ldd install/ure/lib/libuno_sal.so.3 libstdc++.so.6 = /home/caolan/LibreOffice/core/install/ure/lib/libstdc ++.so.6 (0x7fc9fa177000) libgcc_s.so.1 = /home/caolan/LibreOffice/core/install/ure/lib/libgcc_s.so.1 i.e. my copy of libstdc++.so.6 is the one that will get used when I run the final binaries. That's why I'm plinking around the issue of the libstdc++.so.6 which gets copied/created by the external module to see if the libstdc++.so.6 that's in there is the right one. You could play around with LD_DEBUG=man-page-options and see if that gives anything useful. Have others had any issues compiling LO with GCC 4.6? It's frustrating and telling that I'm the only one noticing it. Nope, I build with it all the time. However my gcc 4.6 and stdc++ are the system ones, and not in /usr/local/somewhere C. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] gcc/g++ compilation issue in desktop/splash
At 5:23am -0400 Thu, 25 Aug 2011, Caolán McNamara wrote: On Wed, 2011-08-24 at 18:06 +0100, Michael Meeks wrote: But then again, it links to libstdc++ ... libstdc++.so.6 = /usr/lib/libstdc++.so.6 (0xb7658000) ... There was a mention of a /usr/local/bin/g++, which makes me wonder about mismatching libstdc++.so.X. To humour me, what about... rm -rf external/*/lib/* rm -rf solver/*/*/lib/libstdc++* rm -rf solver/*/*/lib/libgcc_s.so* I went ahead and did that with no love. For reference: $ ldd sal/unxlngx6/lib/libuno_sal.so | grep stdc libstdc++.so.6 = /usr/local/lib64/libstdc++.so.6 (0x7f122c7cb000) At my novice gcc level, my research suggests it's to do with including libstdc++ in the build command. I still don't know exactly why the compilation fails with GCC v4.6 (compiled three weeks ago) yet doesn't with GCC v4.4, but I can fix it one of two ways: - $ hash -r $ which gcc g++; gcc --version | head -1; g++ --version | head -1 /usr/local/bin/gcc /usr/local/bin/g++ gcc (GCC) 4.6.1 g++ (GCC) 4.6.1 # fails $ gcc -o .../oosplash [...] # works; rest of build can now finish successfully $ gcc -o .../oosplash [...] -lstdc++ or $ g++ -o .../oosplash [...] - Have others had any issues compiling LO with GCC 4.6? It's frustrating and telling that I'm the only one noticing it. What voodoo have I overlooked? Thanks, Kevin ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] gcc/g++ compilation issue in desktop/splash
On Wed, 2011-08-24 at 18:06 +0100, Michael Meeks wrote: But then again, it links to libstdc++ ... libstdc++.so.6 = /usr/lib/libstdc++.so.6 (0xb7658000) ... There was a mention of a /usr/local/bin/g++, which makes me wonder about mismatching libstdc++.so.X. To humour me, what about... rm -rf external/*/lib/* rm -rf solver/*/*/lib/libstdc++* rm -rf solver/*/*/lib/libgcc_s.so* C. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] gcc/g++ compilation issue in desktop/splash
Hi Kevin, Sorry for the delayed reply ... On Mon, 2011-08-22 at 12:08 -0400, Kevin Hunter wrote: I haven't seen a fix go by, and have seen nothing mentioned on the list regarding building the splash part of desktop, but I'm having an issue that appears to be solved by switching to g++ instead of gcc: Hmm - I don't really understand that I must confess. Making:oosplash ccache /usr/local/bin/gcc -Wl,-z,noexecstack -Wl,-z,combreloc .. /home/kevin/devel/libreoffice/solver/350/unxlngx6/lib/libuno_sal.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15' collect2: ld returned 1 exit status dmake: Error code 1, while making '../../unxlngx6/bin/oosplash' So - I have: /opt/icecream/bin/gcc -Wl,-z,noexecstack -Wl,-z,combreloc -Wl,-z,defs -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo -Wl,--hash-style=gnu -Wl,-rpath,'$ORIGIN:$ORIGIN/../basis-link/program: $ORIGIN/../basis-link/ure-link/lib',--enable-new-dtags -Wl,-export-dynamic -Wl,-rpath-link,../../unxlngi6.pro/lib:/data/opt/libreoffice/core/solver/350/unxlngi6.pro/lib:/lib:/usr/lib -L../../unxlngi6.pro/lib -L../lib -L/data/opt/libreoffice/core/solenv/unxlngi6/lib -L/data/opt/libreoffice/core/solver/350/unxlngi6.pro/lib -L/data/opt/libreoffice/core/solenv/unxlngi6/lib ../../unxlngi6.pro/obj/splashx.o ./../unxlngi6.pro/obj/start.o ../../unxlngi6.pro/obj/args.o ./../unxlngi6.pro/obj/pagein.o ../../unxlngi6.pro/obj/file_image_unx.o -lpthread -Wl,--as-needed -lXext -lX11 -Wl,--no-as-needed -luno_sal -lpng14 -lXinerama -o ../../unxlngi6.pro/bin/oosplash Which works fine here at least. And I have no list_node_base related symbol at all exported from libuno_sal.so - odd. By executing that line manually and switching to /usr/local/bin/g++ the compile is successful. And that point I can restart the build and LO finishes with a successful build. Which is indeed odd. It looks like the source of those files is C, but the libuno_sal is a .cpp file. I'm not clear on the linking rules bewteen the C and CPP, but given that no one else is having this issue, is there something else that I'm missing? So - libuno_sal is a C++ library, certainly - but surely we should be able to link it without any magic. I wonder what changed there ? libuno_sal.so - clearly does have a number of C++ exports it requires (objdump -T shows): DF *UND* GLIBCXX_3.4 _ZSt20__throw_length_errorPKc But then again, it links to libstdc++ $ ldd ../sal/unxlngi6.pro/lib/libuno_sal.so linux-gate.so.1 = (0xe000) libdl.so.2 = /lib/libdl.so.2 (0xb7762000) libpthread.so.0 = /lib/libpthread.so.0 (0xb7747000) libstdc++.so.6 = /usr/lib/libstdc++.so.6 (0xb7658000) libm.so.6 = /lib/libm.so.6 (0xb762e000) libgcc_s.so.1 = /lib/libgcc_s.so.1 (0xb760f000) libc.so.6 = /lib/libc.so.6 (0xb74a2000) /lib/ld-linux.so.2 (0xb77db000) $ objdump -T /usr/lib/libstdc++.so.6 | grep _ZSt20__throw_length_errorPKc 00055890 gDF .text 00d5 GLIBCXX_3.4 _ZSt20__throw_length_errorPKc At least for me ... Can you do some more investigation of which symbol is missing from where ? of course, failing that we can do some horror of a rename in there, or perhaps poking at removing things like: desktop/unx/source/makefile.mk: APP1CODETYPE = C might help - but ... ideally we want as little junk in the splash app as humanly possible; it'd be most ideal not to link sal at all IMHO but ... ;-) its more work to avoid it. Thanks, Michael. -- michael.me...@novell.com , Pseudo Engineer, itinerant idiot ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: [Libreoffice] gcc/g++ compilation issue in desktop/splash
At 10:06am -0700 Wed, 24 Aug 2011, Michael Meeks wrote: Can you do some more investigation of which symbol is missing from where ? of course, failing that we can do some horror of a rename in there, or perhaps poking at removing things like: desktop/unx/source/makefile.mk: APP1CODETYPE = C might help - but ... ideally we want as little junk in the splash app as humanly possible; it'd be most ideal not to link sal at all IMHO but ... ;-) its more work to avoid it. Absolutely. Alright ... given your message, I'm wondering if there is an interplay with the fact that my build is ... --enable-dbgutil \ --enable-debug \ --enable-symbols \ ... Message received; no one quite knows what the issue is. I'll dive into it. Cheers, Kevin ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[Libreoffice] gcc/g++ compilation issue in desktop/splash
Hi Folks, I haven't seen a fix go by, and have seen nothing mentioned on the list regarding building the splash part of desktop, but I'm having an issue that appears to be solved by switching to g++ instead of gcc: - $ cd desktop $ build [...snip...] Entering /home/kevin/devel/libreoffice/desktop/unx/source Making:oosplash ccache /usr/local/bin/gcc -Wl,-z,noexecstack -Wl,-z,combreloc -Wl,-z,defs -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo -Wl,--hash-style=gnu -g -g -Wl,-rpath,'$ORIGIN:$ORIGIN/../basis-link/program:$ORIGIN/../basis-link/ure-link/lib',--enable-new-dtags -Wl,-export-dynamic -Wl,-rpath-link,../../unxlngx6/lib:/home/kevin/devel/libreoffice/solver/350/unxlngx6/lib:/lib:/usr/lib -L../../unxlngx6/lib -L../lib -L/home/kevin/devel/libreoffice/solenv/unxlngx6/lib -L/home/kevin/devel/libreoffice/solver/350/unxlngx6/lib -L/home/kevin/devel/libreoffice/solenv/unxlngx6/lib ../../unxlngx6/obj/splashx.o ../../unxlngx6/obj/start.o ../../unxlngx6/obj/args.o ../../unxlngx6/obj/pagein.o ../../unxlngx6/obj/file_image_unx.o \ -lpthread -Wl,--as-needed -lXext -lX11 -Wl,--no-as-needed -luno_sal -lpng12 -lXinerama -o ../../unxlngx6/bin/oosplash /home/kevin/devel/libreoffice/solver/350/unxlngx6/lib/libuno_sal.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15' collect2: ld returned 1 exit status dmake: Error code 1, while making '../../unxlngx6/bin/oosplash' - By executing that line manually and switching to /usr/local/bin/g++ the compile is successful. And that point I can restart the build and LO finishes with a successful build. It looks like the source of those files is C, but the libuno_sal is a .cpp file. I'm not clear on the linking rules bewteen the C and CPP, but given that no one else is having this issue, is there something else that I'm missing? Thanks, Kevin ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice