[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Porting libreoffice to riscv64 arch


Am 13. Mai 2022 08:26:10 MESZ schrieb Bo YU <tsu.yubo@gmail.com>: 
>Oh, Opps, my bad, sorry again. The key informations is missing in the log file:
>* WARNING : OpenSSL has been disabled. No code compiled here will make use of it but system libraries may create indirect dependencies
>PATH=/<<PKGBUILDDIR>>/debian/usr/bin:/<<PKGBUILDDIR>>/debian/usr/bin:$PATH LD_LIBRARY_PATH= ARCH_FLAGS= TMP=`mktemp -q -d` /usr/bin/make build-non-l10n-only
>make[2]: Entering directory '/<<PKGBUILDDIR>>'
>Automatic fetching of external tarballs is disabled.
>mkdir -p /<<PKGBUILDDIR>>/instdir
>/<<PKGBUILDDIR>>/solenv/bin/install-gdb-printers -a /<<PKGBUILDDIR>>/instdir -c
>/usr/bin/make -j 16  -r -f /<<PKGBUILDDIR>>/Makefile.gbuild   build-non-l10n-only
>make[3]: Entering directory '/<<PKGBUILDDIR>>'
>/<<PKGBUILDDIR>>/solenv/gbuild/UnoApiTarget.mk:127: *** gb_UnoApiHeadersTarget_select_variant must be defined by platform.  Stop.
>make[3]: Leaving directory '/<<PKGBUILDDIR>>'
>make[2]: *** [Makefile:276: build] Error 2
>make[2]: Leaving directory '/<<PKGBUILDDIR>>'
>make[1]: *** [/<<PKGBUILDDIR>>/debian/rules:2081: debian/stampdir/build-arch] Error 2
>make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>make: *** [debian/rules:2072: build] Error 2
>dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
>Build finished at 2022-05-12T11:13:41Z
>It hints the gb_UnoApiHeadersTarget_select_variant should be defined on this platform.

Ah, that one is easy.

>Should I disable it?

Of course not? That's an essential part of the build...

https://cgit.freedesktop.org/libreoffice/core/tree/solenv/gbuild/UnoApiTarget.mk#n94 is where it is used.

That needs to be set somewhere. "on this platform" in the error message already suggests it is a platform definition. See https://cgit.freedesktop.org/libreoffice/core/tree/solenv/gbuild/platform

And then if you look at e.g. aarch64 it just includes the generic Linux and that one includes generic "unix GCC". That one does define it:

Long story short: copy the aarch64 platform definition to a new riscv64 one matching the id you set (here probably LINUX_RISCV64_GCC.mk).

LOs "gbuild" is a *load of make files, make functions etc. so in cases like this you need to find out where stuff is defined/ran from...



Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

Reply to: