-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
DocumentServer Word not working on ARM #152
Comments
Hi there. Personally I've never tried to compile our project on ARM. |
Hey, Thanks for your response. Output of x2t:
Tried to convert a file from doc to docx, i.e. |
@pi-xel Wow. This is a great news. |
@pi-xel also - is there any error in browser whyle you trying to open it? And did you try to open empty document or with some content |
I compiled everything on XU4, except for CEF which I cross-compiled on my PC. Also ICU I had to compile manually, as the provided download link was only x86. When I open a docx in the browser, no matter whether it's empty or not, the file loads to 100% and then gets stuck in that screen. And all that is logged is the error message I've sent in my first post. |
PS: Also had to switch from GCC 4.9 to GCC 6 coz I got some compiler internal errors when compiling core and had to do some manual tweaking on obtaining and compiling certain node modules which I don't remember exactly to get sdkjs compiled (which also took an awful long time on XU4, each module (word, sheet, cell) took about 6-8 hours). |
Сan you attach data from WebSocket?
Your error in logs contains dates. Did you add them manually? Because if I remember correctly - path to sdk.js on manually compiled DocumentServer should be like this |
I wanted the server to run using SSL and did not manage to derive a working configuration from the one given in the source code instructions. Before trying for too long, I simply copied the configuration from the respective *.deb package. Which websocket data do you want? |
@pi-xel There is two websockets, one for spell check - we don't need it, other for docservice, data should look like on my screenshot - we need that data |
@pi-xel Sorry, but we need whole data, not only screenshot. Could you copy paste each line to text file, replace your secret data and attach it here? |
|
Does that tell you something? |
Could you attach this file? |
@ShockwaveNN This is a newly created file from within Nextcloud, but the result is the same for already existent (externally created) files. Have attached the file. |
@pi-xel could you attach |
Attached. |
@pi-xel How did you compiled sdk js files? |
Followed instructions there, no hack if I remember correctly |
@pi-xel In attached sdk-all you have header |
Oh yeah, I have recompiled these yesterday, setting version and build in Makefile because Nextcloud client was complaining about too low version number and I wanted to exclude that some inappropriate legacy actions were performed when using v0.0.0. But the outcome was the same for both versions, i.e. the very same error message appears. |
Have run a diff on my sdkjs folder and the sdkjs folder from git. Only differences are the version numbers in Makefile, as well as the instruction that Grunt should compile using flag -Xms1024m instead of -Xms2048m. |
Also ran a diff on core. These are the differences (left is original, right is modified):
Besides, there are quite some diffs in As said, pptx and xlsx work flawlessly, only docx is problematic. Edit: Diff on server and web-apps shows both folders being identical. |
@pi-xel We think there is something wrong with google-closure compiler process or something like this.
And attach |
Thanks again for your help. Do I need to recompile whole sdkjs or is the word part sufficient? This is 8 vs 24 hours compile time... For the rest, now that I've shown that OnlyOffice indeed works on Arm, maybe you could consider supporting it officially. If you don't have Arm devices to build & test, maybe you could cross-compile and/or setup a virtual machine. If you should decide to go that route and should run into issues in the compilation, I would gladly help to get it right. |
@pi-xel yeah, word part is enough |
Alright, building. Will come back to you once it's finished. |
Build finished, copied sdk-all.js and sdk-all-min.js to /var/www/onlyoffice/sdkjs/word - and it works flawlessly. As requested, find the newly generated files attached. Now everything seems to be up & running, thanks a lot for your help! |
Could you maybe also check the following thread? I don't know where the issues lie, within OnlyOffice itself or within OnlyOffice integration app. |
@pi-xel yeah, I show it to people who work with Owncloud |
Update: image is built, I'm working on docker-compose. Hopefully I can post you a working version in the evening |
DOCKER IMAGE UP AND RUNNING WITHOUT ISSUES!I got the damn thing running in docker! For anyone that hesitated because of the weird things you had to do with packages, this is for you! Just build the image, start the container and you're up and running! It's that easy I promise!My repository with a step by step guide in README is here @ShockwaveNN Would you be so kind and take a look, please? I want to know your opinion. |
An alternative is to just add |
The problem is that it'll be slow. This will emulate all the packages in the docker container. My container is arm64 and emulates only the server itself ( |
I just explained to add the |
I'm sorry I don't think I have any ARM device in my disposal to test in and frankly I do not have enough time to check it |
Alright, I understand you have work to do and I don't want to be that person who demands developers to do what I want. I'll try what I can to help the community and once I finish my studies I hope I can support you with a license. GL with everything you're working on. Thx for your amazing help so far |
Just to confirm that the Dockerfile provided by @jiriks74 is working :-) |
You're welcome! Glad I could help! If you'd be interested I can provide a script that'll increase the max filesizes allowed (I have over 100MB presentations from school that I need to open and it wouldn't let me because of the limitations set by default). I want to make the options available in The setup of a secret key should be in the README in my repo if you're interested in that. PS: Why are the file limits and secret keys so hard to setup? I couldn't find anything about it in documentation. I solved the filesizes by randomly going through configuration files - I got a headstart with script that @ShockwaveNN sent me - but I couldn't solve the secret key thing until I found an unclosed issue by pure luck that had this mentioned as on of the possible solutions but it wasn't mentioned that it really solves it. I've been told that the Secret key thing was reported to proper repo and will be taken care of, so this part will be hopefully ok. I'll try to make the filesizes script more accessible so people can find it and change their file limits, because this is really, really unfriendly and took me an awful amount of time to solve. |
Manage to make @jiriks74 docker environment to work, thank you. Here's a detailed description. The @unixfox solution didn't work, as it lead to
|
@cheadrian
|
@cheadrian Thanks for figuring that out and making your awesome tutorial. |
Docker image available on Docker HubSo I finally uploaded the image to dockerhub. I had time to only setup a basic README, so sorry if it's not the best. If you'd like to add or change something in it, please make an issue on my github repo. Here's the link: https://hub.docker.com/r/jiriks74/onlyoffice-documentserver-arm64 Hope this helps you, |
Why not building a native version? This is what I've done on FreeBSD. |
I have not been able to compile arm64 build yet |
Hi everyone, DocumentServer is available for arm64 in deb and rpm package I'll close this issue, but feel free to comment or create new issues if you got any troubles with it |
Nice! |
So, I've been able to make everything run in docker. THE PERFORMANCE IS AWESOME - like I've regenerated my themes when I upgraded, as I have to, and it took ONLY 21 MINUTE! It took OVER 2 HOURS when I had part of the server emulated! I've moved my GitHub repository and DockerHub repository to different names (and therefore links) as I've been able to modify the dockerfile in a way that allows me to build for both platforms! Everything is available at said repositories. I'll be maintaing both versions as long as I'll use the server (probably my whole life LOL), so you should be ok using it. THANKS it's running so well! |
@jiriks74 Glad to hear We got some trouble with our build infrastructure, so we didn't provide official arm docker image, but I really hope we will be able to do that soon (but I can't guarantee any exact time frame) Thank you for your work to and support of our product ) |
@ShockwaveNN The problem with your Dockerfile is using Ubuntu (where for whatever reason docker won't pull the arm64 version) so I changed it to Debian. As there were some repositories missing ( Then there's something with posgresql, database version string or something like that - that has to be changed from 12 to 13 as there's newer version of postgresql. The last thing is changing the part where the deb package is downloaded. I changed it so that it downloads the package for the architecture of the image automatically - so to build the image I build one on my raspberry pi and the other one on my pc. Take a look at my Dockerfile it's not really that different. EDIT: I'd submit a pull request, but I made my own README, which I think is simpler if you don't want to do complex stuff. |
This is interesting, but seems not related to our product. I think we'll use Ubuntu as base anyway and I leave this to our devops Thanks anyway, I think since it's new product version for us we currently leave everything as it is and gather some feedback and after that decide that to do next, so no need in PR's right now ) |
Sorry, but another change in my docker image. But it's a good one I swear! I managed to make multiarch images! I have a successful build now and I'll be waiting for it to upload to the DockerHub repository. Should now be without any further configuration to get the correct architecture of the image. |
Next goal - OnlyOffice Desktop for ARM? |
Next goal could be 32 bits ARM... |
@Botspot You'll probably should be able to compile it as the DesktopEditors is just modified DocumentServer - they use the same core so there's less maintenance. I'll try it in a week or so. |
I already had a go on this, please refer to this issue |
您好,
Hello, could you share the tutorial of compiling documentserver arm64? Looking forward to your reply!
Hello, could you share the tutorial of compiling documentserver arm64? Looking forward to your reply! |
Hello everyone,
I have successfully compiled OnlyOffice DocumentServer for ARM (latest GIT clone, on an ODroid XU4 running Debian Jessie) and integrated it with Nextcloud.
I can edit spreadsheets and presentations flawlessly, however, when I try to open a Word document, the loading screen gets stuck at 100% and I log messages like:
2017-08-10 01:38:15.688] [ERROR] nodeJS - changesError: docId = 3344951502280414 Error: Uncaught TypeError: Cannot read property 'kb' of null Script: https://example.com/2017-07-21-15-20/sdkjs/word/sdk-all.js Line: 7205:203 userAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36 platform: Linux x86_64 StackTrace: TypeError: Cannot read property 'kb' of null
at Sa.yV (https://example.com/2017-07-21-15-20/sdkjs/word/sdk-all.js:7205:203)
at wf (https://example.com/2017-07-21-15-20/sdkjs/word/sdk-all.js:94:300)
at kt.ASb (https://example.com/2017-07-21-15-20/sdkjs/word/sdk-all.js:8644:493)
at kt.v7c (https://example.com/2017-07-21-15-20/sdkjs/word/sdk-all.js:8642:264)
at kt.Rka (https://example.com/2017-07-21-15-20/sdkjs/word/sdk-all.js:8639:197)
at Ea.Rka (https://example.com/2017-07-21-15-20/sdkjs/word/sdk-all-min.js:698:177)
at Ea.mAc (https://example.com/2017-07-21-15-20/sdkjs/word/sdk-all-min.js:699:137)
at Object.W3a (https://example.com/2017-07-21-15-20/sdkjs/word/sdk-all.js:5357:79)
at gxc (https://example.com/2017-07-21-15-20/sdkjs/word/sdk-all.js:5358:85)
I do not expect that you fix these errors as I know that ARM is not sufficiently supported. But maybe you can give me an indication on how to debug this, the compressed *.js files are not really readable.
Best regards,
pi-xel
The text was updated successfully, but these errors were encountered: