PlutoSVG-0.0.7

#### Supplemental Linux® From Scratch - Version 13.0

### Chapter 2. General Libraries

- Prev

  nlohmann-json-3.12.0

- Next

  pugixml-1.15

- Up
- Home

# PlutoSVG-0.0.7

## Introduction to PlutoSVG

This page installs both the PlutoVG and PlutoSVG packages. PlutoVG provides a 2D vector graphics library, whereas PlutoSVG utilizes PlutoVG to provide an SVG rendering library. PlutoVG will be installed first, then PlutoSVG.

- PlutoVG Download: https://github.com/sammycage/plutovg/archive/v1.3.2/plutovg-1.3.2.tar.gz

- PlutoSVG Download: https://github.com/sammycage/plutosvg/archive/v0.0.7/plutosvg-0.0.7.tar.gz

### PlutoSVG Dependencies

#### Recommended

CMake (for CMake files needed by CMake build systems)

#### Optional

FreeType2

## Installation of PlutoSVG

PlutoVG will be installed first, so unpack the PlutoVG tarball and navigate to the extracted directory. Afterwards, install PlutoVG by running the following commands:

    mkdir build &&
    cd    build &&

    cmake -D CMAKE_INSTALL_PREFIX=/usr \
          -D CMAKE_BUILD_TYPE=Release  \
          -D BUILD_SHARED_LIBS=ON      \
          -W no-dev -G Ninja .. &&
    ninja

Now, as the `root` user:

    ninja install

Now build PlutoSVG:

    tar -xf ../../plutosvg-0.0.7.tar.gz &&

    cmake -D CMAKE_INSTALL_PREFIX=/usr \
          -D CMAKE_BUILD_TYPE=Release  \
          -D BUILD_SHARED_LIBS=ON      \
          -W no-dev -G Ninja           \
          -B svg-build                 \
          plutosvg-0.0.7 &&
    ninja -C svg-build

Finally, install PlutoSVG as the `root` user:

    ninja -C svg-build install

As a post-installation step, you need to fix library sonames that are supposed to be symlinks. The sonames are the actual libraries which must be moved to indicate that they are, then ldconfig must be ran afterwards to reinstate them as symlinks. Do that now as the `root` user:

    rm -vf /usr/lib/libplutovg.so.1.3.2  &&
    rm -vf /usr/lib/libplutosvg.so.0.0.7 &&
    mv -vf /usr/lib/libplutovg.so.1{,.3.2}  &&
    mv -vf /usr/lib/libplutosvg.so.0{,.0.7} &&
    ldconfig

### Note

If you reinstall or upgrade PlutoVG and PlutoSVG, the above set of commands must be ran since the installation will overwrite the symlinks.

### Important

If you run the above set of commands more than once without another reinstallation or upgrade between, then the actual libraries will be deleted and symlinks will be put in their place. You will then have to reinstall PlutoVG and PlutoSVG, then run the commands again.

## Contents

Installed Programs: None
Installed Libraries: libplutosvg and libplutovg
Installed Directories: /usr/{include,lib/cmake}/pluto{,s}vg

### Short Descriptions

`libplutosvg` | provides SVG rendering functions
`libplutovg` | provides 2D vector manipulation and rendering functions

- Prev

  nlohmann-json-3.12.0

- Next

  pugixml-1.15

- Up
- Home