You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openoffice.apache.org by Damjan Jovanovic <da...@apache.org> on 2015/09/13 15:37:30 UTC

32-bit Xubuntu 14.04 build broken

Hi

I have been trying to get my Google Test patches working on other
platforms, but cannot even get the first of those platforms to compile
the unpatched AOO SVN :-(.

=============================
1. CoinMP cannot be downloaded
=============================

No Ubuntu package (or is there?) so it has to be downloaded during
./bootstrap, but it seems the website has been down for a few days
now. This prevents the use of --enable-category-b, but we can proceed
by leaving that option out.

===================================================
2. main/svl  fails to link due to missing __stack_chk_fail symbol
===================================================

This is a total mystery, reproducible in both VirtualBox and in a
separate instance on bare metal:

./configure --with-dmake-url=http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.tar.bz2
--with-epm-url=http://www.msweet.org/files/project2/epm-3.7-source.tar.gz
--enable-dbus --enable-cairo --enable-lockdown --enable-opengl
--enable-verbose --enable-symbols --enable-dbgutil
--with-package-format=installed --with-system-zlib --with-system-cairo
--with-system-nss --with-system-jpeg --with-system-openssl
--with-system-curl --with-system-python --with-system-libxml
--with-system-libxslt --with-system-expat --disable-coinmp
--enable-graphite --enable-hyphen --enable-saxon --enable-javascript
--enable-graphite --enable-category-b-fonts

R=/AOO && S=$R/main && O=$S/solver/420/unxlngi6 && W=$O/workdir &&
mkdir -p $W/LinkTarget/Library/ && g++ -shared -Wl,-z,noexecstack
'-Wl,-rpath,$ORIGIN:$ORIGIN/../ure-link/lib' '-Wl,-rpath-link,$O/lib'
-Wl,-rpath-link,/lib:/usr/lib -Wl,-z,combreloc -Wl,-z,defs
-L$S/solenv/unxlngi6/lib -L$O/lib -L$S/solenv/unxlngi6/lib
-L/usr/lib/jvm/java-7-openjdk-i386/lib
-L/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386
-L/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client
-L/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/native_threads
-L/usr/lib/i386-linux-gnu  -Wl,--hash-style=both
-Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo
-Wl,-Bsymbolic-functions
$W/CxxObject/svl/source/passwordcontainer/passwordcontainer.o
$W/CxxObject/svl/source/passwordcontainer/syscreds.o  -luno_cppu
-luno_cppuhelpergcc3 -luno_sal -lstdc++ -lucbhelper4gcc3 -lutl
-Wl,--start-group  -Wl,--end-group -o
$W/LinkTarget/Library/passwordcontainer.uno.so
/usr/lib/i386-linux-gnu/libc_nonshared.a(stack_chk_fail_local.oS): In
function `__stack_chk_fail_local':
(.text+0x10): undefined reference to `__stack_chk_fail'
collect2: error: ld returned 1 exit status
make: *** [/AOO/main/solver/420/unxlngi6/workdir/LinkTarget/Library/passwordcontainer.uno.so]
Error 1
dmake:  Error code 2, while making 'all'
ERROR: error 65280 occurred while making /AOO/main/svl/prj

I saw that __stack_chk_fail is defined in
/lib/i386-linux-gnu/libc.so.6, and when I tried to run that link
command with "-lc" added to it, it worked and the build completed. But
why? Everything should link to libc by default, and -nostdlib isn't
specified.

Not happy with this situation, I proceeded to look at how other people
compiled AOO on Ubuntu, and that led me to this problem instead:

============================
3. Internal libxslt doesn't compile
============================

Trying this from https://bz.apache.org/ooo/show_bug.cgi?id=124712#c25
adjusted to leave out category B due to the CoinMP problem, and
manually adding other category B options instead:

./configure --with-dmake-url=http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.tar.bz2
--with-epm-url=http://www.msweet.org/files/project2/epm-3.7-source.tar.gz
--disable-odk --enable-bundled-dictionaries --without-junit
--without-stlport --enable-hunspell --enable-hyphen --enable-saxon
--enable-javascript --enable-graphite --enable-category-b-fonts
--disable-coinmp --with-system-stdlibs --with-package-format=installed

/bin/bash ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.
-I.. -I.. -I../libxslt -I/usr/include/libxml2
-I/AOO/main/solver/420/unxlngi6.pro/inc/external    -g -O2 -Wall -MT
xsltutils.lo -MD -MP -MF .deps/xsltutils.Tpo -c -o xsltutils.lo
xsltutils.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../libxslt
-I/usr/include/libxml2
-I/AOO/main/solver/420/unxlngi6.pro/inc/external -g -O2 -Wall -MT
xsltutils.lo -MD -MP -MF .deps/xsltutils.Tpo -c xsltutils.c  -fPIC
-DPIC -o .libs/xsltutils.o
xsltutils.c: In function 'xsltSaveResultTo':
xsltutils.c:1541:3: warning: passing argument 1 of
'xmlBufferWriteQuotedString' from incompatible pointer type [enabled
by default]
   xmlBufferWriteQuotedString(buf->buffer, result->version);
   ^
In file included from /usr/include/libxml2/libxml/parser.h:16:0,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from xsltutils.c:33:
/usr/include/libxml2/libxml/tree.h:1123:3: note: expected
'xmlBufferPtr' but argument is of type 'xmlBufPtr'
   xmlBufferWriteQuotedString(xmlBufferPtr buf,
   ^
xsltutils.c:1554:3: warning: passing argument 1 of
'xmlBufferWriteQuotedString' from incompatible pointer type [enabled
by default]
   xmlBufferWriteQuotedString(buf->buffer, (xmlChar *) encoding);
   ^
In file included from /usr/include/libxml2/libxml/parser.h:16:0,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from xsltutils.c:33:
/usr/include/libxml2/libxml/tree.h:1123:3: note: expected
'xmlBufferPtr' but argument is of type 'xmlBufPtr'
   xmlBufferWriteQuotedString(xmlBufferPtr buf,
   ^
xsltutils.c: In function 'xsltSaveResultToString':
xsltutils.c:1758:26: error: dereferencing pointer to incomplete type
  *doc_txt_len = buf->conv->use;
                          ^
xsltutils.c:1759:37: error: dereferencing pointer to incomplete type
  *doc_txt_ptr = xmlStrndup(buf->conv->content, *doc_txt_len);
                                     ^
xsltutils.c:1761:28: error: dereferencing pointer to incomplete type
  *doc_txt_len = buf->buffer->use;
                            ^
xsltutils.c:1762:39: error: dereferencing pointer to incomplete type
  *doc_txt_ptr = xmlStrndup(buf->buffer->content, *doc_txt_len);
                                       ^
make[2]: *** [xsltutils.lo] Error 1
make[2]: Leaving directory
`/AOO/main/libxslt/unxlngi6.pro/misc/build/libxslt-1.1.26/libxslt'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/AOO/main/libxslt/unxlngi6.pro/misc/build/libxslt-1.1.26'
make: *** [all] Error 2
dmake:  Error code 2, while making
'./unxlngi6.pro/misc/build/so_built_so_libxslt'

Maybe it's because it mentions /usr/include/libxml2, even though both
libxml2 and libxslt are supposed to be built internally?

How do you guys compile AOO on 32-bit Ubuntu 14.04?

Thank you
Damjan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
For additional commands, e-mail: dev-help@openoffice.apache.org


Re: 32-bit Xubuntu 14.04 build broken

Posted by Andrea Pescetti <pe...@apache.org>.
On 13/09/2015 Damjan Jovanovic wrote:
> =============================
> 1. CoinMP cannot be downloaded
> =============================
>
> No Ubuntu package (or is there?) so it has to be downloaded during
> ./bootstrap, but it seems the website has been down for a few days
> now. This prevents the use of --enable-category-b, but we can proceed
> by leaving that option out.

I bumped into this too, last week, but I didn't have time to check and 
analyze back at the time. It is a bug in the sense that we do not want 
to depend on third-party sites for a successful build. So when we 
include an external library we copy it either to our SVN tree in
http://svn.apache.org/viewvc/openoffice/trunk/ext_sources/
(rare; licensing concerns apply too, since we prefer to avoid 
restrictive licensing there)
or to OOO_EXTRAS, a repository controlled by the project.

This is why you see URL1 and URL2 in
http://svn.apache.org/viewvc/openoffice/trunk/main/external_deps.lst?view=markup

There should always be a URL linking to $(OOO_EXTRAS)$(MD5)-$(name) to 
avoid the situation that just happened.

Note that OOO_EXTRAS changed URL since we were using Google Code but the 
service was shut down. Trunk has the right URL now.

I opened two issues to clean up stuff on trunk and AOO410 (we have 
different external libraries):
https://bz.apache.org/ooo/show_bug.cgi?id=126540
https://bz.apache.org/ooo/show_bug.cgi?id=126541

I'll come back to your other (mostly unrelated) issues when this is 
fixed and when I have an Ubuntu 14.04 system available (I'll try to get 
a 32-bit one).

Regards,
   Andrea.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
For additional commands, e-mail: dev-help@openoffice.apache.org