A Mostly Complete Guide to Installing Scrivener on Linux

sj
sjardim
Posts: 3
Joined: Thu May 17, 2012 8:31 pm
Platform: Mac

Wed Nov 27, 2013 3:54 am Post

Just successfully installed Scrivener 1.6.1.1 beta on a IBM Lenovo 3000 C100 - 512MB | 1,5GHZ running ElementaryOS!
Scrivener is running smoothly as it can be. :D

Ma
Marc Panama
Posts: 3
Joined: Tue Feb 04, 2014 6:33 am
Platform: Linux

Tue Feb 04, 2014 9:08 am Post

Thanks for all the hacking tips. I succeeded to install kindle reader after that. I used the linking method to rebuild the 32bits aspell dictionaries, and now they show up in language selection. but the spellcheck itself seems unable to work.... no clue running from a terminal... I may have not gotten all the files in the correct location.

I finally got the spellcheck fully operational in a nested install of Quintall 32 bits. Now it is working fine.

fr
fred.lenquette
Posts: 1
Joined: Sat Feb 22, 2014 10:13 pm
Platform: Linux

Mon Feb 24, 2014 10:59 am Post

Scrivener is a wonderful software and it is a chance for the community to get it running on the Linux system in the best way.

To help users who got some difficulties installing the speller I’ve updated the procedure of edf
and add improvements allowing me to install the spelling. Here the procedure works for ubuntu/debian systems (.deb package).

With this procedure :
    There is no need to install another instance of ubuntu in 32bits
    nor create a chrooted 32bits environment to installed scrivener in it.

This procedure is based on the detailed previous one, but I’ve encounter issues that
I’ve solved here adding the improvements and provide more details to help
the users to understand their issues.

To get the speller working with ubuntu 12.04 to 13.10 in 64 bits mode :

The procedure :
Install scrivener with the ia32 dependencies (in my case I’ve installed skype
with synaptic, it adds automatically the 32 bits dependencies) :

Download the .deb package and install it with dpkg :

Code: Select all

cd /tmp
wget http://www.literatureandlatte.com/scrivenerforlinux/scrivener-1.6.1.1-beta.deb
sudo dpkg -i scrivener-1.6.1.1-beta.deb


Post scrivener installation to allow the access from your user account (replace fred by your user name) :

Code: Select all

sudo chown -R root:fred /usr/share/scrivener
sudo chmod -R 771  /usr/share/scrivener


Now we need to get the missing dependencies in 32 bits :

Download the aspell packages with the shared library:

http://packages.ubuntu.com/precise/i386/aspell/download
http://packages.ubuntu.com/precise/i386/libaspell15/download

Download two other missing shared libraries :

http://packages.ubuntu.com/precise/i386/libncursesw5/download
http://packages.ubuntu.com/fr/precise/i386/libtinfo5/download

Code: Select all

cd /tmp
mkdir aspell libaspell libncursesw5  libtinfo5
dpkg -x ~downloads/aspell*_i386.deb aspell
dpkg -x ~downloads/libaspell15*_i386.deb libaspell
dpkg -x ~downloads/libncursesw5_5.9-4_i386.deb libncursesw5
dpkg -x ~downloads/libtinfo5_5.9-4_i386.deb libtinfo5

cp -r /usr/lib/aspell /usr/share/scrivener/lib

sudo cp -i aspell/usr/bin/* /usr/share/scrivener/bin/
sudo cp -r libaspell/usr/lib/aspell/* /usr/share/scrivener/lib/aspell/
sudo cp libaspell/usr/lib/libaspell.so.15.2.0 libaspell/usr/lib/libpspell.so.15.2.0 /usr/share/scrivener/lib
sudo cp libncursesw5/lib/i386-linux-gnu/libncursesw.so.5.9 /usr/share/scrivener/lib/
sudo cp libtinfo5/lib/i386-linux-gnu/libtinfo.so.5.9 /usr/share/scrivener/lib/


Creation of the symbolic links :

Code: Select all

# get root
sudo su
cd /usr/share/scrivener/lib

ln -s libaspell.so.15.2.0 libaspell.so
ln -s libaspell.so.15.2.0 libaspell.so.15
ln -s libpspell.so.15.2.0 libpspell.so
ln -s libpspell.so.15.2.0 libpspell.so.15

ln -s libtinfo.so.5.9 libtinfo.so
ln -s libtinfo.so.5.9 libtinfo.so.5
ln -s libncursesw.so.5.9 libncursesw.so
ln -s libncursesw.so.5.9 libncursesw.so.5

rm /usr/share/scrivener/lib/aspell/*.rws
cp /var/lib/aspell/*.rws /usr/share/scrivener/lib/aspell/

exit


The new scripts add some variables to the previous one :

Code: Select all

echo '#!/bin/sh' > /tmp/gen_32_aspell_dicts.sh
echo "ASPELL_CONF='prefix /usr/share/scrivener'" >> /tmp/gen_32_aspell_dicts.sh
echo 'PATH="/usr/share/scrivener/bin:$PATH"' >> /tmp/gen_32_aspell_dicts.sh
echo 'LD_LIBRARY_PATH="/usr/share/scrivener/lib:$LD_LIBRARY_PATH"' >> /tmp/gen_32_aspell_dicts.sh
echo 'AC_CONF="/usr/share/scrivener"' >> /tmp/gen_32_aspell_dicts.sh
echo export ASPELL_CONF PATH LD_LIBRARY_PATH  >> /tmp/gen_32_aspell_dicts.sh
chmod +x /tmp/gen_32_aspell_dicts.sh
sudo /usr/sbin/aspell-autobuildhash --dry-run  --force 2>&1 | grep zcat | sed -e 's/var\/lib/usr\/share\/scrivener\/lib/' -e 's/usr\/lib/usr\/share\/scrivener\/lib/' >> /tmp/gen_32_aspell_dicts.sh


It creates a new script which look like that (this is my example do not execute it) :

Code: Select all

#!/bin/sh
ASPELL_CONF='prefix /usr/share/scrivener'
PATH="/usr/share/scrivener/bin:$PATH"
LD_LIBRARY_PATH="/usr/share/scrivener/lib:$LD_LIBRARY_PATH"
AC_CONF="/usr/share/scrivener"
export ASPELL_CONF PATH LD_LIBRARY_PATH

zcat /usr/share/aspell/en-common.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en-common.rws
zcat /usr/share/aspell/en-variant_0.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en-variant_0.rws
zcat /usr/share/aspell/en-variant_1.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en-variant_1.rws
zcat /usr/share/aspell/en-variant_2.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en-variant_2.rws
zcat /usr/share/aspell/en-w_accents-only.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en-w_accents-only.rws
zcat /usr/share/aspell/en-wo_accents-only.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en-wo_accents-only.rws
zcat /usr/share/aspell/en_CA-variant_0.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en_CA-variant_0.rws
zcat /usr/share/aspell/en_CA-variant_1.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en_CA-variant_1.rws
zcat /usr/share/aspell/en_CA-w_accents-only.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en_CA-w_accents-only.rws
zcat /usr/share/aspell/en_CA-wo_accents-only.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en_CA-wo_accents-only.rws
zcat /usr/share/aspell/en_GB-ise-w_accents-only.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en_GB-ise-w_accents-only.rws
zcat /usr/share/aspell/en_GB-ise-wo_accents-only.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en_GB-ise-wo_accents-only.rws
zcat /usr/share/aspell/en_GB-ize-w_accents-only.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en_GB-ize-w_accents-only.rws
zcat /usr/share/aspell/en_GB-ize-wo_accents-only.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en_GB-ize-wo_accents-only.rws
zcat /usr/share/aspell/en_GB-variant_0.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en_GB-variant_0.rws
zcat /usr/share/aspell/en_GB-variant_1.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en_GB-variant_1.rws
zcat /usr/share/aspell/en_US-w_accents-only.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en_US-w_accents-only.rws
zcat /usr/share/aspell/en_US-wo_accents-only.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=en create master /usr/share/scrivener/lib/aspell/en_US-wo_accents-only.rws
zcat /usr/share/aspell/fr-40-only.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=fr create master /usr/share/scrivener/lib/aspell/fr-40-only.rws
zcat /usr/share/aspell/fr-60-only.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=fr create master /usr/share/scrivener/lib/aspell/fr-60-only.rws
zcat /usr/share/aspell/fr-80-only.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=fr create master /usr/share/scrivener/lib/aspell/fr-80-only.rws
zcat /usr/share/aspell/fr_CH-only.cwl.gz | precat | aspell  --per-conf=/dev/null  --dont-validate-affixes  --local-data-dir=/usr/share/scrivener/lib/aspell --lang=fr create master /usr/share/scrivener/lib/aspell/fr_CH-only.rws


Lanch the generated script :

Code: Select all

sudo sh /tmp/gen_32_aspell_dicts.sh


I’ve made some modifications on the previous scripts to add path to the shared libraries
in order to solved the error : wrong ELF class: ELFCLASS64

If you already have the ELFCLASS64 error (which means that a 32 bits program try to load a 64 bits shared library), verify there is no missing dependencies with the load libraries command :

Code: Select all

ASPELL_CONF='prefix /usr/share/scrivener'
PATH="/usr/share/scrivener/bin:$PATH"
LD_LIBRARY_PATH="/usr/share/scrivener/lib:$LD_LIBRARY_PATH"
AC_CONF="/usr/share/scrivener"
export ASPELL_CONF PATH LD_LIBRARY_PATH
ldd /usr/share/scrivener/bin/aspell


You must get something like that :
    linux-gate.so.1 => (0xf7725000)
    libaspell.so.15 => /usr/share/scrivener/lib/libaspell.so.15 (0xf766e000)
    libncursesw.so.5 => /usr/share/scrivener/lib/libncursesw.so.5 (0xf763e000)
    libtinfo.so.5 => /usr/share/scrivener/lib/libtinfo.so.5 (0xf761e000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf751a000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7366000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7361000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf731e000)
    /lib/ld-linux.so.2 (0xf7726000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7300000)

No dependencies are missing as we can see in my example.

We know have to update the launch script of scrivener :
Add at the beginning of the script /usr/share/scrivener/bin/scrivener.sh (after #! /bin/sh) :

Code: Select all

ASPELL_CONF='prefix /usr/share/scrivener'
PATH="/usr/share/scrivener/bin:$PATH"
export ASPELL_CONF PATH


You must get something like that :

Code: Select all

#! /bin/sh

ASPELL_CONF='prefix /usr/share/scrivener'
PATH="/usr/share/scrivener/bin:$PATH"
export ASPELL_CONF PATH

makeAbsolut() {

    case $1 in
        /*)
            # already absolute, return it
            echo "$1"
            ;;
        *)
            # relative, prepend $2 made absolute
            echo `makeAbsolute "$2" "$PWD"`/"$1" | sed 's,/\.$,,'
            ;;
    esac
}

me=`which "$0"` # Search $PATH if necessary
if test -L "$me"; then
    # Try readlink(1)
    readlink=`type readlink 2>/dev/null` || readlink=
    if test -n "$readlink"; then
        # We have readlink(1), so we can use it. Assuming GNU readlink (for -f).
        me=`readlink -nf "$me"`
    else
        # No readlink(1), so let's try ls -l
        me=`ls -l "$me" | sed 's/^.*-> //'`
        base=`dirname "$me"`
        me=`makeAbsolute "$me" "$base"`
    fi
fi

bindir=`dirname "$me"`
libdir=`cd "$bindir/../lib" ; pwd`
LD_LIBRARY_PATH=$libdir
export LD_LIBRARY_PATH
unset QT_PLUGIN_PATH
exec "$bindir/Scrivener" ${1+"$@"}


To get it definitively work, a last chown is needed to restaure the rights to the user :
(replace fred by your user name)

Code: Select all

sudo chown -R root:fred /usr/share/scrivener


Launch scrivener, and your spelling is now fully working you just have to manage it in the options.

Have fun :D !

Fred

cj
cjemerson
Posts: 2
Joined: Mon Jan 31, 2011 12:09 pm
Platform: Windows

Sun Mar 02, 2014 12:05 pm Post

Thanks Fred - at last! Spellcheck working on 64 bit Mint Cinnamon using your instructions.

Br
Bryan
Posts: 1
Joined: Thu Mar 27, 2014 4:07 pm
Platform: Linux

Thu Mar 27, 2014 5:19 pm Post

Hello, everyone. Using the excellent information in the posts above, I've written a shell script that automatically attempts to install and configure spell checking for 64-bit Debian-based systems. I've run this script successfully on two different machines.

You should have Scrivener working correctly without spell checking in your environment before running this. My own installs were done on systems based on Debian Wheezy and Debian Jessie. On my systems, in order to get Scrivener working correctly, I needed only to install the i386 libgstreamer-plugins-base package (and its dependencies). All other necessary 32-bit libs came pre-installed. My tests were done on recent releases of SolydK and Crunchbang Linux. You may need to consult earlier posts in this thread if you still have 32-bit library issues.

Code: Select all

sudo apt-get install libgstreamer-plugins-base0.10-0:i386


You may also need to perform:

Code: Select all

sudo apt-get -f install


to fill in any missing dependencies that the gstreamer library doesn't pull in, depending on your system.

I've tested the script when Scrivener is installed both from the .deb and .tar.gz packages. The script is set up to work with the .deb install, but if you install from the .tar.gz package, you can modify the line that starts with "SCRIV_HOME=" to point to the directory where you installed it.

If you installed Scrivener from the .deb package or you installed the .tar.gz package to somewhere you don't normally have write access to, you'll need to run this script using sudo so it can have the proper permissions.

The script is extremely conservative when checking for errors and moving files around - it tries to stop immediately if something goes wrong. If it messes up your Scrivener install, it would probably just be easiest for you to uninstall and reinstall Scrivener, so make sure you back up your work first. This is very unlikely, however. Also, if you run the script a second time, you will get "File already exists"-type errors.

On my Crunchbang system, I get a gnome-keyring-pkcs11 error, but this is harmless. An earlier post details how to fix this if it bothers you.

Code: Select all

#!/bin/bash

# Modify this variable to point to the directory Scrivener is installed in
SCRIV_HOME="/usr/share/scrivener"

SCRIV_LIB=$SCRIV_HOME/lib
SCRIV_BIN=$SCRIV_HOME/bin
TMP="/tmp/aspell"

ASPELL_DIR="$TMP/aspell"
LIBASPELL_DIR="$TMP/libaspell"
LIBNCURSES_DIR="$TMP/libncurses"
LIBTINFO_DIR="$TMP/libtinfo"

function download() {
  apt-get download $1
  if [ $? -ne 0 ]; then
    echo "Failed to download package: $1"
    exit 1
  fi
}

function unpack() {
  dpkg -x $@
  if [ $? -ne 0 ]; then
    echo "Failed to unpack package: $1"
    exit 1
  fi
}

function make_copy() {
  cp $@
  if [ $? -ne 0 ]; then
    echo "Failed to copy file: cp $@"
    exit 1
  fi
}

function make_link() {
  ln -s $@
  if [ $? -ne 0 ]; then
    echo "Failed to create symlink: $2 -> $1"
    exit 1
  fi
}

# prepare temp directory
if [ -d $TMP ]; then
  rm -rf $TMP
fi
mkdir $TMP
cd $TMP

echo "Downloading and unpacking 32-bit libs..."

# get the needed libraries
download "aspell:i386"
download "libaspell15:i386"
download "libncursesw5:i386"
download "libtinfo5:i386"

# unpack the libraries
unpack $TMP/aspell* $ASPELL_DIR
unpack $TMP/libaspell15* $LIBASPELL_DIR
unpack $TMP/libncursesw5* $LIBNCURSES_DIR
unpack $TMP/libtinfo5* $LIBTINFO_DIR

echo "Setting up aspell libraries..."

# copy new aspell files to scriv
make_copy -rf /usr/lib/aspell $SCRIV_LIB
make_copy -if $ASPELL_DIR/usr/bin/* $SCRIV_BIN
make_copy -rf $LIBASPELL_DIR/usr/lib/aspell/* $SCRIV_LIB/aspell/
make_copy $LIBASPELL_DIR/usr/lib/libaspell.so.15.2.0 $LIBASPELL_DIR/usr/lib/libpspell.so.15.2.0 $SCRIV_LIB
make_copy $LIBNCURSES_DIR/lib/i386-linux-gnu/libncursesw.so.5.9 $SCRIV_LIB
make_copy $LIBTINFO_DIR/lib/i386-linux-gnu/libtinfo.so.5.9 $SCRIV_LIB

# create symlinks in scrivener lib dir
make_link $SCRIV_LIB/libaspell.so.15.2.0 $SCRIV_LIB/libaspell.so
make_link $SCRIV_LIB/libaspell.so.15.2.0 $SCRIV_LIB/libaspell.so.15
make_link $SCRIV_LIB/libpspell.so.15.2.0 $SCRIV_LIB/libpspell.so
make_link $SCRIV_LIB/libpspell.so.15.2.0 $SCRIV_LIB/libpspell.so.15
make_link $SCRIV_LIB/libncursesw.so.5.9 $SCRIV_LIB/libncursesw.so
make_link $SCRIV_LIB/libncursesw.so.5.9 $SCRIV_LIB/libncursesw.so.5
make_link $SCRIV_LIB/libtinfo.so.5.9 $SCRIV_LIB/libtinfo.so
make_link $SCRIV_LIB/libtinfo.so.5.9 $SCRIV_LIB/libtinfo.so.5

# replace symlinks with real files
rm $SCRIV_LIB/aspell/*.rws
cp /var/lib/aspell/*.rws $SCRIV_LIB/aspell/
if [ $? -ne 0 ]; then
  echo "Failed to copy aspell dictionary files (aspell not installed?)"
  exit 1
fi

# set up env vars
ASPELL_CONF="prefix $SCRIV_HOME"
PATH="$SCRIV_HOME/bin:$PATH"
LD_LIBRARY_PATH="$SCRIV_HOME/lib:$LD_LIBRARY_PATH"
AC_CONF="$SCRIV_HOME"
export ASPELL_CONF PATH LD_LIBRARY_PATH

# check to ensure the new aspell binary is going to work
ldd $SCRIV_BIN/aspell | grep "not found" > /dev/null
if [ $? -eq 0 ]; then
  echo "There are missing dependencies for the aspell program $SCRIV_BIN/aspell"
  echo "These dependencies are:"
  ldd $SCRIV_BIN/aspell
  echo "These dependencies must be resolved or spell checking will not work"
  exit 1
fi

echo "Generating new dictionary files..."

# generate new dictionary files
RWS_FILES="/usr/share/aspell/*.cwl.gz"
for RWS_FILE in $RWS_FILES; do
  BASE=`basename $RWS_FILE`
  NAME=`echo $BASE | cut -d'.' -f1`
  zcat $RWS_FILE | precat | aspell --per-conf=/dev/null --dont-validate-affixes --local-data-dir=$SCRIV_LIB/aspell --lang=en create master $SCRIV_LIB/aspell/$NAME.rws
done

# backup scrivener launch script
SCRIV_TMP=$TMP/scrivener.sh
cp $SCRIV_BIN/scrivener.sh $SCRIV_TMP

echo "Modifying scrivener startup script..."

# modify env variables in temp scrivener launch script
NEW_SCRIV_TMP=$TMP/scrivener_new.sh
sed "1 a\
ASPELL_CONF=\"prefix $SCRIV_HOME\"\\n\
PATH=\"$SCRIV_HOME/bin:\$PATH\"\\n\
export ASPELL_CONF PATH" $SCRIV_TMP > $NEW_SCRIV_TMP

# replace the original scrivener.sh with the modified one
cp $NEW_SCRIV_TMP $SCRIV_BIN/scrivener.sh

# clean up
rm -rf $TMP

echo "Done."


Kudos to the previous posters. I would never have figured out all the steps to get aspell working without their help.

Good luck!

ma
marchey
Posts: 3
Joined: Wed Apr 30, 2014 3:54 pm
Platform: Linux + Windows

Wed Apr 30, 2014 4:03 pm Post

Maybe things have changed for the better since this guide was written, but I have just installed Scrivener on my opensuse 13.1 distro and I found it to be very simple. Everything seems to be working although I haven't tested the installation in depth.

This is how you can install Scrivener:

1. Get the tar.gz archive and unpack it somewhere.
2. Move the Scrivener folder in to your home directory.
3. Edit the Application menu (right click the opensuse icon bottom left of the desktop) and add the application Scrivener where you want it to appear. Point the menu entry to the scrivener.sh script that is in the Scrivener/bin directory
4. Fire up The Gimp and open the icon.ico file that is to be found under Scrivener/bin/resources and export it again as a .png file. Add this file as an icon for your menu entry.
5 Save and then start Scrivener from the application menu.

This worked for me. No glitches sofar.

Marc

jo
johnrobert
Posts: 18
Joined: Wed Mar 09, 2011 11:13 pm
Platform: Linux

Thu May 08, 2014 7:27 pm Post

I had a little struggle this morning getting Scrivener loaded on a new laptop running on Trusty Tahr, and I thought I'd pass on what I found.

Installation of the deb file failed using both gdebi and the Ubuntu Software Center. Trying to install the files directly from the tar ball resulted in the same error that Kona reported earlier where the scrivener.sh file can't find the Scrivener executable sitting right next to it.

Following Kona's instructions I tried to download the ia32-libs from the Ubuntu Software Center and found that they are gone. Trying to use apt-get instead gave me a message that they have been replaced by the packages lib32z1, lib32ncurses5, and lib32bz2-1.0. But they don't solve the problem. They enable gdebi to install the deb package but the package won't run.

To make this short, I finally found the ia32-libs at http://packages.ubuntu.com/raring/amd64 ... s/download. You have to add a mirror from this page to your /etc/apt/sources.list, and then you can install ia32-libs using apt-get.

After that, gdebi installed the deb without problems and Scrivener seems to be running fine.

pu
pumpapa
Posts: 1
Joined: Tue Jul 01, 2014 9:39 am
Platform: Mac + Linux

Tue Jul 01, 2014 10:57 am Post

Just installed scrivener on Ubuntu 14.04, 64-bit following http://crunchbang.org/forums/viewtopic.php?id=30812 http://askubuntu.com/questions/352717/g ... 2-libs-gtk

It seems to start ok, but when I try to open a .scriv file made on a Mac, that file appears as a folder and when opened it appears to be empty, and the scrivx file inside the package can't be seen or opened.

What I CAN do is backup+zip a project on my Mac, unzip it in Ubuntu and open it.

However, then I have different (diverging) version under Mac and Ubuntu, which is a pain at best

zn
znmeb
Posts: 2
Joined: Fri Jul 04, 2014 5:38 am
Platform: Linux + Windows

Fri Jul 04, 2014 5:54 am Post

Quick guide for installing on 64-bit Fedora 20:

1. Download and unpack the binary tarball.
2. 'cd' into 'Scriverner/bin'/
3. Type './scrivener.sh'. You'll see an error message for a missing library.
4. Copy the library name with the mouse.
5. Type 'sudo yum install ' and paste the library name. Then press 'Enter'.
6. yum will figure out the package name and the dependencies for you! When it asks you if you want to install, say 'Y'.
7. Repeat steps 3 - 6 until Scrivener starts!

User avatar
Scriptdoctor
Posts: 20
Joined: Sat Sep 08, 2012 4:15 am
Platform: Windows

Mon Jul 14, 2014 3:17 am Post

marchey wrote:Maybe things have changed for the better since this guide was written, but I have just installed Scrivener on my opensuse 13.1 distro and I found it to be very simple. Everything seems to be working although I haven't tested the installation in depth.

This is how you can install Scrivener:

1. Get the tar.gz archive and unpack it somewhere.
2. Move the Scrivener folder in to your home directory.
3. Edit the Application menu (right click the opensuse icon bottom left of the desktop) and add the application Scrivener where you want it to appear. Point the menu entry to the scrivener.sh script that is in the Scrivener/bin directory
4. Fire up The Gimp and open the icon.ico file that is to be found under Scrivener/bin/resources and export it again as a .png file. Add this file as an icon for your menu entry.
5 Save and then start Scrivener from the application menu.

This worked for me. No glitches sofar.

Marc


I just followed this guide to install Scrivener 1.7.2.1 on 64 bit PCLOS KDE. Simple and worked immediately. Thank you very much. :D

Now I can stop using my licensed Windoze version running (like a three-legged dog) in VirtualBox. Still need to work out how to get spelling to work (above guides don't translate to PCLOS).

User avatar
Scriptdoctor
Posts: 20
Joined: Sat Sep 08, 2012 4:15 am
Platform: Windows

Tue Jul 15, 2014 11:15 pm Post

Spelling now working after installing lib64aspell-devel :D

Ne
NeilNjae
Posts: 1
Joined: Mon Apr 13, 2015 2:21 pm
Platform: Linux

Mon Apr 13, 2015 2:26 pm Post

Spelling working on Ubuntu Utopic (14.10), once I installed libaspell-dev (the lib64aspell-devel library is probably the name of the same package on Fedora-like systems).

The rest of Scrivener seems to work fine, though I've only just started exploring it.

mi
middletwig
Posts: 1
Joined: Wed Dec 07, 2016 1:00 pm
Platform: Mac + Linux

Wed Dec 07, 2016 1:12 pm Post

I have been using Scrivener on Mac osx and ios for a few years now. Awesome piece of software. I recently set up a linux laptop and was psyched to see a port available. Thanks!
I followed the install for the .deb file. I ran into an issue and thought it might help someone to post here.
I just installed Ubuntu 16.04.
The application installed all lowercase so when you call "which Scrivener" as the docs say it comes back with nothing. "which scrivener" will return "/usr/bin/scrivener". Minor thing but unless you are used to troubleshooting Linux apps it might throw people off.
The bigger issue was an error

"/usr/share/scrivener/bin/Scrivener: error while loading shared libraries: libgstapp-0.10.so.0: cannot open shared object file: No such file or directory"

I fixed this by installing libgstreamer as so.

"sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev"

Once I ran that I ran it and have not had an issue. Hope this helps and thanks again to everyone who make this possible.

Ac
Acerock7
Posts: 1
Joined: Thu Jan 12, 2017 5:01 pm
Platform: Linux

Thu Jan 12, 2017 5:11 pm Post

Hi! I got Scrivener up and running on Ubuntu 16.10 with some of the same troubles middletwig had.

First, I was missing "libpng12.so.0" so I had to install that--I found the right package on this page.

Then, I had the same trouble with the "libgstapp-0.10.so.0" dependency. However, the command middletwig had no longer works because those packages aren't available anymore.

I did some digging and found a workaround that user Spurlos used when trying to get a different program to run, but was missing the same dependency:

Code: Select all

wget http://fr.archive.ubuntu.com/ubuntu/pool/main/g/gst-plugins-base0.10/libgstreamer-plugins-base0.10-0_0.10.36-1_amd64.deb

Code: Select all

wget http://fr.archive.ubuntu.com/ubuntu/pool/universe/g/gstreamer0.10/libgstreamer0.10-0_0.10.36-1.5ubuntu1_amd64.deb

Code: Select all

sudo dpkg -i libgstreamer*.deb


After doing both of these things, Scrivener is running on my machine. And it only took 90 minutes of Googling! I hope this helps someone else in the future.

ja
janew
Posts: 14
Joined: Mon Nov 17, 2014 6:29 am
Platform: Windows

Wed Jan 18, 2017 3:46 am Post

OMG that is beautiful! Thank you so much!