Installing Zotero - which files to brand

  • Thread starter Deleted member 9563
  • Start date
D

Deleted member 9563

Guest
There is no FreeBSD port of Zotero. I haven't tried to use the ELF loader before and don't know which files to "brand". Neither the handbook nor the Zotero site seems to give any clarity on that. I've unpacked the Linux distribution in its own directory. Here is the listing:

Code:
ole@SCO:~/.Zotero4/Zotero_linux-x86_64 % ls -ltr
total 5372
-rw-r--r--  1 ole  ole  5233128 Aug  8 12:49 zotero.jar
-rwxr-xr-x  1 ole  ole   131280 Aug  8 12:49 zotero
-rw-r--r--  1 ole  ole      140 Aug  8 12:49 updater.ini
drwxr-xr-x  2 ole  ole      512 Aug  8 12:49 icons
drwxr-xr-x  3 ole  ole      512 Aug  8 12:49 defaults
drwxr-xr-x  2 ole  ole      512 Aug  8 12:49 components
-rw-r--r--  1 ole  ole     5944 Aug  8 12:49 chrome.manifest
-rw-r--r--  1 ole  ole      231 Aug  8 12:49 application.ini
-rw-r--r--  1 ole  ole    35183 Aug  8 12:49 COPYING
drwxr-xr-x  3 ole  ole      512 Aug  8 12:49 extensions
drwxr-xr-x  3 ole  ole      512 Aug  8 12:49 chrome
drwxr-xr-x  5 ole  ole     1024 Aug  8 12:49 xulrunner
-rwxr-xr-x  1 ole  ole    10674 Aug  8 12:49 run-zotero.sh

Now what?
 
My apologies. This post was not needed. From what I had read, I understood that Zotero did not install as an addon in Firefox, and that only the standalone works. I misunderstood the "standalone" part and found that Zotero Standalone can be installed right from their site, and that works in Firefox on FreeBSD 9.2 RELEASE. Perhaps it didn't work in some older versions, but it certainly works now.

In case someone finds this thread in a search, here is the link to where you click to install. And here is a link to info on pdf indexing on FreeBSD.
 
Reviving this because pretty soon the only way to use Zotero will be the standalone version since the plugin version no longer works in Firefox 57+. Firefox-ESR will be deprecated soon, which has been the only way to run Zotero on FreeBSD. Is there anyone out there that uses Zotero and who has the interest and ability to port it to FreeBSD? I'm willing to donate some coin to support such an effort and I suspect there are others out there that really depend on this and want to continue using it on FreeBSD.
 
Reviving this because pretty soon the only way to use Zotero will be the standalone version since the plugin version no longer works in Firefox 57+. Firefox-ESR will be deprecated soon, which has been the only way to run Zotero on FreeBSD. Is there anyone out there that uses Zotero and who has the interest and ability to port it to FreeBSD? I'm willing to donate some coin to support such an effort and I suspect there are others out there that really depend on this and want to continue using it on FreeBSD.

I created a port (more of a sketch) of a Zotero stand-alone that works fine (for me). There are some caveats:

1. The port is built against TrueOS and the scripts are dependent on downloading a version of Firefox-ESR from TrueOS's package repo (this should be obvious in the patches it applies).
2. I'm not sure if the port follows the porter's handbook on location for files (Zotero is a "very special" case).

That being said, actually building Zotero stand alone isn't too difficult. It is essentially cloning many repositories from github, running scripts (that also run npm), downloading a copy of Firefox-ESR and stitching things together (Zotero does some customizations on the ESR it downloads). In theory, this should be possible to build firefox-esr locally and copy the parts over for messing around with, but I don't know enough about ports to know how to do that. But, if someone has suggestions, I'm willing to take a further look (or someone can certainly grab the port and beat me to it).
 
I tried to run the linux binaries with Linuxulator, to no avail. However, the windows binaries run just fine under FreeBSD with Wine. Hope this helps.
 
I created a port (more of a sketch) of a Zotero stand-alone that works fine (for me). There are some caveats:

1. The port is built against TrueOS and the scripts are dependent on downloading a version of Firefox-ESR from TrueOS's package repo (this should be obvious in the patches it applies).
2. I'm not sure if the port follows the porter's handbook on location for files (Zotero is a "very special" case).

That being said, actually building Zotero stand alone isn't too difficult. It is essentially cloning many repositories from github, running scripts (that also run npm), downloading a copy of Firefox-ESR and stitching things together (Zotero does some customizations on the ESR it downloads). In theory, this should be possible to build firefox-esr locally and copy the parts over for messing around with, but I don't know enough about ports to know how to do that. But, if someone has suggestions, I'm willing to take a further look (or someone can certainly grab the port and beat me to it).

Forgive my dumb question but I'm digging through your repository and I see you're using firefox-esr-60.8.0_4,1. Is there a reason you're opting for that version instead of the one in ports? Is it a limitation with the patches for Zotero?
 
Forgive my dumb question but I'm digging through your repository and I see you're using firefox-esr-60.8.0_4,1. Is there a reason you're opting for that version instead of the one in ports? Is it a limitation with the patches for Zotero?

It's not a dumb question. I've have a todo to actually document the whole process for others (I have documentation for myself, but it needs some updates). It's a bit of a mess, but I can try to give a couple of broad strokes.

Zotero is built on XUL, so it needs a version of Firefox that still supports XUL. If you look at how Zotero is built on Windows, macOS, and Linux it also downloads Firefox-esr-60.x from Mozilla's archive and extracts the components from it.

FreeBSD of course doesn't *have* a downloadable version of firefox-esr from Mozilla. So, you need to build it. The other problem is that it needs the version of rust that existed at that time because newer versions of rust won't compile the rust code in that version of Firefox. So, you actually need to now build rust from that time too.

Once you have a copy of Firefox-esr-60 built as a pkg, the Zotero scripts work OK, and you should have the latest version of Zotero (5.0.89). I use it almost every day. The only thing that is missing at the moment is the full-text indexing. In the later version of Zotero, they have forked the xpdf tools so that they output json. I haven't gotten around to trying to get that working.

As I said, I have a recipe for this, but it's not quite ready for consumption by others. It's a shame that it is such a pain to build, but having spent some time with it, I don't see how Zotero in it's current form can ever become a port in the port tree. It is great to use the ports infrastructure to make life easier in maintaining it though.

I really wonder what happens when Zotero (the project) drops Firefox for Electron.
 
I don't see how Zotero in it's current form can ever become a port in the port tree

May I ask about this -- what is the obstacle? I would like to see it included too. Can the binary be used?

In my case, I use the plugin in Chromium, and once logged into my Zotero web portal, it works as expected. But this is less ideal than the standalone app of course.
 
May I ask about this -- what is the obstacle? I would like to see it included too. Can the binary be used?

I guess it's not impossible, but you need to build an old version of Rust and an old version of Firefox-esr and then Zotero Desktop. The old rust and firefox-esr ports can be used, but the port Makefiles age too. The biggest issue are the security vulnerabilities from the old version of Firefox which would always be there (even though it is much more controlled).

In some ways it is like the makemkv port, it downloads a newer version of gcc and builds it so it can then build the source bits.

So, there is precedent for it, but it is not the easiest port.

In my case, I use the plugin in Chromium, and once logged into my Zotero web portal, it works as expected. But this is less ideal than the standalone app of course.

Yeah, the web portal is OK, but I use the BetterBibTeX plugin and the LibreOffice integration and that requires the desktop version.
 
As of February 26, 2021, the best that I am able to do with FreeBSD 13 (Beta) is run the Zotero Standalone Windows 32-bit binary release 5.0.1 in `i386-wine`. That is an old release, but it is the most recent one for Zotero 5 (needed for sync with the official server, etc.) that I have been able to get running (after trying 5.0.2.x, 5.0.3.x, etc.):

https://www.zotero.org/download/client/dl?channel=release&platform=win32&version=5.0.1

For more information, see:

This *does* work (more-or-less) with both the OpenOffice and Firefox extensions. In other words, it is basically functional; it is simply missing a *lot* of bug fixes.

NB: Disable automatic updates in Zotero.
Tools --> Options --> Advanced --> Open about:config --> app.update.auto, set Value to 'false'

We need to get to the bottom of what is wrong with the more recent binaries and Wine in FreeBSD, but I have not had any luck. Please let me know if any of you have any ideas. Our ability to run Zotero in FreeBSD is fading, but this is an important tool for scholarly work.
 
  • Thanks
Reactions: 0mp
We need to get to the bottom of what is wrong with the more recent binaries and Wine in FreeBSD,
I doubt there is any incentive to make Zotero work in Wine, since there is a fully functional Linux release. If there's any hunger for getting Zotero into FreeBSD, it would be less circuitous to focus that energy on a BSD native release.
 
I dont use that programs but seems to start out of the box.

1614634634349.png
 
I dont use that programs but seems to start out of the box.

View attachment 9238

Versions after 5.0.10 will launch at the end of installation ("Start Zotero now") but not afterward (`wine zotero.exe`), instead relaying the error messages that I have shared in the pastebin above (https://pastebin.com/46f2LWz6).


That looks promising. However, after building the port and making sure that it was properly installed in a separate location from `wine-devel` (64-bit), the installation fails to launch with this error message: https://pastebin.com/gQYUZmFr

Thanks, everyone. Maybe we are getting there 🤞For now, we can still use 32-bit Wine and the older version of Zotero, but let us keep trying to find a workaround for newer versions.
 
Excuse me for hijacking the thread, but has anyone been able to run the Zotero integration with LibreOffice?
Yes. Because Zotero has to be run with the Windows binary, it will not detect the native installation of LibreOffice automatically. However, if you manually install the Zotero plugin for LibreOffice, everything works properly.
 
Versions after 5.0.10 will launch at the end of installation ("Start Zotero now") but not afterward (`wine zotero.exe`), instead relaying the error messages that I have shared in the pastebin above (https://pastebin.com/46f2LWz6).

These lines in your log:
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
are what I get when I try a 32 bit 3D game without the 32 bit graphics/mesa-dri package installed, or without the LIBGL_DRIVERS_PATH environment variable set to the directory of that 32 bit library. It's trying to fall back from radeonsi to swrast (software rendering). The reason it can't load either driver is because it's trying to load 64 bit libraries into a 32 bit process.

The i386-wine package should already contain all the 32 bit DRI drivers and set them up for you, if not try i386-wine-devel, failing which, there's another problem. Try "pkg info --list" on those packages and see if they contain these files. Are you in the "video" group? Etc.

You could also "pkg install mesa-dri" in a 32 bit chroot, then set LIBGL_DRIVERS_PATH to the path of its /usr/local/lib/dri directory from outside.

Why does Zotero need 3D graphics though?
 
Unfortunately Zotero 5.0.92.2 is crashing shortly after opening its window, on Wine 6.12.

What versions of Wine and Zotero are the rest of you using successfully?
 
Hello dj015,

i can confirm that this issue is fixed if vcrun2015 was installed.

To install it use winetricks vcrun2015

Tested with: i386-wine-devel 6.11

Please note that this requires winetricks 20210617.
 
These lines in your log:

are what I get when I try a 32 bit 3D game without the 32 bit graphics/mesa-dri package installed, or without the LIBGL_DRIVERS_PATH environment variable set to the directory of that 32 bit library. It's trying to fall back from radeonsi to swrast (software rendering). The reason it can't load either driver is because it's trying to load 64 bit libraries into a 32 bit process.

The i386-wine package should already contain all the 32 bit DRI drivers and set them up for you, if not try i386-wine-devel, failing which, there's another problem. Try "pkg info --list" on those packages and see if they contain these files. Are you in the "video" group? Etc.

You could also "pkg install mesa-dri" in a 32 bit chroot, then set LIBGL_DRIVERS_PATH to the path of its /usr/local/lib/dri directory from outside.

Why does Zotero need 3D graphics though?

The old i386-wine 5.0 build is busted in quarterly for FreeBSD 13 because the last maintainer have commented some x11 libs for 13, the newer one is working.
 
Last edited:
Back
Top