Hi everyone, You may know me from doing marketing work and videos for TDF. But a while back I was talking to some developers and we had an idea: I should try to build LO from scratch (something I've never done before), using our existing documentation, to find out what could be improved.
I'm pretty geeky (been using Linux since 1998, know my way around the Bash prompt, and have written programming tutorials for magazines) so I'm probably quite representative of a typical new LO developer. I've described my findings below, running a fresh installation of Xubuntu 17.04. Overall the process wasn't too complicated, although there are some rather confusing bits, and places where we could provide more info. Let me know what you think! STEPS I TOOK 1. I go to Google and type "How to build LibreOffice". 2. The first hit is https://wiki.documentfoundation.org/Development/BuildingOnLinux - so I go there. 3. First job is build dependencies. I execute the command specified in the bullet point: sudo apt-get build-dep libreoffice An error comes up: "E: You must put some 'source' URIs in your sources.list". I Googled the error and fixed this by checking "Source code" in the software-properties-gtk tool I ran the command again and it worked. It could be noted in the wiki that it installs around 1GB of dependencies (of course that will vary from distro to distro). 4. Next is this bullet point: "With modern releases, use autogen to select a newer gstreamer, or install the old package with: sudo apt install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev" I don't know what "modern" is here - I'm assuming my distro is modern as it's just a few months old. But it's very vague. I click the link which takes me to https://wiki.documentfoundation.org/Development/Linux_Build_Dependencies#Debian - but there's no anchor for that so I just see the top of the page I scroll down to "Debian / Ubuntu" and run the command specified: sudo apt-get install git gstreamer1.0-libav libkrb5-dev nasm In point 2 I'm told: "To run build-dep your repository source should contain source-code repository source" It looks like this fixes the problem I encountered earlier, in the first step of BuildingOnLinux, but I wasn't told until now. The wording here is very confusing with "source" three times in one sentence - one referring to repositories, and one to source code. The following steps on that page just repeat what I did before as well. 5. I'm done with dependencies, so I go back to the BuildingOnLinux page. I look again at: "With modern releases, use autogen to select a newer gstreamer" But I don't know how to do that, and I can't recall using autogen to select anything; I only installed gstreamer1.0-libav. I try entering "autogen" but I'm told it's not installed. Looking back in Linux_Build_Dependencies, I see "When you use autogen.sh" under the "Older Ubuntu" section - but the previous page said "With *modern* releases, use autogen" So now I'm *totally confused* about when and where to use autogen, or autogen.sh - if I should use it at all! 6. I decide to continue with the "Cloning and building" part. I run: git clone git://anongit.freedesktop.org/libreoffice/core libreoffice NOTE: This requires 2.4GB of disk space - it's worth mentioning in the wiki before the command. (I discover later that this info is buried under "Details, Tips, Tricks and Hints" further down the page, but IMO it should be higher.) I'm assuming this is the master (very latest) LibreOffice source code, but it could also be from the latest stable release. Might be good to clarify this here. 7. Next, I cd into libreoffice and then I see the autogen.sh command in the instructions - which I'm assuming is what was mentioned before. So I run this, and it appears to work fine. 8. Then I run "make" which starts downloading more stuff from the internet. It's probably worth mentioning this, for devs who want to work offline or when travelling, and assume they don't need net access after the "git clone" bit. Question: does parallel make (eg "make -j 2") have any effect here on multi-core systems? Thought: it would be useful to have some rough benchmarks for how long the build process takes. eg "Dual-core Intel i5 2.4GHz: around X hours". It doesn't need to be very specific, but it should give new developers a rough indication. It has been building for a few hours now, so I thought I'd post this instead of waiting further. My next task is to fix a minor bug (or translate some German comments), and submit a patch, to see how that process works. -- Mike Saunders, Marketing & PR The Document Foundation _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice