Difference between revisions of "Compiling Inkscape on Chrome OS"

From Inkscape Wiki
Jump to navigation Jump to search
(→‎Walkthrough: add libdouble-conversion-dev and libgdl-3-dev (see https://gitlab.com/inkscape/inkscape/issues/645))
 
(5 intermediate revisions by one other user not shown)
Line 4: Line 4:


Inkscape can only be compiled on Chromebooks that support Linux apps. There is a list available on the [https://www.reddit.com/r/Crostini/wiki/getstarted/crostini-enabled-devices Crostini subreddit's wiki]. Pixelbook, Pixel Slate and several other premium Chromebook models are known to work and include both x86-64 and ARM64 models. 32-bit ARM and Intel Chromebooks are not supported.
Inkscape can only be compiled on Chromebooks that support Linux apps. There is a list available on the [https://www.reddit.com/r/Crostini/wiki/getstarted/crostini-enabled-devices Crostini subreddit's wiki]. Pixelbook, Pixel Slate and several other premium Chromebook models are known to work and include both x86-64 and ARM64 models. 32-bit ARM and Intel Chromebooks are not supported.
You will need at least 4 GB of disk space for the Inkscape repository and the intermediate build files, plus some space for the Crostini installation, dependencies and tools. We recommend at least 6 GB of free space.


==Walkthrough==
==Walkthrough==
Line 9: Line 11:
This walkthrough assumes you have some familiarity with Linux commands.
This walkthrough assumes you have some familiarity with Linux commands.


* Modify the APT configuration to include source packages. This step is needed to use APT's <code>build-dep</code> command. Open the file <code>/etc/apt/sources.list</code> and duplicate both lines there, then change the first word from <code>deb</code> to <code>deb-src</code>. Example file content after modification:
* Modify the APT configuration to include source package repositories. This step is needed to use APT's <code>build-dep</code> command. Open the file <code>/etc/apt/sources.list</code> and duplicate both lines there, then change the first word from <code>deb</code> to <code>deb-src</code>. Example file content after modification:


<pre><nowiki>
<pre><nowiki>
Line 18: Line 20:
</nowiki></pre>
</nowiki></pre>


* Install Git: <code>sudo apt install git</code>
* Install build dependencies for Inkscape and a few tools.
* Install build dependencies for Inkscape: <code>sudo apt build-dep inkscape</code>
 
** Install dependencies that are newly added in the master branch: <code>sudo apt install libsoup2.4-dev libgtkmm-3.0-dev libgtkspellmm-3.0-dev</code>
<pre>
sudo apt build-dep inkscape
sudo apt install git wget libdouble-conversion-dev libsoup2.4-dev libgtkmm-3.0-dev libgtkspellmm-3.0-dev libgdl-3-dev
</pre>
 
* Create a new default SSH key: <code>ssh-keygen</code> (you can just hit Enter for every question)
* Create a new default SSH key: <code>ssh-keygen</code> (you can just hit Enter for every question)
* Add the newly generated public key to your GitLab account. One way is to use the command <code>cat ~/.ssh/id_rsa.pub</code>, select the text (it is automatically copied to the clipboard) and paste it into the text box on the website.
* Add the newly generated public key to your GitLab account. One way is to use the command <code>cat ~/.ssh/id_rsa.pub</code>, select the text (it is automatically copied to the clipboard) and paste it into the text box on the website.
Line 26: Line 32:
** This will take some time, because the Inkscape repo is multiple gigabytes.
** This will take some time, because the Inkscape repo is multiple gigabytes.
* Run the GTest download script: <code>./download-gtest.sh</code>
* Run the GTest download script: <code>./download-gtest.sh</code>
* <code>mkdir build && cd build && cmake ..</code>
* Run CMake: <code>mkdir build && cd build && cmake ..</code>
* <code>make -j4</code>
* Compile Inkscape: <code>make -j4</code>
* Install Inkscape: <code>sudo make install</code>
* Run Inkscape: <code>inkscape</code>
** Currently, Inkscape will crash when run if it was never installed, but running the binary from the build directory should work after installing it once; you don't need to perform the installation after every build, unless you make significant changes to the installed files.

Latest revision as of 21:14, 6 January 2020

Chrome OS offers beta support for Linux apps on some Chromebook models starting with version 69. The Linux environment on Chrome OS is called Crostini and is basically a virtual machine that runs Debian with a few custom packages. It can be used to run and develop Inkscape.

Supported hardware

Inkscape can only be compiled on Chromebooks that support Linux apps. There is a list available on the Crostini subreddit's wiki. Pixelbook, Pixel Slate and several other premium Chromebook models are known to work and include both x86-64 and ARM64 models. 32-bit ARM and Intel Chromebooks are not supported.

You will need at least 4 GB of disk space for the Inkscape repository and the intermediate build files, plus some space for the Crostini installation, dependencies and tools. We recommend at least 6 GB of free space.

Walkthrough

This walkthrough assumes you have some familiarity with Linux commands.

  • Modify the APT configuration to include source package repositories. This step is needed to use APT's build-dep command. Open the file /etc/apt/sources.list and duplicate both lines there, then change the first word from deb to deb-src. Example file content after modification:
deb https://deb.debian.org/debian stretch main
deb-src https://deb.debian.org/debian stretch main
deb https://deb.debian.org/debian-security stretch/updates main
deb-src https://deb.debian.org/debian-security stretch/updates main
  • Install build dependencies for Inkscape and a few tools.
sudo apt build-dep inkscape
sudo apt install git wget libdouble-conversion-dev libsoup2.4-dev libgtkmm-3.0-dev libgtkspellmm-3.0-dev libgdl-3-dev
  • Create a new default SSH key: ssh-keygen (you can just hit Enter for every question)
  • Add the newly generated public key to your GitLab account. One way is to use the command cat ~/.ssh/id_rsa.pub, select the text (it is automatically copied to the clipboard) and paste it into the text box on the website.
  • Check out the source in a directory of your choice: git clone git@gitlab.com:inkscape/inkscape.git
    • This will take some time, because the Inkscape repo is multiple gigabytes.
  • Run the GTest download script: ./download-gtest.sh
  • Run CMake: mkdir build && cd build && cmake ..
  • Compile Inkscape: make -j4
  • Install Inkscape: sudo make install
  • Run Inkscape: inkscape
    • Currently, Inkscape will crash when run if it was never installed, but running the binary from the build directory should work after installing it once; you don't need to perform the installation after every build, unless you make significant changes to the installed files.