Re: Libreoffice build error[for android]
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]
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]
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]
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]
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]
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]
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