Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARM / ARM64 compilation issues #470

Open
1 task done
bill88t opened this issue May 14, 2022 · 93 comments
Open
1 task done

ARM / ARM64 compilation issues #470

bill88t opened this issue May 14, 2022 · 93 comments
Labels
confirmed-bug Issues with confirmed bugs

Comments

@bill88t
Copy link

bill88t commented May 14, 2022

This issue is unique.

  • I have used the search tool and did not find an issue describing my bug.

Operating System

Linux

Version information

7.1.0

Expected Behavior

Compile

Actual Behavior

Updating depot_tools...
[email protected]_bin/python3/bin/python3: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by [email protected]_bin/python3/bin/python3)
[email protected]_bin/python3/bin/python3: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.26' not found (required by [email protected]_bin/python3/bin/python3)
[email protected]_bin/python3/bin/python3: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.27' not found (required by [email protected]_bin/python3/bin/python3)
[email protected]_bin/python3/bin/python3: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by [email protected]_bin/python3/bin/python3)
[email protected]_bin/python3/bin/python3: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.26' not found (required by [email protected]_bin/python3/bin/python3)
[email protected]_bin/python3/bin/python3: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.27' not found (required by [email protected]_bin/python3/bin/python3)
cat: /onlyoffice/scripts/../../core/Common/3dParty/v8/depot_tools/python3_bin_reldir.txt: No such file or directory
[E2022-05-14T19:34:27.470174Z 134419 0 annotate.go:273] goroutine 1:
#0 go.chromium.org/luci/vpython/venv/config.go:309 - venv.(*Config).resolvePythonInterpreter()
  reason: none of [/onlyoffice/scripts/../../core/Common/3dParty/v8/depot_tools//python3] matched specification 3.8.0

ONLYOFFICE/DesktopEditors#1 go.chromium.org/luci/vpython/venv/config.go:153 - venv.(*Config).resolveRuntime()
  reason: failed to resolve system Python interpreter

ONLYOFFICE/DesktopEditors#2 go.chromium.org/luci/vpython/venv/venv.go:143 - venv.With()
  reason: failed to resolve python runtime

ONLYOFFICE/DesktopEditors#3 go.chromium.org/luci/vpython/run.go:60 - vpython.Run()
ONLYOFFICE/DesktopEditors#4 go.chromium.org/luci/vpython/application/application.go:327 - application.(*application).mainImpl()
ONLYOFFICE/DesktopEditors#5 go.chromium.org/luci/vpython/application/application.go:416 - application.(*Config).Main.func1()
ONLYOFFICE/DesktopEditors#6 go.chromium.org/luci/vpython/application/support.go:46 - application.run()
ONLYOFFICE/DesktopEditors#7 go.chromium.org/luci/vpython/application/application.go:415 - application.(*Config).Main()
ONLYOFFICE/DesktopEditors#8 vpython/main.go:112 - main.mainImpl()
ONLYOFFICE/DesktopEditors#9 vpython/main.go:118 - main.main()
ONLYOFFICE/DesktopEditors#10 runtime/proc.go:225 - runtime.main()
ONLYOFFICE/DesktopEditors#11 runtime/asm_arm64.s:1130 - runtime.goexit()
Error (gclient): 1
Error (./make.py): 1

Reproduction Steps

Using ubuntu 16.04 container with the instructions of onlyoffice build_tools git repo
Opened the container, apt update && apt upgrade -y && apt install -y python
and ran the ./automate.py desktop

Additional information

Seeing as ONLYOFFICE/DocumentServer#152 issue being closed, I decided to try compiling onlyoffice natively again to see if it actually would, it actually now stops on some chromium depot_tools checks, for missing stuff. It's promising though!
Compilation in ubuntu 16.04 (as instructed by the onlyoffice buildtools) container from my oveclocked Pi400.
It failed something like 2 hours in, which is not bad (except for my mental health)

Also tried on the 7.1.0 deb via box64 and gtk3 lib at hand with the same results as ONLYOFFICE/DesktopEditors#270.

@neofeo
Copy link

neofeo commented May 19, 2022

Gtk3 is still a WIP on box64. I would only attempt it natively... specially on an open source project.

@ShockwaveNN
Copy link
Contributor

reason: none of [/onlyoffice/scripts/../../core/Common/3dParty/v8/depot_tools//python3] matched specification 3.8.0

Juding by this error I thing python3 v3.8.0 is required, but on my ubuntu 16.04 box is 3.5.2 installed

Maybe try to build arm version on newer Ubuntus, as far as I remember for arm we use 18.04

@ShockwaveNN ShockwaveNN transferred this issue from ONLYOFFICE/DesktopEditors May 20, 2022
@ShockwaveNN
Copy link
Contributor

Moved issue to build_tools since it's base repo for all problems wich compilation from sources

@bill88t
Copy link
Author

bill88t commented May 20, 2022

reason: none of [/onlyoffice/scripts/../../core/Common/3dParty/v8/depot_tools//python3] matched specification 3.8.0

Juding by this error I thing python3 v3.8.0 is required, but on my ubuntu 16.04 box is 3.5.2 installed

Maybe try to build arm version on newer Ubuntus, as far as I remember for arm we use 18.04

Yea, I remember briefly trying ubuntu:22.04 and there were many more errors, so I stuck with the version the instructions said.. I will try 18.04 tomorrow.

@bill88t
Copy link
Author

bill88t commented May 21, 2022

It still hasn't failed, but some unexpected output has come up:

Cloning into 'depot_tools'...
Updating depot_tools...
WARNING: Your metrics.cfg file was invalid or nonexistent. A new one will be created.
Usage: gclient.py <command> [options]

Meta checkout dependency manager for Git.

Commands are:
  config   creates a .gclient file in the current directory
  diff     displays local diff for every dependencies
  fetch    fetches upstream commits for all modules
  flatten  flattens the solutions into a single DEPS file
  getdep   gets revision information and variable values from a DEPS file
  grep     greps through git repos managed by gclient
  help     prints list of commands or help for a specific command
  metrics  reports, and optionally modifies, the status of metric collection
  pack     generates a patch which can be applied at the root of the tree
  recurse  operates [command args ...] on all the dependencies
  revert   reverts all modifications in every dependencies
  revinfo  outputs revision info mapping for the client and its dependencies
  root     outputs the solution root (or current dir if there isn't one)
  runhooks runs hooks for files that have been modified in the local working copy
  setdep   modifies dependency revisions and variable values in a DEPS file
  status   shows modification status for every dependencies
  sync     checkout/update all modules
  validate validates the .gclient and DEPS syntax
  verify   verifies the DEPS file deps are only from allowed_hosts

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -j JOBS, --jobs=JOBS  Specify how many SCM commands can run in parallel;
                        defaults to 8 on this machine
  -v, --verbose         Produces additional output for diagnostics. Can be
                        used up to three times for more logging info.
  --gclientfile=CONFIG_FILENAME
                        Specify an alternate .gclient file
  --spec=SPEC           create a gclient file containing the provided string.
                        Due to Cygwin/Python brokenness, it can't contain any
                        newlines.
  --no-nag-max          Ignored for backwards compatibility.
Updating depot_tools...
Updating depot_tools...
Updating depot_tools...

I will follow up with the Dockerfile I made for arm, based on the og of this repo, after i'm done with the compilation on 18.04.

@bill88t
Copy link
Author

bill88t commented May 21, 2022

Alrighty, it failed in a much different way now

________ running 'download_from_google_storage --no_resume --no_auth -u --bucket chromium-v8-closure-compiler -s v8/src/inspector/build/closure-compiler.tar.gz.sha1' in '/core/Common/3dParty/v8'
________ running 'vpython v8/build/linux/sysroot_scripts/install-sysroot.py --running-as-hook' in '/core/Common/3dParty/v8'
Unrecognized host arch: aarch64
Error: Command 'vpython v8/build/linux/sysroot_scripts/install-sysroot.py --running-as-hook' returned non-zero exit status 1 in /core/Common/3dParty/v8
Unrecognized host arch: aarch64

[git] update: desktop-sdk
[git] update: core
[git] update: plugin-thesaurus
[git] update: web-apps
[git] update: plugin-translator
[git] update: sdkjs
[git] update: sdkjs-forms
[git] update: plugin-highlightcode
[git] update: plugin-photoeditor
[git] update: plugin-mendeley
[git] update: dictionaries
[git] update: document-templates
[git] update: plugin-macros
[git] update: plugin-zotero
[git] update: plugin-youtube
[git] update: plugin-ocr
[git] update: plugin-speech
[git] update: desktop-apps
[fetch & build]: boost
delete warning [file not exist]: ./boost.data
[fetch & build]: cef
delete warning [file not exist]: ./cef_binary.7z.data
[fetch & build]: icu
[fetch & build]: openssl
delete warning [file not exist]: ./openssl.data
[fetch & build]: v8
delete warning [file not exist]: ./v8.data
Error (gclient): 2
install dependencies...
Installed Node.js version: 8.10
Node.js version cannot be less 10.20
Reinstall
install qt...
---------------------------------------------
build branch: master
---------------------------------------------
---------------------------------------------
build modules: desktop
---------------------------------------------
Error (./make.py): 1

To produce these results I created the following dockerfile

FROM ubuntu:18.04

ENV TZ=Etc/UTC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get -y update && apt-get -y install \
                            git python python3 sudo adwaita-icon-theme apt-transport-https at-spi2-core \
                            autoconf autoconf2.13 automake autopoint autotools-dev binutils binutils-aarch64-linux-gnu \
                            binutils-common bsdmainutils build-essential ca-certificates cmake cmake-data cpp cpp-7 curl \
                            dbus dconf-gsettings-backend dconf-service debhelper dh-autoreconf dh-strip-nondeterminism \
                            dirmngr dpkg-dev fakeroot fontconfig fontconfig-config fonts-dejavu-core g++ g++-7 \
                            gcc gcc-7 gcc-7-base gettext gettext-base gir1.2-atk-1.0 gir1.2-atspi-2.0 gir1.2-freedesktop \
                            gir1.2-gdkpixbuf-2.0 gir1.2-glib-2.0 gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 \
                            gir1.2-gtk-3.0 gir1.2-harfbuzz-0.0 gir1.2-pango-1.0 gir1.2-spiceclientglib-2.0 git \
                            git-man glib-networking glib-networking-common glib-networking-services gnupg gnupg-l10n \
                            gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm groff-base gsettings-desktop-schemas \
                            gstreamer1.0-gl gstreamer1.0-plugins-base gtk-update-icon-cache hicolor-icon-theme \
                            humanity-icon-theme icu-devtools intltool-debian iso-codes krb5-locales less libalgorithm-diff-perl \
                            libalgorithm-diff-xs-perl libalgorithm-merge-perl libapparmor1 libapr1 \
                            libaprutil1 libarchive-cpio-perl libarchive-zip-perl libarchive13 libasan4 \
                            libasn1-8-heimdal libasound2 libasound2-data libasound2-dev libassuan0 libasyncns0 \
                            libatk-bridge2.0-0 libatk-bridge2.0-dev libatk1.0-0 libatk1.0-data libatk1.0-dev \
                            libatomic1 libatspi2.0-0 libatspi2.0-dev libavahi-client3 libavahi-common-data libavahi-common3 \
                            libbinutils libbsd0 libc-dev-bin libc6-dev libcacard0 libcairo-gobject2 libcairo-script-interpreter2 \
                            libcairo2 libcairo2-dev libcap2 libcap2-bin libcc1-0 libcdparanoia0 libcolord2 libcroco3 libcups2 \
                            libcups2-dev libcupsfilters-dev libcupsfilters1 libcupsimage2 libcupsimage2-dev libcurl3-gnutls \
                            libcurl4 libdatrie1 libdbus-1-3 libdbus-1-dev libdconf1 libdpkg-perl libdrm-amdgpu1 libdrm-common \
                            libdrm-dev libdrm-etnaviv1 libdrm-freedreno1 libdrm-nouveau2 libdrm-radeon1 libdrm-tegra0 libdrm2 \
                            libedit2 libegl-mesa0 libegl1 libegl1-mesa-dev libelf1 libepoxy-dev libepoxy0 liberror-perl \
                            libexpat1-dev libfakeroot libfile-fcntllock-perl libfile-stripnondeterminism-perl libflac8 libfontconfig1 \
                            libfontconfig1-dev libfreetype6 libfreetype6-dev libgbm1 libgcc-7-dev libgdbm-compat4 libgdbm5 libgdk-pixbuf2.0-0 \
                            libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgdk-pixbuf2.0-dev libgirepository-1.0-1 \
                            libgl1 libgl1-mesa-dev libgl1-mesa-dri libglapi-mesa libgles1 libgles2 libgles2-mesa-dev libglib2.0-0 \
                            libglib2.0-bin libglib2.0-data libglib2.0-dev libglib2.0-dev-bin libglu1-mesa libglu1-mesa-dev libglvnd-core-dev \
                            libglvnd-dev libglvnd0 libglx-mesa0 libglx0 libgomp1 libgraphene-1.0-0 libgraphite2-3 libgraphite2-dev \
                            libgssapi-krb5-2 libgssapi3-heimdal libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 \
                            libgstreamer-plugins-base1.0-dev libgstreamer1.0-0 libgstreamer1.0-dev libgtk-3-0 libgtk-3-bin \
                            libgtk-3-common libgtk-3-dev libgudev-1.0-0 libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0 \
                            libharfbuzz0b libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal \
                            libice-dev libice6 libicu-dev libicu-le-hb-dev libicu-le-hb0 libicu60 libiculx60 libisl19 libitm1 \
                            libjbig-dev libjbig0 libjpeg-dev libjpeg-turbo8 libjpeg-turbo8-dev libjpeg8 libjpeg8-dev \
                            libjson-glib-1.0-0 libjson-glib-1.0-common libjsoncpp1 libk5crypto3 libkeyutils1 libkrb5-26-heimdal \
                            libkrb5-3 libkrb5support0 libksba8 liblcms2-2 libldap-2.4-2 libldap-common libllvm10 liblocale-gettext-perl \
                            liblsan0 libltdl-dev libltdl7 liblzma-dev liblzo2-2 libmail-sendmail-perl libmpc3 libmpfr6 \
                            libnghttp2-14 libnpth0 libnspr4 libnss3 libogg0 libopengl0 libopus0 liborc-0.4-0 liborc-0.4-dev \
                            liborc-0.4-dev-bin libpam-cap libpango-1.0-0 libpango1.0-dev libpangocairo-1.0-0 libpangoft2-1.0-0 \
                            libpangoxft-1.0-0 libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libperl5.26 libphodav-2.0-0 \
                            libphodav-2.0-common libpipeline1 libpixman-1-0 libpixman-1-dev libpng-dev libpng-tools libpng16-16 \
                            libpolkit-gobject-1-0 libproxy1v5 libpsl5 libpthread-stubs0-dev libpulse-dev libpulse-mainloop-glib0 \
                            libpulse0 librest-0.7-0 librhash0 libroken18-heimdal librsvg2-2 librsvg2-common librtmp1 libsasl2-2 \
                            libsasl2-modules libsasl2-modules-db libsensors4 libserf-1-1 libsigsegv2 libsm-dev libsm6 libsndfile1 \
                            libsoup-gnome2.4-1 libsoup2.4-1 libspice-client-glib-2.0-8 libspice-client-glib-2.0-dev libspice-protocol-dev \
                            libssl-dev libssl1.0.0 libstdc++-7-dev libsvn1 libsys-hostname-long-perl libthai-data libthai0 libtheora0 \
                            libtiff-dev libtiff5 libtiff5-dev libtiffxx5 libtimedate-perl libtool libtsan0 libubsan0 libusb-1.0-0 \
                            libusbredirhost1 libusbredirparser1 libuv1 libvisual-0.4-0 libvorbis0a libvorbisenc2 libwayland-bin \
                            libwayland-client0 libwayland-cursor0 libwayland-dev libwayland-egl1 libwayland-server0 libwind0-heimdal \
                            libwrap0 libx11-6 libx11-data libx11-dev libx11-doc libx11-xcb-dev libx11-xcb1 libxau-dev libxau6 \
                            libxcb-composite0 libxcb-composite0-dev libxcb-cursor-dev libxcb-cursor0 libxcb-damage0 \
                            libxcb-damage0-dev libxcb-doc libxcb-dpms0 libxcb-dpms0-dev libxcb-dri2-0 libxcb-dri2-0-dev \
                            libxcb-dri3-0 libxcb-dri3-dev libxcb-ewmh-dev libxcb-ewmh2 libxcb-glx0 libxcb-glx0-dev \
                            libxcb-icccm4 libxcb-icccm4-dev libxcb-image0 libxcb-image0-dev libxcb-keysyms1 libxcb-keysyms1-dev \
                            libxcb-present-dev libxcb-present0 libxcb-randr0 libxcb-randr0-dev libxcb-record0 libxcb-record0-dev \
                            libxcb-render-util0 libxcb-render-util0-dev libxcb-render0 libxcb-render0-dev libxcb-res0 libxcb-res0-dev \
                            libxcb-screensaver0 libxcb-screensaver0-dev libxcb-shape0 libxcb-shape0-dev libxcb-shm0 libxcb-shm0-dev \
                            libxcb-sync-dev libxcb-sync1 libxcb-util-dev libxcb-util0-dev libxcb-util1 libxcb-xf86dri0 libxcb-xf86dri0-dev \
                            libxcb-xfixes0 libxcb-xfixes0-dev libxcb-xinerama0 libxcb-xinerama0-dev libxcb-xinput-dev libxcb-xinput0 libxcb-xkb-dev \
                            libxcb-xkb1 libxcb-xrm-dev libxcb-xrm0 libxcb-xtest0 libxcb-xtest0-dev libxcb-xv0 libxcb-xv0-dev libxcb-xvmc0 \
                            libxcb-xvmc0-dev libxcb1 libxcb1-dev libxcomposite-dev libxcomposite1 libxcursor-dev libxcursor1 libxdamage-dev \
                            libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes-dev libxfixes3 libxft-dev libxft2 libxi-dev \
                            libxi6 libxinerama-dev libxinerama1 libxkbcommon-dev libxkbcommon0 libxml2 libxmuu1 libxrandr-dev libxrandr2 \
                            libxrender-dev libxrender1 libxshmfence-dev libxshmfence1 libxss1 libxtst-dev libxtst6 libxxf86vm-dev libxxf86vm1 \
                            linux-libc-dev m4 make man-db manpages manpages-dev mesa-common-dev multiarch-support netbase \
                            openssh-client openssl p7zip p7zip-full patch perl perl-modules-5.26 pinentry-curses pkg-config \
                            po-debconf publicsuffix python3-distutils python3-lib2to3 shared-mime-info spice-client-glib-usb-acl-helper \
                            subversion ubuntu-mono ucf wayland-protocols x11-common x11proto-composite-dev x11proto-core-dev \
                            x11proto-damage-dev x11proto-dev x11proto-fixes-dev x11proto-input-dev x11proto-randr-dev x11proto-record-dev \
                            x11proto-xext-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xauth xdg-user-dirs xkb-data \
                            xorg-sgml-doctools xtrans-dev zlib1g-dev libc-ares2 libhttp-parser2.7.1 nodejs nodejs-doc ca-certificates-java \
                            fonts-dejavu-extra java-common libatk-wrapper-java libatk-wrapper-java-jni libfontenc1 libgif7 libpcsclite1 \
                            libxaw7 libxmu6 libxpm4 libxt-dev libxt6 libxv1 libxxf86dga1 openjdk-11-jdk openjdk-11-jdk-headless \
                            openjdk-11-jre openjdk-11-jre-headless x11-utils

RUN rm /usr/bin/python && ln -s /usr/bin/python2 /usr/bin/python
ADD . /build_tools
WORKDIR /build_tools

CMD cd tools/linux && python3 ./automate.py desktop

@theofficialgman
Copy link

> ________ running 'download_from_google_storage --no_resume --no_auth -u --bucket chromium-v8-closure-compiler -s v8/src/inspector/build/closure-compiler.tar.gz.sha1' in '/core/Common/3dParty/v8'
> ________ running 'vpython v8/build/linux/sysroot_scripts/install-sysroot.py --running-as-hook' in '/core/Common/3dParty/v8'
> Unrecognized host arch: aarch64
> Error: Command 'vpython v8/build/linux/sysroot_scripts/install-sysroot.py --running-as-hook' returned non-zero exit status 1 in /core/Common/3dParty/v8
> Unrecognized host arch: aarch64

host arch should NOT be returning as aarch64... that is determined here from chromium source

def HostArch():
--
  | """Returns the host architecture with a predictable string."""
  | host_arch = platform.machine()
  |  
  | # Convert machine type to format recognized by gyp.
  | if re.match(r'i.86', host_arch) or host_arch == 'i86pc':
  | host_arch = 'ia32'
  | elif host_arch in ['x86_64', 'amd64']:
  | host_arch = 'x64'
  | elif host_arch.startswith('arm'):
  | host_arch = 'arm'
  | elif host_arch.startswith('aarch64'):
  | host_arch = 'arm64'
  | elif host_arch.startswith('mips64'):
  | host_arch = 'mips64'
  | elif host_arch.startswith('mips'):
  | host_arch = 'mips'
  | elif host_arch.startswith('ppc'):
  | host_arch = 'ppc'
  | elif host_arch.startswith('s390'):
  | host_arch = 's390'

well technically it used to just return aarch64.. but that bug was fixed 4 years ago https://chromium.googlesource.com/chromium/src/build/+/15ff94c12fba191a9638daec370b26881d8453cf

@bill88t
Copy link
Author

bill88t commented May 23, 2022

host arch should NOT be returning as aarch64... that is determined here from chromium source

Uname, even the python module on:
Linux, always returns aarch64.
MacOS, always returns arm64.

I know that as a matter of fact because of one of my own projects.
Did the check somehow get skipped or patched out???

well technically it used to just return aarch64.. but that bug was fixed 4 years ago

(It can't POSSIBLY be using such an old version)
I will tear apart the install scripts to find what's going on in a bit. If it's all python, it wont take long.

@bill88t bill88t changed the title New attempt at Arm64 (Aarch64 linux) compilation New attempt at arm64 DesktopEditors compilation May 23, 2022
@jiriks74
Copy link

I'll try to take a look at the build script as well, but I got lost quite quickly in it (tried to modify it to compile directly on arch Linux - silly me).

@fendaq
Copy link

fendaq commented May 23, 2022

Alrighty, it failed in a much different way now

________ running 'download_from_google_storage --no_resume --no_auth -u --bucket chromium-v8-closure-compiler -s v8/src/inspector/build/closure-compiler.tar.gz.sha1' in '/core/Common/3dParty/v8'
________ running 'vpython v8/build/linux/sysroot_scripts/install-sysroot.py --running-as-hook' in '/core/Common/3dParty/v8'
Unrecognized host arch: aarch64
Error: Command 'vpython v8/build/linux/sysroot_scripts/install-sysroot.py --running-as-hook' returned non-zero exit status 1 in /core/Common/3dParty/v8
Unrecognized host arch: aarch64

[git] update: desktop-sdk
[git] update: core
[git] update: plugin-thesaurus
[git] update: web-apps
[git] update: plugin-translator
[git] update: sdkjs
[git] update: sdkjs-forms
[git] update: plugin-highlightcode
[git] update: plugin-photoeditor
[git] update: plugin-mendeley
[git] update: dictionaries
[git] update: document-templates
[git] update: plugin-macros
[git] update: plugin-zotero
[git] update: plugin-youtube
[git] update: plugin-ocr
[git] update: plugin-speech
[git] update: desktop-apps
[fetch & build]: boost
delete warning [file not exist]: ./boost.data
[fetch & build]: cef
delete warning [file not exist]: ./cef_binary.7z.data
[fetch & build]: icu
[fetch & build]: openssl
delete warning [file not exist]: ./openssl.data
[fetch & build]: v8
delete warning [file not exist]: ./v8.data
Error (gclient): 2
install dependencies...
Installed Node.js version: 8.10
Node.js version cannot be less 10.20
Reinstall
install qt...
---------------------------------------------
build branch: master
---------------------------------------------
---------------------------------------------
build modules: desktop
---------------------------------------------
Error (./make.py): 1

To produce these results I created the following dockerfile

FROM ubuntu:18.04

ENV TZ=Etc/UTC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get -y update && apt-get -y install \
                            git python python3 sudo adwaita-icon-theme apt-transport-https at-spi2-core \
                            autoconf autoconf2.13 automake autopoint autotools-dev binutils binutils-aarch64-linux-gnu \
                            binutils-common bsdmainutils build-essential ca-certificates cmake cmake-data cpp cpp-7 curl \
                            dbus dconf-gsettings-backend dconf-service debhelper dh-autoreconf dh-strip-nondeterminism \
                            dirmngr dpkg-dev fakeroot fontconfig fontconfig-config fonts-dejavu-core g++ g++-7 \
                            gcc gcc-7 gcc-7-base gettext gettext-base gir1.2-atk-1.0 gir1.2-atspi-2.0 gir1.2-freedesktop \
                            gir1.2-gdkpixbuf-2.0 gir1.2-glib-2.0 gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 \
                            gir1.2-gtk-3.0 gir1.2-harfbuzz-0.0 gir1.2-pango-1.0 gir1.2-spiceclientglib-2.0 git \
                            git-man glib-networking glib-networking-common glib-networking-services gnupg gnupg-l10n \
                            gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm groff-base gsettings-desktop-schemas \
                            gstreamer1.0-gl gstreamer1.0-plugins-base gtk-update-icon-cache hicolor-icon-theme \
                            humanity-icon-theme icu-devtools intltool-debian iso-codes krb5-locales less libalgorithm-diff-perl \
                            libalgorithm-diff-xs-perl libalgorithm-merge-perl libapparmor1 libapr1 \
                            libaprutil1 libarchive-cpio-perl libarchive-zip-perl libarchive13 libasan4 \
                            libasn1-8-heimdal libasound2 libasound2-data libasound2-dev libassuan0 libasyncns0 \
                            libatk-bridge2.0-0 libatk-bridge2.0-dev libatk1.0-0 libatk1.0-data libatk1.0-dev \
                            libatomic1 libatspi2.0-0 libatspi2.0-dev libavahi-client3 libavahi-common-data libavahi-common3 \
                            libbinutils libbsd0 libc-dev-bin libc6-dev libcacard0 libcairo-gobject2 libcairo-script-interpreter2 \
                            libcairo2 libcairo2-dev libcap2 libcap2-bin libcc1-0 libcdparanoia0 libcolord2 libcroco3 libcups2 \
                            libcups2-dev libcupsfilters-dev libcupsfilters1 libcupsimage2 libcupsimage2-dev libcurl3-gnutls \
                            libcurl4 libdatrie1 libdbus-1-3 libdbus-1-dev libdconf1 libdpkg-perl libdrm-amdgpu1 libdrm-common \
                            libdrm-dev libdrm-etnaviv1 libdrm-freedreno1 libdrm-nouveau2 libdrm-radeon1 libdrm-tegra0 libdrm2 \
                            libedit2 libegl-mesa0 libegl1 libegl1-mesa-dev libelf1 libepoxy-dev libepoxy0 liberror-perl \
                            libexpat1-dev libfakeroot libfile-fcntllock-perl libfile-stripnondeterminism-perl libflac8 libfontconfig1 \
                            libfontconfig1-dev libfreetype6 libfreetype6-dev libgbm1 libgcc-7-dev libgdbm-compat4 libgdbm5 libgdk-pixbuf2.0-0 \
                            libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgdk-pixbuf2.0-dev libgirepository-1.0-1 \
                            libgl1 libgl1-mesa-dev libgl1-mesa-dri libglapi-mesa libgles1 libgles2 libgles2-mesa-dev libglib2.0-0 \
                            libglib2.0-bin libglib2.0-data libglib2.0-dev libglib2.0-dev-bin libglu1-mesa libglu1-mesa-dev libglvnd-core-dev \
                            libglvnd-dev libglvnd0 libglx-mesa0 libglx0 libgomp1 libgraphene-1.0-0 libgraphite2-3 libgraphite2-dev \
                            libgssapi-krb5-2 libgssapi3-heimdal libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 \
                            libgstreamer-plugins-base1.0-dev libgstreamer1.0-0 libgstreamer1.0-dev libgtk-3-0 libgtk-3-bin \
                            libgtk-3-common libgtk-3-dev libgudev-1.0-0 libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0 \
                            libharfbuzz0b libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal \
                            libice-dev libice6 libicu-dev libicu-le-hb-dev libicu-le-hb0 libicu60 libiculx60 libisl19 libitm1 \
                            libjbig-dev libjbig0 libjpeg-dev libjpeg-turbo8 libjpeg-turbo8-dev libjpeg8 libjpeg8-dev \
                            libjson-glib-1.0-0 libjson-glib-1.0-common libjsoncpp1 libk5crypto3 libkeyutils1 libkrb5-26-heimdal \
                            libkrb5-3 libkrb5support0 libksba8 liblcms2-2 libldap-2.4-2 libldap-common libllvm10 liblocale-gettext-perl \
                            liblsan0 libltdl-dev libltdl7 liblzma-dev liblzo2-2 libmail-sendmail-perl libmpc3 libmpfr6 \
                            libnghttp2-14 libnpth0 libnspr4 libnss3 libogg0 libopengl0 libopus0 liborc-0.4-0 liborc-0.4-dev \
                            liborc-0.4-dev-bin libpam-cap libpango-1.0-0 libpango1.0-dev libpangocairo-1.0-0 libpangoft2-1.0-0 \
                            libpangoxft-1.0-0 libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libperl5.26 libphodav-2.0-0 \
                            libphodav-2.0-common libpipeline1 libpixman-1-0 libpixman-1-dev libpng-dev libpng-tools libpng16-16 \
                            libpolkit-gobject-1-0 libproxy1v5 libpsl5 libpthread-stubs0-dev libpulse-dev libpulse-mainloop-glib0 \
                            libpulse0 librest-0.7-0 librhash0 libroken18-heimdal librsvg2-2 librsvg2-common librtmp1 libsasl2-2 \
                            libsasl2-modules libsasl2-modules-db libsensors4 libserf-1-1 libsigsegv2 libsm-dev libsm6 libsndfile1 \
                            libsoup-gnome2.4-1 libsoup2.4-1 libspice-client-glib-2.0-8 libspice-client-glib-2.0-dev libspice-protocol-dev \
                            libssl-dev libssl1.0.0 libstdc++-7-dev libsvn1 libsys-hostname-long-perl libthai-data libthai0 libtheora0 \
                            libtiff-dev libtiff5 libtiff5-dev libtiffxx5 libtimedate-perl libtool libtsan0 libubsan0 libusb-1.0-0 \
                            libusbredirhost1 libusbredirparser1 libuv1 libvisual-0.4-0 libvorbis0a libvorbisenc2 libwayland-bin \
                            libwayland-client0 libwayland-cursor0 libwayland-dev libwayland-egl1 libwayland-server0 libwind0-heimdal \
                            libwrap0 libx11-6 libx11-data libx11-dev libx11-doc libx11-xcb-dev libx11-xcb1 libxau-dev libxau6 \
                            libxcb-composite0 libxcb-composite0-dev libxcb-cursor-dev libxcb-cursor0 libxcb-damage0 \
                            libxcb-damage0-dev libxcb-doc libxcb-dpms0 libxcb-dpms0-dev libxcb-dri2-0 libxcb-dri2-0-dev \
                            libxcb-dri3-0 libxcb-dri3-dev libxcb-ewmh-dev libxcb-ewmh2 libxcb-glx0 libxcb-glx0-dev \
                            libxcb-icccm4 libxcb-icccm4-dev libxcb-image0 libxcb-image0-dev libxcb-keysyms1 libxcb-keysyms1-dev \
                            libxcb-present-dev libxcb-present0 libxcb-randr0 libxcb-randr0-dev libxcb-record0 libxcb-record0-dev \
                            libxcb-render-util0 libxcb-render-util0-dev libxcb-render0 libxcb-render0-dev libxcb-res0 libxcb-res0-dev \
                            libxcb-screensaver0 libxcb-screensaver0-dev libxcb-shape0 libxcb-shape0-dev libxcb-shm0 libxcb-shm0-dev \
                            libxcb-sync-dev libxcb-sync1 libxcb-util-dev libxcb-util0-dev libxcb-util1 libxcb-xf86dri0 libxcb-xf86dri0-dev \
                            libxcb-xfixes0 libxcb-xfixes0-dev libxcb-xinerama0 libxcb-xinerama0-dev libxcb-xinput-dev libxcb-xinput0 libxcb-xkb-dev \
                            libxcb-xkb1 libxcb-xrm-dev libxcb-xrm0 libxcb-xtest0 libxcb-xtest0-dev libxcb-xv0 libxcb-xv0-dev libxcb-xvmc0 \
                            libxcb-xvmc0-dev libxcb1 libxcb1-dev libxcomposite-dev libxcomposite1 libxcursor-dev libxcursor1 libxdamage-dev \
                            libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes-dev libxfixes3 libxft-dev libxft2 libxi-dev \
                            libxi6 libxinerama-dev libxinerama1 libxkbcommon-dev libxkbcommon0 libxml2 libxmuu1 libxrandr-dev libxrandr2 \
                            libxrender-dev libxrender1 libxshmfence-dev libxshmfence1 libxss1 libxtst-dev libxtst6 libxxf86vm-dev libxxf86vm1 \
                            linux-libc-dev m4 make man-db manpages manpages-dev mesa-common-dev multiarch-support netbase \
                            openssh-client openssl p7zip p7zip-full patch perl perl-modules-5.26 pinentry-curses pkg-config \
                            po-debconf publicsuffix python3-distutils python3-lib2to3 shared-mime-info spice-client-glib-usb-acl-helper \
                            subversion ubuntu-mono ucf wayland-protocols x11-common x11proto-composite-dev x11proto-core-dev \
                            x11proto-damage-dev x11proto-dev x11proto-fixes-dev x11proto-input-dev x11proto-randr-dev x11proto-record-dev \
                            x11proto-xext-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xauth xdg-user-dirs xkb-data \
                            xorg-sgml-doctools xtrans-dev zlib1g-dev libc-ares2 libhttp-parser2.7.1 nodejs nodejs-doc ca-certificates-java \
                            fonts-dejavu-extra java-common libatk-wrapper-java libatk-wrapper-java-jni libfontenc1 libgif7 libpcsclite1 \
                            libxaw7 libxmu6 libxpm4 libxt-dev libxt6 libxv1 libxxf86dga1 openjdk-11-jdk openjdk-11-jdk-headless \
                            openjdk-11-jre openjdk-11-jre-headless x11-utils

RUN rm /usr/bin/python && ln -s /usr/bin/python2 /usr/bin/python
ADD . /build_tools
WORKDIR /build_tools

CMD cd tools/linux && python3 ./automate.py desktop

modify /core/Common/3dParty/v8/v8/DEPS :
228 # This sysroot updates at about the same rate that the chrome build deps
229 # change.
230 'name': 'sysroot',
231 'pattern': '.',
232 'action': [
233 'python',
234 'v8/build/linux/sysroot_scripts/install-sysroot.py',
235 #'--running-as-hook',
236 '--arch=arm64',

237 ],

@fendaq
Copy link

fendaq commented May 23, 2022

I have successfully completed the compilation of the server for aarch64 ,here is compilation log, and It seems that I didn't find any obvious errors on it. but it failed on start
ONLYOFFICE-QA/onlyoffice-documentserver-run-compiled#28

@ShockwaveNN
Copy link
Contributor

I can confirm this error

Unrecognized host arch: aarch64

Checked it only the amazon arm instance with ubuntu 18.04

Seems that currently our code is not fully ready to a compilation on arm, I've created issue 57301
Maybe we need to update build instruction for arm or made some changes, that I'm not aware

@ShockwaveNN ShockwaveNN added the confirmed-bug Issues with confirmed bugs label May 23, 2022
@ShockwaveNN ShockwaveNN changed the title New attempt at arm64 DesktopEditors compilation Unrecognized host arch: aarch64 error while compiling on arm May 23, 2022
@bill88t
Copy link
Author

bill88t commented May 23, 2022

modify /core/Common/3dParty/v8/v8/DEPS : 228 # This sysroot updates at about the same rate that the chrome build deps 229 # change. 230 'name': 'sysroot', 231 'pattern': '.', 232 'action': [ 233 'python', 234 'v8/build/linux/sysroot_scripts/install-sysroot.py', 235 #'--running-as-hook', 236 '--arch=arm64', 237 ],

I am gonna do this tonight.
Its hard finding 5 hours for a test. (cant leave it unattended since the pi400 is my laptop)
I have introduced break points within the scripts to inspect.
I will additionally split parts of the progress into seperate docker images.

@jiriks74
Copy link

@bill88t If you have normal amd64 pc, you can use docker buildx and qemu to build an arm64 container. That's what I'll try as it's way faster than doing it on the pi...

@bill88t
Copy link
Author

bill88t commented May 23, 2022

proxy-image (1)~2
Yea, we kinda should set that environment up

@jiriks74
Copy link

jiriks74 commented May 23, 2022

@bill88t
If you want, I've setup a simple Dockerfile that works with docker-compose and I can easily modify it to be multiarch once I figure out how to get the data from the container properly (now I have a simple script that moves the built files to a folder that is mouned in docker-compose.yml - so I can do just docker-compose up to build and copy everything)

@jiriks74
Copy link

Ok, I've been building for like 45 minutes without errors. I had to kill it though, as I changed some things in the Dockerfile, etc. Looks alright so far though.

@jiriks74
Copy link

Oh, the output got larger than 1MiB, so I see nithing. But I'm compiling for 2 hours now and from the processes running (make install) I think that the compilation was successful.

@bill88t
Copy link
Author

bill88t commented May 23, 2022

A pi compilation fails at like 5 hours
Im gonna push ahead and overclock from my 2.0Ghz -> 2.2Ghz to shorten it

@ShockwaveNN
Copy link
Contributor

Guys, do you really need to compile it from source for several hours?
Is there any particular problem with built packages?
Or is it just for fun? I always fought that compiling package from source is interesting on fast hardware, but if it takes several hours it's more a chore

@jiriks74
Copy link

A pi compilation fails at like 5 hours Im gonna push ahead and overclock from my 2.0Ghz -> 2.2Ghz to shorten it

Oh, but watch your temperatures. I'm running overclocked Pi 4 4GB all the time, but I have active cooling on it.

Also, that finished compilation was only qt

@jiriks74
Copy link

@ShockwaveNN Are DesktopEditors available for aarch64 now? I'm trying to build it for Pi users as from what I know, DesktopEditors aren't available yet.

@ShockwaveNN
Copy link
Contributor

Oops, sorry, my bad
You're right, we still have not provided official builds of DesktopEditors

A little mess in my head, since usually people try to build our source for DocumentServer

@neofeo
Copy link

neofeo commented May 23, 2022

To be honest, a pi4 overclocked it's a decent compiling pc. Of course, you can't compare it with modern x86_64 hw. Hopefully this project will support and provide aarch64 binaries sooner or later.

@bill88t
Copy link
Author

bill88t commented Jun 10, 2022

Uhm, today I had to setup qemu to work with docker (for another thing)
It really was like 5 minutes
and now I can run arm64 docker builds on my x64 server

to sum it up
install qemu binfmt-support qemu-user-static
from your distribution's sources

docker buildx create --name mybuilder --use --bootstrap

docker buildx build --platform linux/arm64 *whatever else*

I will try with onlyoffice hopefully tonight

@jiriks74
Copy link

Uhm, today I had to setup qemu to work with docker (for another thing) It really was like 5 minutes and now I can run arm64 docker builds on my x64 server

to sum it up install qemu binfmt-support qemu-user-static from your distribution's sources

docker buildx create --name mybuilder --use --bootstrap

docker buildx build --platform linux/arm64 *whatever else*

I will try with onlyoffice hopefully tonight

Yup, that's how I have it setup. Compiling on the rpi4 (even if I had an SSD instead of a hdd) is a chore, so I have that setup on my main PC.

@bill88t
Copy link
Author

bill88t commented Jun 13, 2022

I have gotten the arm64 build environment working on my x64 server a few days now. And made further progress.
v8 has now finally stopped complaining for the life of it (clang-10 + lld working) and is now compiling (hasn't finished yet, but it's like 1118/2943).
Now at 80°C and the room is like a sauna.

The only warnings i'm running at now are:

#6 8644.0 warning: unknown warning option '-Wno-psabi' [-Wunknown-warning-option]
#6 8644.0 warning: unknown warning option '-Wno-non-c-typedef-for-linkage'; did you mean '-Wno-return-type-c-linkage'? [-Wunknown-warning-option]
#6 8644.0 warning: unknown warning option '-Wno-max-tokens'; did you mean '-Wno-extra-tokens'? [-Wunknown-warning-option]

Which prolly are just clang-10 vs clang-12
I'm not gonna bother with any further clang-12 stuff and instead try to patch out those warnings in the arm64 patches I already have made.

@jiriks74
Copy link

So. I'll probably have some free time now. The route I will take will be like this:

  1. Figure out how the automated build script works
  2. Split it so that it doesn't run everything at once
  3. Create a Dockerfile so that when creating a docker image it will automatically compile
  • This will get me the really nice option of caching the whole thing and the awesome ability of simply recreating the build environment somewhere else.
  1. Build the image
  2. With docker-compose I'll mount the output directory to my fs, where I can grab the output files
  • If I'll be able to build DesktopEditors I'll try to compile DocumentServer with this as well so that it's one thing does it all.

I'll see how will my plan go, bu I've already been successful in emulating arm64 with qemu and docker buildx.

@bill88t
Copy link
Author

bill88t commented Jun 13, 2022

So. I'll probably have some free time now. The route I will take will be like this:

  1. Figure out how the automated build script works
  2. Split it so that it doesn't run everything at once
  3. Create a Dockerfile so that when creating a docker image it will automatically compile
  • This will get me the really nice option of caching the whole thing and the awesome ability of simply recreating the build environment somewhere else.
  1. Build the image
  2. With docker-compose I'll mount the output directory to my fs, where I can grab the output files
  • If I'll be able to build DesktopEditors I'll try to compile DocumentServer with this as well so that it's one thing does it all.

I'll see how will my plan go, bu I've already been successful in emulating arm64 with qemu and docker buildx.

It's way too much, please take a look at https://github.com/bill88t/build_tools-arm64 first.
I have done a gorrilion of changes to bisect it into tiny pieces and troubleshoot it.
I have additionally fixed lots of broke stuff for arm64.
I would recommend looking at the original souce and this side by side.

Also, to sum up the scripts:
-> tools/linux/automate.py -> configure.py

-> tools/linux/automate.py -> make.py -> scripts/develop/develop.py

-> tools/linux/automate.py -> make.py -> scripts/core_common/make_common.py -> scripts/core_common/modules/boost.py

-> tools/linux/automate.py -> make.py -> scripts/core_common/make_common.py -> scripts/core_common/modules/cef.py

-> tools/linux/automate.py -> make.py -> scripts/core_common/make_common.py -> scripts/core_common/modules/icu.py

-> tools/linux/automate.py -> make.py -> scripts/core_common/make_common.py -> scripts/core_common/modules/openssl.py

-> tools/linux/automate.py -> make.py -> scripts/core_common/make_common.py -> scripts/core_common/modules/v8.py -> scripts/core_common/modules/v8_89.py

and this is where i'm at

@bill88t
Copy link
Author

bill88t commented Jun 13, 2022

Successfully built v8. We can finally move on.
Took 5 hours compiling. Literally.

@bill88t
Copy link
Author

bill88t commented Jun 14, 2022

After a lot of fiddling with the script shebangs to make the stdout unbuffered, I have determined the next error.

At tools/linux/automate.py -> make.py -> scripts/build.py -> make() -> make_pro_file("makefiles", "build.pro") -> base.cmd_and_return_cwd(base.app_make(), ["-f", makefiles_dir + "/build.makefile_" + file_suff, "-j" + str(multiprocessing.cpu_count())])

The error:

#9 2547.2 g++ -c -pipe -fvisibility=hidden -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DINTVER=7.1.1.0 -DLINUX -D_LINUX -D_ARM_ALIGN_ -DBUIDLER_OPEN_DOWNLOAD_ENABLED -DBUIDLER_OPEN_BASE64_ENABLED -DQT_NO_DEBUG -DQT_PLUGIN -I. -Ijs_internal -I/core/Common/3dParty/v8/v8 -I/core/Common/3dParty/v8/v8/include -I/build_tools/tools/linux/qt_build/Qt-5.9.9/gcc_64/mkspecs/linux-g++ -o core_build/linux_64/release/obj/js_internal/v8/v8_base.o js_internal/v8/v8_base.cpp
#9 2547.6 g++ -c -pipe -fvisibility=hidden -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DINTVER=7.1.1.0 -DLINUX -D_LINUX -D_ARM_ALIGN_ -DBUIDLER_OPEN_DOWNLOAD_ENABLED -DBUIDLER_OPEN_BASE64_ENABLED -DQT_NO_DEBUG -DQT_PLUGIN -I. -Ijs_internal -I/core/Common/3dParty/v8/v8 -I/core/Common/3dParty/v8/v8/include -I/build_tools/tools/linux/qt_build/Qt-5.9.9/gcc_64/mkspecs/linux-g++ -o core_build/linux_64/release/obj/embed/v8/v8_MemoryStream.o embed/v8/v8_MemoryStream.cpp
#9 2547.9 In file included from js_internal/v8/v8_base.cpp:1:0:
#9 2547.9 js_internal/v8/v8_base.h:12:10: fatal error: v8.h: No such file or directory
#9 2547.9  #include "v8.h"
#9 2547.9           ^~~~~~
#9 2547.9 compilation terminated.

A "complete" (this layer's only) log:
log.txt

Keep in mind, it's a 4mb log, your pc may seriouly lag out tryna open it.

@bill88t
Copy link
Author

bill88t commented Jun 14, 2022

my guess is that as we are building v8 for arm64, it doesn't like:

base.cmd2("gn", ["gen", "out.gn/linux_arm64", make_args(gn_args, "linux_arm64", False)])
base.cmd("ninja", ["-C", "out.gn/linux_arm64"])

it being put there. it prolly only likes linux_64
I could do it right, but no imma just rename it to linux_64

@bill88t
Copy link
Author

bill88t commented Jun 17, 2022

That didn't work
Did redo many of the modifications to match the linux_arm64 directory scheme on everything.
And recompiled everything from scratch. 13hr of compile time total.

After a lot of work I have traced back the current error to
/core/DesktopEditor/doctrenderer/js_internal/v8/v8_base.h

It gets built by /build_tools/makefiles/build.makefile_linux_arm64
under target sub--core-DesktopEditor-doctrenderer-doctrenderer-pro-make_first-ordered

To have these files in the filesystem you have to reach the point where scripts/build.py runs the command
base.cmd(qt_dir + "/bin/qmake", ["-nocache", pro_file, "CONFIG+=" + config_param] + qmake_addon)

At this point I do not know why the v8 header is missing in that directory, I have it under /core/Common/3dParty/v8_89/v8/include. I haven't found any scripts that copy it (/ try to)..

I will try copying it (along with the rest of include) by patching the built makefile

@fendaq
Copy link

fendaq commented Jun 18, 2022

-I parameter missing

@bill88t
Copy link
Author

bill88t commented Jun 18, 2022

Yea, but those options are specified by the generated qmake makefile and hence the source .pro files.
I have to edit those to fix the makefile..
The problem now is that I lost my 1st layer image and I have to rebuild it (that takes more than 10hr)

@bill88t
Copy link
Author

bill88t commented Jul 2, 2022

did fix the v8.h not found errors by patching v8.pri with

base.replaceInFile("/core/Common/3dParty/v8/v8.pri", "CORE_V8_PATH_OVERRIDE=$$PWD\nv8_version_89 {\n    CONFIG += c++14\n    CONFIG += use_v8_monolith\n    DEFINES += V8_VERSION_89_PLUS\n\n    core_win_32:CONFIG += build_platform_32\n    core_linux_32:CONFIG += build_platform_32\n    !build_platform_32:DEFINES += V8_COMPRESS_POINTERS\n\n    CORE_V8_PATH_OVERRIDE = $$PWD/../v8_89\n}", "\nCORE_V8_PATH_OVERRIDE=$$PWD\nCONFIG += c++14\nCONFIG += use_v8_monolith\nDEFINES += V8_VERSION_89_PLUS\n\nCORE_V8_PATH_OVERRIDE = $$PWD/../v8_89\n")

moved a bit up ahead and errored on

#9 2841.2 In file included from ../Source/Common/SimpleTypes_Base.h:38:0,
#9 2841.2                  from ../Source/Common/SimpleTypes_Word.h:34,
#9 2841.2                  from ../Source/Common/SimpleTypes_Word.cpp:32,
#9 2841.2                  from common_formatlib.cpp:40,
#9 2841.2                  from docxformatlib_logic.cpp:32:
#9 2841.2 ../Source/Common/../XML/Utils.h:50:10: fatal error: boost/lexical_cast.hpp: No such file or directory
#9 2841.2  #include <boost/lexical_cast.hpp>
#9 2841.2           ^~~~~~~~~~~~~~~~~~~~~~~~
#9 2841.2 compilation terminated.

why is all it so broken

@bill88t
Copy link
Author

bill88t commented Jul 2, 2022

Ah that was just boost being stored in the wrong dir name, fixed that.

Now errored 5 hours after that at sub--desktop-sdk-ChromiumBasedEditors-lib-ascdocumentscore-pro-make_first-ordered with:

#8 16859.8 /core/Common/3dParty/pole/pole.cpp: In member function 'POLE::uint64 POLE::DirTree::unused()':
#8 16859.8 /core/Common/3dParty/pole/pole.cpp:133:7: warning: '<anonymous>.POLE::DirEntry::prefix' may be used uninitialized in this function [-Wmaybe-uninitialized]
#8 16859.8  class DirEntry
#8 16859.8        ^~~~~~~~
#8 17006.0 rm -f libascdocumentscore.so
#8 17006.0 /usr/bin/aarch64-linux-gnu-g++ -Wl,--rpath=./ -Wl,-rpath,'$ORIGIN' -Wl,-rpath,'$ORIGIN/converter' -Wl,--disable-new-dtags -Wl,-O1 -shared -o libascdocumentscore.so core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/base/cef_atomicops_x86_gcc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/base/cef_bind_helpers.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/base/cef_callback_helpers.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/base/cef_callback_internal.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/base/cef_lock.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/base/cef_lock_impl.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/base/cef_logging.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/base/cef_ref_counted.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/base/cef_string16.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/base/cef_thread_checker_impl.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/base/cef_weak_ptr.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/accessibility_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/app_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/audio_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/base_ref_counted_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/base_scoped_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/browser_process_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/client_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/completion_callback_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/context_menu_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/cookie_access_filter_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/cookie_visitor_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/delete_cookies_callback_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/dev_tools_message_observer_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/dialog_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/display_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/domvisitor_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/download_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/download_image_callback_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/drag_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/end_tracing_callback_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/extension_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/find_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/focus_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/jsdialog_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/keyboard_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/life_span_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/load_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/media_observer_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/media_route_create_callback_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/media_sink_device_info_callback_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/menu_model_delegate_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/navigation_entry_visitor_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/pdf_print_callback_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/print_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/read_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/register_cdm_callback_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/render_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/render_process_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/request_context_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/request_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/resolve_callback_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/resource_bundle_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/resource_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/resource_request_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/response_filter_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/run_file_dialog_callback_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/scheme_handler_factory_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/server_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/set_cookie_callback_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/string_visitor_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/task_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/test/translator_test_ref_ptr_client_child_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/test/translator_test_ref_ptr_client_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/test/translator_test_scoped_client_child_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/test/translator_test_scoped_client_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/urlrequest_client_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/v8accessor_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/v8array_buffer_release_callback_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/v8handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/v8interceptor_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/views/browser_view_delegate_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/views/button_delegate_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/views/menu_button_delegate_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/views/panel_delegate_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/views/textfield_delegate_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/views/view_delegate_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/views/window_delegate_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/web_plugin_info_visitor_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/web_plugin_unstable_callback_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/cpptoc/write_handler_cpptoc.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/auth_callback_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/before_download_callback_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/binary_value_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/browser_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/browser_host_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/callback_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/command_line_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/context_menu_params_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/cookie_manager_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/dictionary_value_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/domdocument_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/domnode_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/download_item_callback_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/download_item_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/drag_data_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/extension_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/file_dialog_callback_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/frame_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/get_extension_resource_callback_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/image_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/jsdialog_callback_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/list_value_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/media_router_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/media_route_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/media_sink_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/media_source_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/menu_model_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/navigation_entry_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/post_data_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/post_data_element_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/print_dialog_callback_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/print_job_callback_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/print_settings_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/process_message_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/registration_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/request_callback_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/request_context_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/request_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/resource_bundle_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/resource_read_callback_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/resource_skip_callback_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/response_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/run_context_menu_callback_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/scheme_registrar_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/select_client_certificate_callback_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/server_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/sslinfo_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/sslstatus_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/stream_reader_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/stream_writer_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/task_runner_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/test/translator_test_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/test/translator_test_ref_ptr_library_child_child_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/test/translator_test_ref_ptr_library_child_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/test/translator_test_ref_ptr_library_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/test/translator_test_scoped_library_child_child_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/test/translator_test_scoped_library_child_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/test/translator_test_scoped_library_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/thread_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/urlrequest_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/v8context_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/v8exception_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/v8stack_frame_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/v8stack_trace_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/v8value_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/value_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/views/box_layout_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/views/browser_view_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/views/button_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/views/display_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/views/fill_layout_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/views/label_button_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/views/layout_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/views/menu_button_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/views/menu_button_pressed_lock_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/views/panel_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/views/scroll_view_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/views/textfield_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/views/view_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/views/window_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/waitable_event_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/web_plugin_info_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/x509certificate_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/x509cert_principal_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/xml_reader_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/ctocpp/zip_reader_ctocpp.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/shutdown_checker.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/transfer_util.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/wrapper/cef_byte_read_handler.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/wrapper/cef_closure_task.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/wrapper/cef_message_router.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/wrapper/cef_resource_manager.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/wrapper/cef_scoped_temp_dir.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/wrapper/cef_stream_resource_handler.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/wrapper/cef_xml_object.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/wrapper/cef_zip_archive.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/wrapper/libcef_dll_wrapper.o core_build/linux_arm64/release/obj/src/cef_87/linux/libcef_dll/wrapper/libcef_dll_wrapper2.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/shared/browser/client_app_browser.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/shared/browser/extension_util.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/shared/browser/file_util.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/shared/browser/geometry_util.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/shared/browser/main_message_loop.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/shared/browser/main_message_loop_external_pump.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/shared/browser/main_message_loop_std.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/shared/common/client_app.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/shared/common/client_app_other.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/shared/common/client_switches.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/shared/renderer/client_app_renderer.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/binding_test.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/browser_window.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/bytes_write_handler.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/client_app_delegates_browser.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/client_browser.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/client_handler.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/client_handler_std.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/dialog_test.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/drm_test.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/image_cache.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/main_context.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/main_context_impl.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/media_router_test.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/preferences_test.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/response_filter_test.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/root_window.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/root_window_create.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/root_window_manager.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/scheme_test.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/server_test.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/test_runner.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/urlrequest_test.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/window_test.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/window_test_runner.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/common/scheme_test_common.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/renderer/client_renderer.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/renderer/performance_test.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/renderer/performance_test_tests.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/shared/browser/main_message_loop_external_pump_linux.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/shared/browser/resource_util_posix.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/browser_window_std_gtk.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/dialog_handler_gtk.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/main_context_impl_posix.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/main_message_loop_multithreaded_gtk.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/resource_util_linux.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/root_window_gtk.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/root_window_views.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/temp_window_x11.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/util_gtk.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/views_menu_bar.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/views_style.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/views_window.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/window_test_runner_gtk.o core_build/linux_arm64/release/obj/src/cef_87/linux/tests/cefclient/browser/window_test_runner_views.o core_build/linux_arm64/release/obj/src/cefwrapper/client_scheme_wrapper.o core_build/linux_arm64/release/obj/src/cefwrapper/client_renderer_wrapper.o core_build/linux_arm64/release/obj/src/cefwrapper/client_resource_handler_async.o core_build/linux_arm64/release/obj/src/applicationmanager.o core_build/linux_arm64/release/obj/src/keyboardchecker.o core_build/linux_arm64/release/obj/src/spellchecker.o core_build/linux_arm64/release/obj/src/cefapplication.o core_build/linux_arm64/release/obj/src/cefview.o core_build/linux_arm64/release/obj/src/fileprinter.o core_build/linux_arm64/release/obj/src/crypto_mode.o core_build/linux_arm64/release/obj/src/keychain.o core_build/linux_arm64/release/obj/core/Common/OfficeFileFormatChecker2.o core_build/linux_arm64/release/obj/core/Common/3dParty/pole/pole.o core_build/linux_arm64/release/obj/core/Common/DocxFormat/Source/Base/unicode_util.o core_build/linux_arm64/release/obj/core/HtmlRenderer/src/ASCSVGWriter.o core_build/linux_arm64/release/obj/core/OfficeCryptReader/source/ECMACryptFile.o core_build/linux_arm64/release/obj/core/OfficeCryptReader/source/CryptTransform.o core_build/linux_arm64/release/obj/src/additional/create.o  -L/desktop-sdk/ChromiumBasedEditors/lib/../../../core/build/lib/linux_arm64 -lgraphics -lkernel -lUnicodeConverter -lkernel_network -lPdfWriter -lPdfReader -lXpsFile -lDjVuFile -lHtmlRenderer -lhunspell -looxmlsignature -L/desktop-sdk/ChromiumBasedEditors/lib/cef_pri_87/../../../../core/Common/3dParty/cef/linux_arm64/build -lcef -lX11 -L/core/Common/3dParty/boost/build/linux_arm64/lib -lboost_system -lboost_filesystem -lboost_regex -lCryptoPPLib -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -latk-1.0 -lgobject-2.0 -lglib-2.0 -lpthread  
#8 17006.6 /usr/bin/ld: cannot find -lcef
#8 17006.6 collect2: error: ld returned 1 exit status
#8 17006.6 /build_tools/../desktop-sdk/ChromiumBasedEditors/lib/Makefile.ascdocumentscorelinux_arm64:1455: recipe for target '/core/build/lib/linux_arm64/libascdocumentscore.so' failed
#8 17006.6 make[1]: *** [/core/build/lib/linux_arm64/libascdocumentscore.so] Error 1
#8 17006.6 make[1]: Leaving directory '/desktop-sdk/ChromiumBasedEditors/lib'
#8 17006.7 makefiles/build.makefile_linux_arm64:1604: recipe for target 'sub--desktop-sdk-ChromiumBasedEditors-lib-ascdocumentscore-pro-make_first-ordered' failed
#8 17006.7 make: *** [sub--desktop-sdk-ChromiumBasedEditors-lib-ascdocumentscore-pro-make_first-ordered] Error 2

Because my cef stuff was borked.

@bill88t
Copy link
Author

bill88t commented Jul 3, 2022

#8 17812.9 done with make_pro

And after a lot of npm, it failed at:

#8 23248.7 prebuild-install WARN install No prebuilt binaries found (target=v14.19.2 runtime=node arch=arm64 libc= platform=linux)
#8 23251.1 prebuild-install WARN install No prebuilt binaries found (target=v14.19.2 runtime=node arch=arm64 libc= platform=linux)
#8 23259.3 > [email protected]
#8 23261.3 > Warning Cannot resolve 'name'
#8 23261.3   /server/build/server/Metrics/node_modules/statsd/stats.js
#8 23261.3   Dynamic require may fail at run time, because the requested file
#8 23261.3   is unknown at compilation time and not included into executable.
#8 23261.3   Use a string literal as an argument for 'require', or leave it
#8 23261.3   as is and specify the resolved file name in 'scripts' option.
#8 23261.3 > Warning Cannot resolve 'name'
#8 23261.3   /server/build/server/Metrics/node_modules/statsd/stats.js
#8 23261.3   Dynamic require may fail at run time, because the requested file
#8 23261.3   is unknown at compilation time and not included into executable.
#8 23261.3   Use a string literal as an argument for 'require', or leave it
#8 23261.3   as is and specify the resolved file name in 'scripts' option.
#8 23266.3 prebuild-install WARN install No prebuilt binaries found (target=v14.19.2 runtime=node arch=arm64 libc= platform=linux)
#8 23266.5 delete warning [folder not exist]: /build_tools/scripts/../../document-server-integration/web/documentserver-example/nodejs/node_modules
#8 23285.4 npm WARN [email protected] license should be a valid SPDX license expression
#8 23285.4 
#8 23285.4 added 215 packages from 141 contributors and audited 215 packages in 15.591s
#8 23285.8 
#8 23285.8 2 packages are looking for funding
#8 23285.8   run `npm fund` for details
#8 23285.8 
#8 23285.8 found 8 vulnerabilities (2 moderate, 1 high, 5 critical)
#8 23285.8   run `npm audit fix` to fix them, or `npm audit` for details
#8 23288.6 > [email protected]
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libkernel.so
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libkernel_network.so
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libUnicodeConverter.so
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libgraphics.so
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libPdfWriter.so
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libPdfReader.so
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libDjVuFile.so
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libXpsFile.so
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libHtmlFile2.so
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libHtmlRenderer.so
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libFb2File.so
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libEpubFile.so
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libDocxRenderer.so
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/bin/linux_64/x2t
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/Common/3dParty/icu/linux_64/build/libicudata.so.58
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/Common/3dParty/icu/linux_64/build/libicuuc.so.58
#8 23325.4 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libdoctrenderer.so
#8 23325.5 copy warning [file not exist]: /build_tools/scripts/../../core/Common/3dParty/v8/v8/out.gn/linux_64/icudtl.dat
#8 23326.0 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libhunspell.so
#8 23326.0 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libooxmlsignature.so
#8 23326.0 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libascdocumentscore.so
#8 23326.0 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libqtascdocumentscore.so
#8 23326.0 copy warning [file not exist]: /build_tools/scripts/../../core/build/bin/linux_64/editors_helper
#8 23326.1 copy warning [file not exist]: /build_tools/scripts/../../desktop-apps/win-linux/build/linux_64/DesktopEditors
#8 23326.1 copy warning [file not exist]: /build_tools/scripts/../../core/build/lib/linux_64/libvideoplayer.so
#8 23331.6   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
#8 23331.6                                  Dload  Upload   Total   Spent    Left  Speed
100  4992  100  4992    0     0   7518      0 --:--:-- --:--:-- --:--:--  7598
#8 23332.4   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
#8 23332.4                                  Dload  Upload   Total   Spent    Left  Speed
100 22734  100 22734    0     0  50859      0 --:--:-- --:--:-- --:--:-- 51904
#8 23332.9   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
#8 23332.9                                  Dload  Upload   Total   Spent    Left  Speed
100 15949  100 15949    0     0  33934      0 --:--:-- --:--:-- --:--:-- 34447
#8 23333.5   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
#8 23333.5                                  Dload  Upload   Total   Spent    Left  Speed
100  4992  100  4992    0     0  17273      0 --:--:-- --:--:-- --:--:-- 17639
#8 23333.9   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
#8 23333.9                                  Dload  Upload   Total   Spent    Left  Speed
100 22734  100 22734    0     0  90936      0 --:--:-- --:--:-- --:--:-- 93172
#8 23334.2   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
#8 23334.2                                  Dload  Upload   Total   Spent    Left  Speed
100 15949  100 15949    0     0  64310      0 --:--:-- --:--:-- --:--:-- 65633
#8 23334.5 copy warning [file not exist]: /build_tools/scripts/../../core/build/bin/linux_64/allfontsgen
#8 23334.5 copy warning [file not exist]: /build_tools/scripts/../../core/build/bin/linux_64/allthemesgen
#8 23334.6 /bin/sh: 1: /build_tools/scripts/../out/linux_64/onlyoffice/desktopeditors/converter/allfontsgen: not found
#8 23334.6 Error (/build_tools/scripts/../out/linux_64/onlyoffice/desktopeditors/converter/allfontsgen): 127

I am not a nodejs guy, and I have no idea how npm works, so this is probably gon take a very good while to understand what happened.

@bill88t
Copy link
Author

bill88t commented Jul 8, 2022

Successfully built it for the first time, however all of libicu (libicudata.so libicudata.so.52 libicudata.so.52.1 libicui18n.so libicui18n.so.52 libicui18n.so.52.1 libicuuc.so libicuuc.so.52 libicuuc.so.52.1) files are missing on the target.
I will have to investigate a bit more, but we are close.

@bill88t
Copy link
Author

bill88t commented Jul 10, 2022

Fixed icu, now the app fails to start with:

QT_DEBUG_PLUGINS=1 ./DesktopEditors 
QFactoryLoader::QFactoryLoader() checking directory path "/home/bill88t/Desktop/desktopeditors/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/home/bill88t/Desktop/desktopeditors/platforms/libqeglfs.so"
Found metadata in lib /home/bill88t/Desktop/desktopeditors/platforms/libqeglfs.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "eglfs"
        ]
    },
    "className": "QEglFSIntegrationPlugin",
    "debug": false,
    "version": 329993
}


Got keys from plugin meta data ("eglfs")
QFactoryLoader::QFactoryLoader() looking at "/home/bill88t/Desktop/desktopeditors/platforms/libqlinuxfb.so"
Found metadata in lib /home/bill88t/Desktop/desktopeditors/platforms/libqlinuxfb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "linuxfb"
        ]
    },
    "className": "QLinuxFbIntegrationPlugin",
    "debug": false,
    "version": 329993
}


Got keys from plugin meta data ("linuxfb")
QFactoryLoader::QFactoryLoader() looking at "/home/bill88t/Desktop/desktopeditors/platforms/libqminimal.so"
Found metadata in lib /home/bill88t/Desktop/desktopeditors/platforms/libqminimal.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimal"
        ]
    },
    "className": "QMinimalIntegrationPlugin",
    "debug": false,
    "version": 329993
}


Got keys from plugin meta data ("minimal")
QFactoryLoader::QFactoryLoader() looking at "/home/bill88t/Desktop/desktopeditors/platforms/libqminimalegl.so"
Found metadata in lib /home/bill88t/Desktop/desktopeditors/platforms/libqminimalegl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimalegl"
        ]
    },
    "className": "QMinimalEglIntegrationPlugin",
    "debug": false,
    "version": 329993
}


Got keys from plugin meta data ("minimalegl")
QFactoryLoader::QFactoryLoader() looking at "/home/bill88t/Desktop/desktopeditors/platforms/libqoffscreen.so"
Found metadata in lib /home/bill88t/Desktop/desktopeditors/platforms/libqoffscreen.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "offscreen"
        ]
    },
    "className": "QOffscreenIntegrationPlugin",
    "debug": false,
    "version": 329993
}


Got keys from plugin meta data ("offscreen")
QFactoryLoader::QFactoryLoader() looking at "/home/bill88t/Desktop/desktopeditors/platforms/libqvnc.so"
Found metadata in lib /home/bill88t/Desktop/desktopeditors/platforms/libqvnc.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "vnc"
        ]
    },
    "className": "QVncIntegrationPlugin",
    "debug": false,
    "version": 329993
}


Got keys from plugin meta data ("vnc")
QFactoryLoader::QFactoryLoader() looking at "/home/bill88t/Desktop/desktopeditors/platforms/libqwayland-egl.so"
Found metadata in lib /home/bill88t/Desktop/desktopeditors/platforms/libqwayland-egl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland-egl"
        ]
    },
    "className": "QWaylandEglPlatformIntegrationPlugin",
    "debug": false,
    "version": 329993
}


Got keys from plugin meta data ("wayland-egl")
QFactoryLoader::QFactoryLoader() looking at "/home/bill88t/Desktop/desktopeditors/platforms/libqwayland-generic.so"
Found metadata in lib /home/bill88t/Desktop/desktopeditors/platforms/libqwayland-generic.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland"
        ]
    },
    "className": "QWaylandIntegrationPlugin",
    "debug": false,
    "version": 329993
}


Got keys from plugin meta data ("wayland")
QFactoryLoader::QFactoryLoader() looking at "/home/bill88t/Desktop/desktopeditors/platforms/libqwayland-xcomposite-egl.so"
Found metadata in lib /home/bill88t/Desktop/desktopeditors/platforms/libqwayland-xcomposite-egl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland-xcomposite-egl"
        ]
    },
    "className": "QWaylandXCompositeEglPlatformIntegrationPlugin",
    "debug": false,
    "version": 329993
}


Got keys from plugin meta data ("wayland-xcomposite-egl")
QFactoryLoader::QFactoryLoader() looking at "/home/bill88t/Desktop/desktopeditors/platforms/libqwayland-xcomposite-glx.so"
Found metadata in lib /home/bill88t/Desktop/desktopeditors/platforms/libqwayland-xcomposite-glx.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland-xcomposite-glx"
        ]
    },
    "className": "QWaylandXCompositeGlxPlatformIntegrationPlugin",
    "debug": false,
    "version": 329993
}


Got keys from plugin meta data ("wayland-xcomposite-glx")
QFactoryLoader::QFactoryLoader() looking at "/home/bill88t/Desktop/desktopeditors/platforms/libqxcb.so"
Found metadata in lib /home/bill88t/Desktop/desktopeditors/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 329993
}


Got keys from plugin meta data ("xcb")
Cannot load library /home/bill88t/Desktop/desktopeditors/platforms/libqxcb.so: (/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5: undefined symbol: _ZN15QPlatformWindow10initializeEv, version Qt_5_PRIVATE_API)
QLibraryPrivate::loadPlugin failed on "/home/bill88t/Desktop/desktopeditors/platforms/libqxcb.so" : "Cannot load library /home/bill88t/Desktop/desktopeditors/platforms/libqxcb.so: (/lib/aarch64-linux-gnu/libQt5XcbQpa.so.5: undefined symbol: _ZN15QPlatformWindow10initializeEv, version Qt_5_PRIVATE_API)"
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

Reinstalling the application may fix this problem.
Aborted

This appears to be a xcb - qt version mismatch, which means I should somehow make it build along with qt.

@bill88t
Copy link
Author

bill88t commented Jul 10, 2022

Got it. Had to launch it with LD_LIBRARY_PATH="/path/to/onlyoffice/folder.
image

For the 2nd time, this time natively, welcome to Raspberry Pi, Onlyoffice.

However it segfaults whenever I try to do pretty much anything..
And it pretty much is not pr ready as it has changes conflicting with the rest of the stuff.
@ShockwaveNN What should I do from here?

For anyone who wants to see for themselves, https://github.com/bill88t/build-tools-arm64 it's only a 15hr compile

@ShockwaveNN
Copy link
Contributor

@ShockwaveNN What should I do from here?

Sorry, but I really don't know what to do, I don't sure that our team has enough resources to find out reasons of segfaults by ourselfs

@zpss1
Copy link

zpss1 commented Jul 10, 2022

Got it. Had to launch it with LD_LIBRARY_PATH="/path/to/onlyoffice/folder. image

For the 2nd time, this time natively, welcome to Raspberry Pi, Onlyoffice.

However it segfaults whenever I try to do pretty much anything.. And it pretty much is not pr ready as it has changes conflicting with the rest of the stuff. @ShockwaveNN What should I do from here?

For anyone who wants to see for themselves, https://github.com/bill88t/build-tools-arm64 it's only a 15hr compile

Problem in QT Threads + CEF.

@bill88t
Copy link
Author

bill88t commented Jul 10, 2022

Here, have a gdb run.
Not very helpful, since I didn't produce debug symbols, but eh.
I'm not doing a 15hr compile without a compelling amount of changes.

[bill88t@Pi400 | desktopeditors]> LD_LIBRARY_PATH="/home/bill88t/Desktop/desktopeditors/" gdb ./DesktopEditors
GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "aarch64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./DesktopEditors...
(No debugging symbols found in ./DesktopEditors)
(gdb) run
Starting program: /home/bill88t/Desktop/desktopeditors/DesktopEditors 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fe674cb40 (LWP 2818)]
[New Thread 0x7fe4e7ab40 (LWP 2819)]
[Detaching after fork from child process 2820]
[Detaching after fork from child process 2821]
[New Thread 0x7fdfffeb40 (LWP 2822)]
[New Thread 0x7fdf7fdb40 (LWP 2823)]
[New Thread 0x7fdeffcb40 (LWP 2824)]
[New Thread 0x7fde7fbb40 (LWP 2825)]
[New Thread 0x7fddffab40 (LWP 2826)]
[New Thread 0x7fdd7f9b40 (LWP 2827)]
[New Thread 0x7fdcff8b40 (LWP 2829)]
[New Thread 0x7fc3ffeb40 (LWP 2828)]
[New Thread 0x7fc37fdb40 (LWP 2830)]
[New Thread 0x7fc2ffcb40 (LWP 2831)]
[New Thread 0x7fc27fbb40 (LWP 2833)]
[New Thread 0x7fc1ffab40 (LWP 2835)]
[New Thread 0x7fa6b27b40 (LWP 2841)]
[Detaching after fork from child process 2842]
[New Thread 0x7fa6326b40 (LWP 2843)]
[New Thread 0x7fa5b25b40 (LWP 2844)]
[New Thread 0x7fa4f59b40 (LWP 2863)]
[New Thread 0x7f9b872b40 (LWP 2864)]
[New Thread 0x7f9b071b40 (LWP 2865)]
[Thread 0x7f9b071b40 (LWP 2865) exited]
[Detaching after fork from child process 2869]
[New Thread 0x7f9a46fb40 (LWP 2870)]
[Thread 0x7f9a46fb40 (LWP 2870) exited]
[New Thread 0x7f9a46fb40 (LWP 2871)]
[Detaching after fork from child process 2872]
--Type <RET> for more, q to quit, c to continue without paging--

Thread 6 "ThreadPoolForeg" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fdeffcb40 (LWP 2824)]
0x0000000000000000 in ?? ()
(gdb) c
Continuing.
[Thread 0x7fa6326b40 (LWP 2843) exited]
[Thread 0x7f9a46fb40 (LWP 2871) exited]
[Thread 0x7f9b872b40 (LWP 2864) exited]
[Thread 0x7fa4f59b40 (LWP 2863) exited]
QObject::~QObject: Timers cannot be stopped from another thread
[Thread 0x7fa6b27b40 (LWP 2841) exited]

Thread 1 "DesktopEditors" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fe6c8c940 (LWP 2765)]
0x0000007ff64639ac in ?? ()
   from /home/bill88t/Desktop/desktopeditors/libQt5Gui.so.5
(gdb) c
Continuing.
Unable to fetch general registers.: No such process.
Unable to fetch general registers.: No such process.
(gdb) [Thread 0x7fa5b25b40 (LWP 2844) exited]
[Thread 0x7fc1ffab40 (LWP 2835) exited]
[Thread 0x7fc27fbb40 (LWP 2833) exited]
[Thread 0x7fc2ffcb40 (LWP 2831) exited]
[Thread 0x7fc37fdb40 (LWP 2830) exited]
[Thread 0x7fc3ffeb40 (LWP 2828) exited]
[Thread 0x7fdcff8b40 (LWP 2829) exited]
[Thread 0x7fdd7f9b40 (LWP 2827) exited]
[Thread 0x7fddffab40 (LWP 2826) exited]
[Thread 0x7fde7fbb40 (LWP 2825) exited]
[Thread 0x7fdeffcb40 (LWP 2824) exited]
[Thread 0x7fdf7fdb40 (LWP 2823) exited]
[Thread 0x7fdfffeb40 (LWP 2822) exited]
[Thread 0x7fe4e7ab40 (LWP 2819) exited]
[Thread 0x7fe6c8c940 (LWP 2765) exited]

@zpss1
Copy link

zpss1 commented Jul 21, 2022

To fix segfault

  1. in core/Common/base.pri change QMAKE_CC, QMAKE_CXX, QMAKE_LINK and QMAKE_LINK_SHLIB to clang (clang 11)

This way:

linux_arm64 {
CORE_BUILDS_PLATFORM_PREFIX = linux_arm64
DEFINES += ARM_ALIGN
ARM64_TOOLCHAIN_BIN = $$(ARM64_TOOLCHAIN_BIN)
ARM64_TOOLCHAIN_BIN_PREFIX = $$(ARM64_TOOLCHAIN_BIN_PREFIX)

!isEmpty(ARM64_TOOLCHAIN_BIN){
    !isEmpty(ARM64_TOOLCHAIN_BIN_PREFIX){

        ARM64_TOOLCHAIN_BIN_FULL = $$ARM64_TOOLCHAIN_BIN/$$ARM64_TOOLCHAIN_BIN_PREFIX

       # QMAKE_CC          = $$join(ARM64_TOOLCHAIN_BIN_FULL, , , "clang")
       # QMAKE_CXX         = $$join(ARM64_TOOLCHAIN_BIN_FULL, , , "clang++")
       # QMAKE_LINK        = $$join(ARM64_TOOLCHAIN_BIN_FULL, , , "clang++")
       # QMAKE_LINK_SHLIB  = $$join(ARM64_TOOLCHAIN_BIN_FULL, , , "clang++")
        QMAKE_CC          =  "clang"
        QMAKE_CXX         =  "clang++"
        QMAKE_LINK        =  "clang++"
        QMAKE_LINK_SHLIB  =  "clang++"

        QMAKE_AR          = $$join(ARM64_TOOLCHAIN_BIN_FULL, , , "ar cqs")
        QMAKE_OBJCOPY     = $$join(ARM64_TOOLCHAIN_BIN_FULL, , , "objcopy")
        QMAKE_NM          = $$join(ARM64_TOOLCHAIN_BIN_FULL, , , "nm -P")
        QMAKE_STRIP       = $$join(ARM64_TOOLCHAIN_BIN_FULL, , , "strip")

    }
}

}

  1. and use -std=gnu++11

  2. in desktop-apps/win-linux/src/linux/*

in all *.cpp files fix error: “type 'double' cannot be narrowed to 'int' in initializer list [-Wc++11-narrowing] “- by adding “static_cast( ) “

something like this way
setMinimumSize(WindowHelper::correctWindowMinimumSize(_dest_rect, {static_cast<int>(WINDOW_MIN_WIDTH*factor), static_cast<int>(WINDOW_MIN_HEIGHT*factor)}));

@bill88t
Copy link
Author

bill88t commented Jul 22, 2022

Well 1 could be done in yet another base.replaceinfile right before the build as an arm64-specific patch.
I will do it when I get the time and courage to do the build again.

@mio-19
Copy link

mio-19 commented Jun 23, 2023

Is it possible to merge these changes to the repo?

@bill88t
Copy link
Author

bill88t commented Jun 23, 2023

Nope. They are out-of-date, and broken regardless.
I am not wasting any more time into this.

@alfredonodo
Copy link

Any update?

@kde-yyds
Copy link

kde-yyds commented Oct 5, 2023

any updates?

@bill88t
Copy link
Author

bill88t commented Oct 5, 2023

No @kde-yyds. I will not be working on this issue.

The progress is there.
If somebody wants it done, do it yourselves.

@fernfei
Copy link

fernfei commented Jul 10, 2024

Hi everyone, here's how to compile code for the ARM architecture. I have already written the entire process to automate it.
https://github.com/fernfei/build_tools/tree/release/v8.1.0
How to use

git clone --branch release/v8.1.0 https://github.com/fernfei/build_tools
cd build_tools/tools/linux
./automate.py --platform="linux_arm64"

ps. Must be ubuntu:18.04

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
confirmed-bug Issues with confirmed bugs
Projects
None yet
Development

No branches or pull requests