Re: Libreoffice build error[for android]

2022-03-06 Thread di liu
That's great ! There is no link error when i execute the command 'make
distclean' and make all dynamic files(.so) used to android.But i think i
should spend more time on makefile to make it clear how does the process
work.

Thank you very much for your help.

Michael Weghorn  于2022年3月4日周五 20:06写道:

>
> On 04/03/2022 12.37, Michael Weghorn wrote:
> > It's not really clear to me what "he green color option" refers to, but
> > if that refers to the change of adding the '--no-check-certificate'
> > option for wget, that should actually be unrelated.
>
> OK, had I enabled HTML rendering for the email, it would have been clear
> that the '--no-check-certificate' option was actually meant, sorry for
> the noise...
>


Re: Libreoffice build error[for android]

2022-03-04 Thread Michael Weghorn



On 04/03/2022 12.37, Michael Weghorn wrote:
It's not really clear to me what "he green color option" refers to, but 
if that refers to the change of adding the '--no-check-certificate' 
option for wget, that should actually be unrelated.


OK, had I enabled HTML rendering for the email, it would have been clear 
that the '--no-check-certificate' option was actually meant, sorry for 
the noise...


Re: Libreoffice build error[for android]

2022-03-04 Thread Michael Weghorn

On 04/03/2022 10.42, di liu wrote:

Thank you for your reply.
 > If you have current git master without any local changes and 'make
 > distclean' and trying again doesn't work

I just modified one file which named "Makefile.fetch" location in root 
dir of libreoffice,But i think this change has nothing to do with this error

below is my change's content
"

ifneq (,$(WGET))
define fetch_Download__wget_command
&& bash -c '$(WGET) --no-check-certificate--progress=dot:mega -Q 0 -P 
"." -l 0 -nd -nH -N --no-use-server-timestamps $1/$2 2>&1 | tee -a 
$(fetch_LOGFILE) && [ $$PIPESTATUS -eq 0 ]'

endef

"
I have added he green color option which used solve certification problem
but I still want to have try with "make distclean"


It's not really clear to me what "he green color option" refers to, but 
if that refers to the change of adding the '--no-check-certificate' 
option for wget, that should actually be unrelated.



I have a another problem:
I have search the undefined method "lo_get_custom_widget_func" and find 
this method is defined dynamic . It's was defined by native-code.py I 
don't know why we're doing this and how it's work
.Could you give me a simple explanation or provide me some documents to 
make it's clear ?


Good point.

I don't know details about this either, but I think the idea is to strip 
down what C++ code to build/include for the mobile apps to reduce the 
size of the library to what's actually needed there.


At last I wonder if I can do that execute "native-code.py" and put the 
result to a new  cpp file and add it to makefile when I still have the 
link error ?


Looking at android/source/Makefile, this is the command used to generate 
the file:


./solenv/bin/native-code.py -j -g core -g writer -g calc -g draw -g 
edit > android/source/native-code.cxx


I have pasted what the output/file looks like for me here:
http://paste.debian.net/1232969/

In case that differs from yours, tracking down what happens inside 
native-code.py might provide insights what's going wrong.




Re: Libreoffice build error[for android]

2022-03-04 Thread di liu
Thank you for your reply.
> If you have current git master without any local changes and 'make
> distclean' and trying again doesn't work

I just modified one file which named "Makefile.fetch" location in root dir
of libreoffice,But i think this change has nothing to do with this error
below is my change's content
"

ifneq (,$(WGET))
define fetch_Download__wget_command
&& bash -c '$(WGET) --no-check-certificate --progress=dot:mega -Q 0 -P
"." -l 0 -nd -nH -N --no-use-server-timestamps $1/$2 2>&1 | tee -a
$(fetch_LOGFILE) && [ $$PIPESTATUS -eq 0 ]'
endef

"
I have added he green color option which used solve certification problem
but I still want to have try with "make distclean"

I have a another problem:
I have search the undefined method "lo_get_custom_widget_func" and find
this method is defined dynamic . It's was defined by native-code.py I don't
know why we're doing this and how it's work
.Could you give me a simple explanation or provide me some documents to
make it's clear ?

At last I wonder if I can do that execute "native-code.py" and put the
result to a new  cpp file and add it to makefile when I still have the link
error ?

thank you very much

Michael Weghorn  于2022年3月4日周五 15:02写道:

>
> Hi,
>
> On 03/03/2022 16.08, di liu wrote:
> > the build environment is linux(centos 7) which installed in vmware (my
> > host system is macOS) this is my autogen.input content
> > --with-distro=LibreOfficeAndroid
> > --with-android-sdk=/home/disco/Documents/dev_env/android_sdk
> >
> --with-android-ndk=/home/disco/Documents/dev_env/android_sdk/ndk/20.1.5948944
>
> > --with-ant-home=/home/disco/Documents/dev_env/apache-ant-1.10.12
>
> I tried a build with an equivalent autogen.input on Debian testing:
>
>  --with-distro=LibreOfficeAndroid
>  --with-android-sdk=/home/michi/Android/Sdk
>  --with-android-ndk=/home/michi/Android/Sdk/ndk/20.1.5948944
>  --with-external-tar=/home/michi/development/libreoffice-external
>
> which worked fine with master (as of commit
> 0a774bae7d402a6880760b1226a6741604e23f5a).
>
>
> > everything is ok when execute: ./autogen.sh But when I execute: make the
> > error is happened:
> >
> > [...]
> > Linking
> >
>  
> /home/disco/Documents/res/libreoffice/android/obj/local/armeabi-v7a/liblo-native-code.so
> >
>  
> /home/disco/Documents/res/libreoffice/instdir/program/libuno_cppuhelpergcc3.a(shlib.o):shlib.cxx:function
> > cppuhelper::detail::loadSharedLibComponentFactory(rtl::OUString
> > const&, rtl::OUString const&, rtl::OUString const&, rtl::OUString
> > const&, rtl::OUString const&,
> >
>  com::sun::star::uno::Reference
> > const&, std::__ndk1::function > (com::sun::star::uno::XComponentContext*,
> > com::sun::star::uno::Sequence const&)>*,
> > com::sun::star::uno::Reference*):
> > error: undefined reference to 'lo_get_constructor_map'
> >
>  
> /home/disco/Documents/res/libreoffice/instdir/program/libuno_cppuhelpergcc3.a(shlib.o):shlib.cxx:function
> > cppuhelper::detail::loadSharedLibComponentFactory(rtl::OUString
> > const&, rtl::OUString const&, rtl::OUString const&, rtl::OUString
> > const&, rtl::OUString const&,
> >
>  com::sun::star::uno::Reference
> > const&, std::__ndk1::function > (com::sun::star::uno::XComponentContext*,
> > com::sun::star::uno::Sequence const&)>*,
> > com::sun::star::uno::Reference*):
> > error: undefined reference to 'lo_get_factory_map'
> > [...] >
> > Could you give me some suggestions
>
> If you have current git master without any local changes and 'make
> distclean' and trying again doesn't work, you could try using a
> different version of the Android NDK, or use LLD as linker instead of
> ld.gold by applying the demo patch at
> https://gerrit.libreoffice.org/c/core/+/130947 and switching to a newer
> NDK; a build here worked with that Gerrit change in place and an
> autogen.input containing this:
>
>  --with-distro=LibreOfficeAndroid
>  --with-android-ndk=/home/michi/Android/Sdk/ndk/22.1.7171670/
>  --with-android-sdk=/home/michi/Android/Sdk
>  --with-external-tar=/home/michi/development/libreoffice-external
>
> (At least my experience in the past was that it was a bit tricky to find
> a combination of Android NDK and linker that would work depending on
> architecture and whether this was a release or debug build. But the
> problems I encountered back then were more "fundamental" than the
> "undefined reference" issue you're encountering. Maybe all of the issues
> I had two years ago or so are fixed in newer versions of the toolchain,
> but so far I just stayed with what was working back then...)
>


Re: Libreoffice build error[for android]

2022-03-04 Thread Michael Weghorn



Hi,

On 03/03/2022 16.08, di liu wrote:
the build environment is linux(centos 7) which installed in vmware (my 
host system is macOS) this is my autogen.input content 
--with-distro=LibreOfficeAndroid 
--with-android-sdk=/home/disco/Documents/dev_env/android_sdk 
--with-android-ndk=/home/disco/Documents/dev_env/android_sdk/ndk/20.1.5948944 
--with-ant-home=/home/disco/Documents/dev_env/apache-ant-1.10.12 


I tried a build with an equivalent autogen.input on Debian testing:

--with-distro=LibreOfficeAndroid
--with-android-sdk=/home/michi/Android/Sdk
--with-android-ndk=/home/michi/Android/Sdk/ndk/20.1.5948944
--with-external-tar=/home/michi/development/libreoffice-external

which worked fine with master (as of commit 
0a774bae7d402a6880760b1226a6741604e23f5a).



everything is ok when execute: ./autogen.sh But when I execute: make the 
error is happened:


[...]
Linking

/home/disco/Documents/res/libreoffice/android/obj/local/armeabi-v7a/liblo-native-code.so

/home/disco/Documents/res/libreoffice/instdir/program/libuno_cppuhelpergcc3.a(shlib.o):shlib.cxx:function
cppuhelper::detail::loadSharedLibComponentFactory(rtl::OUString
const&, rtl::OUString const&, rtl::OUString const&, rtl::OUString
const&, rtl::OUString const&,
com::sun::star::uno::Reference
const&, std::__ndk1::function const&)>*,
com::sun::star::uno::Reference*):
error: undefined reference to 'lo_get_constructor_map'

/home/disco/Documents/res/libreoffice/instdir/program/libuno_cppuhelpergcc3.a(shlib.o):shlib.cxx:function
cppuhelper::detail::loadSharedLibComponentFactory(rtl::OUString
const&, rtl::OUString const&, rtl::OUString const&, rtl::OUString
const&, rtl::OUString const&,
com::sun::star::uno::Reference
const&, std::__ndk1::function const&)>*,
com::sun::star::uno::Reference*):
error: undefined reference to 'lo_get_factory_map'
[...] >
Could you give me some suggestions


If you have current git master without any local changes and 'make 
distclean' and trying again doesn't work, you could try using a 
different version of the Android NDK, or use LLD as linker instead of 
ld.gold by applying the demo patch at 
https://gerrit.libreoffice.org/c/core/+/130947 and switching to a newer 
NDK; a build here worked with that Gerrit change in place and an 
autogen.input containing this:


--with-distro=LibreOfficeAndroid
--with-android-ndk=/home/michi/Android/Sdk/ndk/22.1.7171670/
--with-android-sdk=/home/michi/Android/Sdk
--with-external-tar=/home/michi/development/libreoffice-external

(At least my experience in the past was that it was a bit tricky to find 
a combination of Android NDK and linker that would work depending on 
architecture and whether this was a release or debug build. But the 
problems I encountered back then were more "fundamental" than the 
"undefined reference" issue you're encountering. Maybe all of the issues 
I had two years ago or so are fixed in newer versions of the toolchain, 
but so far I just stayed with what was working back then...)


Re: Libreoffice build error[for android]

2022-03-03 Thread di liu
the build environment is linux(centos 7) which installed in vmware (my host
system is macOS) this is my autogen.input content
--with-distro=LibreOfficeAndroid
--with-android-sdk=/home/disco/Documents/dev_env/android_sdk
--with-android-ndk=/home/disco/Documents/dev_env/android_sdk/ndk/20.1.5948944
--with-ant-home=/home/disco/Documents/dev_env/apache-ant-1.10.12 everything
is ok when execute: ./autogen.sh But when I execute: make the error is
happened:

di liu  于2022年3月3日周四 18:50写道:

> Hi,
> There has a link error when I build Libreoffice for android(
> https://wiki.documentfoundation.org/Development/BuildingForAndroid)
>
> below is the error message
>
> [build ALL] All modules but instset: chart2 canvas cppcanvas dbaccess
> accessibility winaccessibility UnoControls animations apple_remote avmedia
> basctl basegfx basic bean binaryurp bridges cli_ure codemaker comphelper
> configmgr connectivity cppu cppuhelper cpputools cui desktop drawinglayer
> editeng embeddedobj embedserv emfio eventattacher extensions external
> beanshell boost box2d cairo coinmp cuckoo curl dragonbox dtoa epoxy expat
> fontconfig freetype glm graphite harfbuzz hsqldb hunspell hyphen icu lcms2
> libabw libcdr libcmis libebook libepubgen libetonyek libexttextcat
> libfreehand libjpeg-turbo liblangtag libmspub libmwaw libnumbertext
> libodfgen liborcus libpagemaker libpng libqxp librevenge libstaroffice
> libvisio libwebp libwpd libwpg libwps libxml2 libxslt libzmf mdds
> more_fonts mythes nss openssl pdfium redland rhino ucpp xmlsec zxing extras
> filter forms formula framework hwpfilter i18nlangtag i18npool i18nutil idl
> io javaunohelper jurt jvmaccess jvmfwk libreofficekit lingucomponent
> linguistic lotuswordpro o3tl offapi officecfg onlineupdate oovbaapi oox
> package pch postprocess readlicense_oo registry remotebridges reportbuilder
> reportdesign ridljar sal salhelper sax sc scaddins sccomp scripting sd
> sdext sfx2 shell slideshow smoketest solenv soltools sot starmath stoc
> store svgio svl svtools svx sw swext sysui test testtools toolkit tools ucb
> ucbhelper udkapi unodevtools unoidl unoil unotest unotools unoxml ure uui
> vbahelper vcl wizards writerfilter writerperfect xmerge xmloff xmlreader
> xmlscript xmlsecurity
> [build MAK] CustomTarget/android/source/done
> Linking
> /home/disco/Documents/res/libreoffice/android/obj/local/armeabi-v7a/liblo-native-code.so
> /home/disco/Documents/res/libreoffice/instdir/program/libuno_cppuhelpergcc3.a(shlib.o):shlib.cxx:function
> cppuhelper::detail::loadSharedLibComponentFactory(rtl::OUString const&,
> rtl::OUString const&, rtl::OUString const&, rtl::OUString const&,
> rtl::OUString const&,
> com::sun::star::uno::Reference
> const&, std::__ndk1::function (com::sun::star::uno::XComponentContext*,
> com::sun::star::uno::Sequence const&)>*,
> com::sun::star::uno::Reference*): error:
> undefined reference to 'lo_get_constructor_map'
> /home/disco/Documents/res/libreoffice/instdir/program/libuno_cppuhelpergcc3.a(shlib.o):shlib.cxx:function
> cppuhelper::detail::loadSharedLibComponentFactory(rtl::OUString const&,
> rtl::OUString const&, rtl::OUString const&, rtl::OUString const&,
> rtl::OUString const&,
> com::sun::star::uno::Reference
> const&, std::__ndk1::function (com::sun::star::uno::XComponentContext*,
> com::sun::star::uno::Sequence const&)>*,
> com::sun::star::uno::Reference*): error:
> undefined reference to 'lo_get_factory_map'
> /home/disco/Documents/res/libreoffice/instdir/program/libvcllo.a(builder.o):builder.cxx:function
> (anonymous namespace)::GetCustomMakeWidget(rtl::OString const&): error:
> undefined reference to 'lo_get_custom_widget_func'
> clang++: error: linker command failed with exit code 1 (use -v to see
> invocation)
> make[2]: ***
> [/home/disco/Documents/res/libreoffice/android/obj/local/armeabi-v7a/liblo-native-code.so]
> Error 1
> make[1]: ***
> [/home/disco/Documents/res/libreoffice/workdir/CustomTarget/android/source/done]
> Error 2
> make: *** [build] Error 2
>
> Could you give me some suggestions
> tsk
>
>


Libreoffice build error[for android]

2022-03-03 Thread di liu
Hi,
There has a link error when I build Libreoffice for android(
https://wiki.documentfoundation.org/Development/BuildingForAndroid)

below is the error message

[build ALL] All modules but instset: chart2 canvas cppcanvas dbaccess
accessibility winaccessibility UnoControls animations apple_remote avmedia
basctl basegfx basic bean binaryurp bridges cli_ure codemaker comphelper
configmgr connectivity cppu cppuhelper cpputools cui desktop drawinglayer
editeng embeddedobj embedserv emfio eventattacher extensions external
beanshell boost box2d cairo coinmp cuckoo curl dragonbox dtoa epoxy expat
fontconfig freetype glm graphite harfbuzz hsqldb hunspell hyphen icu lcms2
libabw libcdr libcmis libebook libepubgen libetonyek libexttextcat
libfreehand libjpeg-turbo liblangtag libmspub libmwaw libnumbertext
libodfgen liborcus libpagemaker libpng libqxp librevenge libstaroffice
libvisio libwebp libwpd libwpg libwps libxml2 libxslt libzmf mdds
more_fonts mythes nss openssl pdfium redland rhino ucpp xmlsec zxing extras
filter forms formula framework hwpfilter i18nlangtag i18npool i18nutil idl
io javaunohelper jurt jvmaccess jvmfwk libreofficekit lingucomponent
linguistic lotuswordpro o3tl offapi officecfg onlineupdate oovbaapi oox
package pch postprocess readlicense_oo registry remotebridges reportbuilder
reportdesign ridljar sal salhelper sax sc scaddins sccomp scripting sd
sdext sfx2 shell slideshow smoketest solenv soltools sot starmath stoc
store svgio svl svtools svx sw swext sysui test testtools toolkit tools ucb
ucbhelper udkapi unodevtools unoidl unoil unotest unotools unoxml ure uui
vbahelper vcl wizards writerfilter writerperfect xmerge xmloff xmlreader
xmlscript xmlsecurity
[build MAK] CustomTarget/android/source/done
Linking
/home/disco/Documents/res/libreoffice/android/obj/local/armeabi-v7a/liblo-native-code.so
/home/disco/Documents/res/libreoffice/instdir/program/libuno_cppuhelpergcc3.a(shlib.o):shlib.cxx:function
cppuhelper::detail::loadSharedLibComponentFactory(rtl::OUString const&,
rtl::OUString const&, rtl::OUString const&, rtl::OUString const&,
rtl::OUString const&,
com::sun::star::uno::Reference
const&, std::__ndk1::function const&)>*,
com::sun::star::uno::Reference*): error:
undefined reference to 'lo_get_constructor_map'
/home/disco/Documents/res/libreoffice/instdir/program/libuno_cppuhelpergcc3.a(shlib.o):shlib.cxx:function
cppuhelper::detail::loadSharedLibComponentFactory(rtl::OUString const&,
rtl::OUString const&, rtl::OUString const&, rtl::OUString const&,
rtl::OUString const&,
com::sun::star::uno::Reference
const&, std::__ndk1::function const&)>*,
com::sun::star::uno::Reference*): error:
undefined reference to 'lo_get_factory_map'
/home/disco/Documents/res/libreoffice/instdir/program/libvcllo.a(builder.o):builder.cxx:function
(anonymous namespace)::GetCustomMakeWidget(rtl::OString const&): error:
undefined reference to 'lo_get_custom_widget_func'
clang++: error: linker command failed with exit code 1 (use -v to see
invocation)
make[2]: ***
[/home/disco/Documents/res/libreoffice/android/obj/local/armeabi-v7a/liblo-native-code.so]
Error 1
make[1]: ***
[/home/disco/Documents/res/libreoffice/workdir/CustomTarget/android/source/done]
Error 2
make: *** [build] Error 2

Could you give me some suggestions
tsk