Zotero on arm64 Linux or ChromeOS (ARM)?

edited May 13, 2022
This post should be seen as a warning to those not using Intel chips. Howvever, you may be able to install zotero - see below

I love my new ARM64 Lenovo Chromebook and basically, everything I use for research/data analysis/music runs on ChromeOS, Android or linux (Debian 64bit) except Zotero, RStudio or Synology Apps. While the initial impression is that 64 bit inux apps are available they aren't. Unfortunately, they simply don't state they MUST be Intel and, while I can easily work around not having RStudio or Synology Apps, I don't want to change my Reference Manager just yet.

Has anyone managed to build Zotero for arm64/arm32 Linux or ARM ChomeOS? Or perhaps someone has run an Intel emulator inside the Linux VM which seems somewhat extreme on a Chromebook but advice is most welcome. So far, I have been unsuccessful with both compilation and emulation.

The Zoo-Zotero Android App looks interesting on the Chromebook but seems much more limited that the usual stand alone Zotero apps

Any ideas? Advice most welcome. Thanks

Cheers Peter

The long version:

I recently got a Lenovo Duet 5 Chromebook which has an ARM64 processor. There are more and more devices coming out with ARM processors but I didn't realise that some of my favourite software, like Zotero, simply isn't available. Much of what I use for research is available but not Zotero. Will it ever be? I'm guessing not.

While ChromeOS is ARM32, it is simple to install Debian 64bit Linux and lots of software is then readily available. Unfortunately, whoever writes the Zotero documentation thinks that Linux, Windows etc is only available for Intel processors. This is very very misleading and really should have a prominent disclaimer that ARM64 is not supported. Using Firefox in arm64 Linux, the Downloads page correctly detected 64 bit Linux and then allowed me to download the Intel version which, of course, doesn't work - the page says 64bit linux not the more informative x86_64 or amd64 linux. It would have saved a lot of time if it properly detected ARM64 and let me know to give up there and then!!

Instead, undeterred, I found the step by step instructions thttps://www.zotero.org/support/dev/client_coding/building_the_standalone_client to build Zotero yourself for Windows, Linux and Mac - not one mention that it only works for Intel. I don't use Debian, nor Javascript, so it took an inordinate amount of googling and installing packages to finally build Zotero without errors. Being an arm64 machine with arm64 javascript, arm64 firefox, arm64 poppler, arm64 pdf-utils etc, it seemed like Zotero would now work. Wrong! Unbelievably, the whole process looked like it had successfully built i686 and x86_64 binaries but probably not. No errors or warnings but I don't think it built everything and it certainly is not useful.

I am no programmer but, being an old guy who has been an amateur programmer for 40 years and my statistical software has been used by many researchers, I will make the observation that it seems extremely weird that the i686/x_86_64 firefox/mozilla libraries are hardwired in to the installation instructions even though there must be alternative architectures available.

Is there any ARM64 solution or something else that will suit an ARM Chromebook?

Any ideas? Advice most welcome. Thanks

Cheers Peter
  • edited May 14, 2022
    Firstly, thanks yuyichao! I managed to install a mostly working version of zotero 6.0.4 on linux on my Chromebook

    Following the thread https://forums.zotero.org/discussion/comment/404396, I downloaded the aarch64 Arch Linux package 'zotero-6.0.4-1-aarch64.pkg.tar.zst' at https://repo.archlinuxcn.org/aarch64/

    Next, to decompress the tar file you may need to install 'zstd' with and then uncompress the file with

    $ sudo apt install zstd
    $ zstd -d zotero-6.0.4-1-aarch64.pkg.tar.zst

    Next, convert the tar file to a '.deb' using the alien package

    $ sudo alien -vv zotero-6.0.4-1-aarch64.pkg.tar

    Which produced ' zotero_6.0.4-2_all.deb'. To install this use:

    $ sudo dpkg -i zotero_6.0.4-2_all.deb

    Which installed without error. When I ran zotero I got an error message so (by guesswork) I then installed 'libstartup-notification0'. However, I have installed many extra packages trying to get Zotero running in the past so you may find (by guesswork) that you need to install other packages.

    $ sudo apt install libstartup-notification0

    $ zotero &

    runs Zotero although produces a few warning/error messages. When running zotero first time it popped up chrome (under linux not ChromeOS) and asked me to install the connector which seemed to work just fine. The next time I started Zotero, it asked me to install libreoffice connectors.

    Note that Zotero runs with quite a few warnings/errors but, in general, seems to working fine, I think that these messages are now fixed by installing 'at-spi2-core' (see https://forums.raspberrypi.com/viewtopic.php?t=196070)

    $ sudo apt-get install at-spi2-core

    NB: To check the integrity of the downloaded package, I tried to import the correct gpg keys but this is something I don't know much about

    gpg --recv-keys --keyserver=hkp://keys.gnupg.net D88390B2991F8242FABD2A3C07F45E2A1937DD32
    gpg: /home/pete/.gnupg/trustdb.gpg: trustdb created
    gpg: key 07F45E2A1937DD32: public key "Yichao Yu " imported
    gpg: Total number processed: 1
    gpg: imported: 1
    $ gpg --verify zotero-6.0.4-1-aarch64.pkg.tar.zst.sig
    gpg: assuming signed data in 'zotero-6.0.4-1-aarch64.pkg.tar.zst'
    gpg: Signature made Mon 04 Apr 2022 12:17:18 PM AEST
    gpg: using RSA key D88390B2991F8242FABD2A3C07F45E2A1937DD32
    gpg: Good signature from "Yichao Yu " [unknown]
    gpg: aka "Yichao Yu " [unknown]
    gpg: aka "Yichao Yu " [unknown]
    gpg: aka "Yichao Yu " [unknown]
    gpg: aka "Yichao Yu " [unknown]
    gpg: aka "Yichao Yu " [unknown]
    gpg: WARNING: This key is not certified with a trusted signature!
    gpg: There is no indication that the signature belongs to the owner.
    Primary key fingerprint: D883 90B2 991F 8242 FABD 2A3C 07F4 5E2A 1937 DD32

    OR

    $ gpg --keyserver-options auto-key-retrieve --verify zotero-6.0.4-1-aarch64.pkg.tar.zst.sig
    gpg: assuming signed data in 'zotero-6.0.4-1-aarch64.pkg.tar.zst'
    gpg: Signature made Mon 04 Apr 2022 12:17:18 PM AEST
    gpg: using RSA key D88390B2991F8242FABD2A3C07F45E2A1937DD32
    gpg: Good signature from "Yichao Yu " [unknown]
    gpg: aka "Yichao Yu " [unknown]
    gpg: aka "Yichao Yu " [unknown]
    gpg: aka "Yichao Yu " [unknown]
    gpg: aka "Yichao Yu " [unknown]
    gpg: aka "Yichao Yu " [unknown]
    gpg: WARNING: This key is not certified with a trusted signature!
    gpg: There is no indication that the signature belongs to the owner.
    Primary key fingerprint: D883 90B2 991F 8242 FABD 2A3C 07F4 5E2A 1937 DD32
  • For the people running Arch linux or Manjaro, the Zotero version found on this page works out of the box: https://repo.archlinuxcn.org/aarch64/. Just need to zstd -d the downloaded file, and you'll find a pkg.tar file that can be installed with "pacman -U". Zotero works smoothly on my Pine book pro.
  • Thank you, drpetebaker, I followed your instructions and it worked 100% in my HP 11a.
  • It did work with Rpi4 too (Rpi OS - bullseye), many thanks
  • Thanks for the tutorial. For my Lenovo Duet Chromebook I had to install sudo apt-get install libdbus-glib-1-2 in order to get it working. Unfortunatly Ive found that Im not able to search for files in the filesmanager (for browsing to extention files, pdfs etc.). Do you have some workaround for that as well?
  • I'm using Ubuntu under a Parallels VM on a MacBook Pro with an M1 processor and I have successfully installed the ARM 64 version of Zotero 6.0.18-2 found at https://repo.archlinuxcn.org/aarch64/ with no problems. I first unpacked the archive inside my Downloads directory with

    $ tar --use-compress-program=unzstd -xvf zotero-6.0.18-2-aarch64.pkg.tar.zst

    and that created an entire usr hierarchy, with most stuff going into usr/lib. (The compression app zstd will have to be installed, of course.) I didn't want to load all of those files into my actual Ubuntu /usr hierarchy -- I only want stuff installed with the Ubuntu apt package manager going there -- so I simply created a directory /opt/zotero and moved the entire usr hierarchy I'd extracted there. I then created a symlink "zotero" in /usr/local/bin pointing to the zotero executable so that I can start it from the command line:

    cd /usr/local/bin
    ln -s /opt/zotero/usr/lib/zotero/zotero

    I hope this is helpful to someone.

  • Thank you @drpetebaker! Your instruction works perfectly on Debian Sid in a Parallels VM on a MacBook Pro 2022 with an M2 chipset.
  • edited July 16, 2023
    it works on termux ubuntu 22.04. zotero 6.0.25
  • edited July 25, 2023
    Thanks to these very excellent instructions, my Lenovo Duet now has Zotero running in its Linux environment. I had some issues at first, but installing sudo apt-get install libdbus-glib-1-2 did the trick.

    Erik
Sign In or Register to comment.