Scrivener will never install on the current 64-bit Ubuntu :(

I admit I’m a noob, but I did faithfully follow the installation instructions in the sticky threads.
Any idea what I did that was wrong?

  1. I obtained the scrivener-1.6.1.1-beta.deb file from here:
    literatureandlatte.com/foru … 33&t=20489

  2. This is the operating system:
    $ lsb_release -d
    ==> Description: Ubuntu 13.10

  3. It’s a 64-bit operating system:
    $ uname -r -m
    ==> 3.11.0-13-generic x86_64

  4. This is the installation command that I used:
    $ sudo apt-get install gdebi
    $ /usr/bin/gdebi-gtk scrivener-1.6.1.1-beta.deb
    ==> pressed a few buttons, and logged in as root, etc.

  5. That seems to have installed Scrivener:
    $ which scrivener
    ==> /usr/bin/scrivener

  6. Yet, it erred out when I tried to run Scrivener:
    $ scrivener
    => /usr/share/scrivener/bin/Scrivener: error while loading shared libraries:
    libstdc++.so.6: cannot open shared object file: No such file or directory

What did I do wrongly?

Searching this Literature and Latte forum for how to debug, I see a few commands that might provide more information, so, to help you help me, I tried what I could to debug further from these threads:

  • A Mostly Complete Guide to Installing Scrivener on Linux
  • When I run Scrivener in 13.10 I get the following
  • Scrivener not working on Ubuntu 13.10
    etc.

Based on what is in those threads, this seems to show that my LD_LIBRARY_PATH doesn’t appear to be set:
$ echo $LD_LIBRARY_PATH
==> nothing

Yet, the desired shared object module does seem to exist:
$ sudo updatedb
$ locate libstdc++.so.6
==> /usr/lib/x86_64-linux-gnu/libstdc++.so.6
==> /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.18

An “strace” seems to show where Scrivener is looking for these files:
$ sudo strace scrivener >& /tmp/foo
==> … lots of stuff …
==> open("/usr/share/scrivener/bin/…/lib/libstdc++.so.6", … stuff … (No such file or directory) …
==> … lots of similar stuff …

I thought I was being clever by linking the found libstdc with where Scrivener was looking:
$ cd /usr/share/scrivener/lib
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6

But, that just resulted in a different failure of Scrivener:
$ scrivener
==> /usr/share/scrivener/bin/Scrivener: error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS64

So, I removed the link I had created and googled some more, and found this command:
$ ldd /usr/share/scrivener/bin/Scrivener | grep “not found”
==> libstdc++.so.6 => not found
==> libfontconfig.so.1 => not found
==> libfreetype.so.6 => not found
… lots of these types of errors …

Googling some more, I found this command helped some people with similar Ubuntu 13.10 issues:
$ sudo apt-get install libgstreamer-plugins-base0.10-0:i386

But, I still received the same error message as before when I ran scrivener.

I don’t know Linux well enough to marry this information so that Scrivener can find what it needs; so, may I ask for a gentle push in the right direction?

Are you running 64 bit or 32 bit? You’ll need the 32 bit libraries, if you’re 64 bit. There have been a few threads further back in this forum about installing them on the latest version of Ubuntu.

The thread that needs to be written is:
Q: How does someone install Scrivener on the latest 64-bit Ubuntu.

64 bit Ubuntu 13.10.

Yes. I know. That’s the problem. But, the bigger problem is that I don’t know HOW to resolve this installation issue. It doesn’t mean a whole lot to say “you need 64-bit libraries” if I don’t really even know what a “library” is. :slight_smile:

Of course I googled BEFORE I posted. Nobody (to my knowledge) has the exact error that I have. Of course, I saw all those threads. That’s where all the commands in my original posts came from.

So, the real question is:
Q: How does someone install Scrivener on the latest 64-bit Ubuntu.

Note: I’ve already read the following (and tried all that they suggested that I understood).

What we need, and I could write, once I figure out the answer (with help), is pretty much this:

  • How to install Scrivener on the latest 64-bit Ubuntu

Reading this thread, I see it’s apparently impossible to install Scrivener on the current 64-bit Ubuntu.

The OP of that thread suggests installing an entire additional (but 32-bit) operating system, which, IMHO, is absolutely crazy.

I wish someone had just told us that Scrivener won’t work on the current 64-bit Ubuntu, and, that would have saved us all a lot of lost time and effort.

I’m sorry you haven’t been able to get it to work. I’m not sure I can offer much more other than following the directions originally posted, but I do have it working in 64-bit Ubuntu without a shroot environment.

The only difference I can think of is that my 13.10 Ubuntu was an “upgrade” from 12.x - I don’t know why that would matter, or if it does, but it has worked for me. Getting it working without the spelling was easy. To get spelling working required following that long post, and being careful, but it did work eventually.

https://forum.literatureandlatte.com/t/a-mostly-complete-guide-to-installing-scrivener-on-linux/19819/1

Bruce

Hi,

I had the same problem and I installed all 32-bit missing libraries using the :i386 option. For example:

:~/Downloads$ scrivener 
/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
:~/Downloads$ sudo apt-get install libgstreamer-plugins-base0.10-0:i386

After installing all required libraries the program is working well on my 64-bits ubuntu.

An useful page for finding the package name of a library is packages.ubuntu.com and use Search the contents of packages option.

BR
Marc

Thank you, marcmolla - that did the trick!

For anyone else having this problem, some of the packages have names that are obvious from the error, others . . . less so. The final list of packages I installed was

sudo apt-get install libstdc++6:i386 libfontconfig:i386 libxext6:i386 libxrender1:i386

In case it matters, aptitude said it was selecting libfontconfig1:i386 instead. I left it how it worked up above, save that I combined them into one command instead of doing them piecemeal.

For the record, in case anyone else has the same experience as me: I’m running Chrubuntu 13:10 with xfce on an Acer C710 chromebook. I initially had the “/usr/share/scrivener/bin/scrivener.sh: 36: exec: /usr/share/scrivener/bin/Scrivener: not found” error, which was fixed by enabling multiarch:

sudo dpkg --add-architecture i386 sudo apt-get update
(thanks to this thread).

Then it upgraded me to the above libstdc++.so.6 error, which was fixed by the above package installs. Now Scrivener is running perfectly!

This thread should be renamed, “How to Install Scrivener on 64-bit Ubuntu”.
Mods?

Installed without issues here on 13.10 64b

Interesting. Was it a fresh install, or upgraded? Many people with upgraded installs don’t have this problem because the old libraries are still hanging around.

Fresh actually. I just downloaded and installed straight away. It runs fine and all, only issues are with audio (gstreamer errors) and PDF (doesn’t render)

Installing Scrivener on a fresh linux box (Chrubuntu 13.10 on a newer Acer C720 chromebook) I found that enabling multiarch actually did not fix the line 36 not found bug, as I thought (or at least not alone). It turns out that the step which actually fixed that was sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
The actual recommended fix I found was sudo apt-get install ia32-libs but apt told me ia32-libs was deprecated and to use the other three instead. It could be that only one of them is necessary but frankly I’m too tired and lazy to track down which one. :slight_smile:

ts.salvador, I have no idea why it was so nice to you. :slight_smile:

EDIT: And then to fix the missing error for libgio-2.0.so.0 you install libgstreamer-plugins-base0.10-0:i386. So the final install routine (I think) is:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libstdc++6:i386 libfontconfig:i386 libxext6:i386 libxrender1:i386 lib32z1 lib32ncurses5 lib32bz2-1.0 libgstreamer-plugins-base0.10-0:i386

and then install the Scrivener package and maybe you’re gold? I have it working on my new machine but I’m (a) not 100% sure I didn’t miss a step somewhere and (b) not eager to wipe my linux install and test this out. :slight_smile:

@ErichTWade this worked for me!

@danhanly Woohoo!

@ErichTWade to be fair, I posted this BEFORE I checked the spellcheker, which I somehow made it work but can’t reproduce, oh well!

Update: Got it to work, re-generating the dictionaries on the new host must have made something to the system. Nice! So all in all, I’ve got the program and spellcheck working, no video, audio or PDF but it is very easy to get around those limitations