-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JabRef not working on Arch Linux #5299
Comments
I also experience this under windows when I use the jar. @tobiasdiez any idea? |
With modularized Java 11 applications, the |
Thanks to both of you for your fast responses. @tobiasdiez, I can confirm that running
compiles and runs JabRef without any problems. However, I cannot make it work with
when working under the source tree. The command gives the following error this time:
When I run
I am assuming that
I would appreciate if you provided a minimal working example. Then, I can write a |
Final comment... As of 18cf80f, the following
Basically, after |
Thanks for the update. That size is indeed huge, I found out that this is somehow a linux issue with jlink and that there is a workaround for reducing the size: |
@aytekinar It should suffice to use what is inside of |
@Siedlerchr I will try to do the manual stripping. However, Arch Linux also does stripping when packaging binaries. @tobiasdiez I would appreciate if you could write an MWE for that. I can get rid of the |
I have no linux at hand, so I cannot give more details sorry. On Windows, the |
Update 1. Stripping the image manually as suggested by @Siedlerchr, as of a357bbd, still results in 705.38 MiB. Update 2.
and its size is
In fact, #!/bin/sh
DIR="${0%/*}"
"$DIR/java" -p "$DIR/../app" -m org.jabref/org.jabref.JabRefLauncher "$@" which uses the In short,
That said, I think this issue is not open anymore. Anybody with a problem on Arch Linux can see the solution you have suggested and either use my Edit. For your reference, the package size has the following distribution among the package's modules/directories:
|
There is already one maintaining an Arch repo for jabref: (I think it's @j0hannes ) It would be nice if someone of you could then update the installation instructions page in the help |
I am aware of that package. Unfortunately, I am right now writing a paper and I cannot open my bibliography files (well, yes, I can open them in text editors, but you know...). If you check the latest comment, @j0hannes is still testing Java 11 issues. In the meantime, I needed to write mine.
There is no need to update Arch and Manjaro part. Because I am not pushing my Edit. In fact, there might be a small update later to the statement:
if @j0hannes decides to borrow my solution (i.e., building from source). |
Hi,
I released a new PKGBUILD the day after that comment. Since then, it's working fine for me.
I actually wouldn't do that since I wrote the AUR package specifically to avoid doing the compilation with gradle, which I found rather annoying for several reasons. It also failed to build frequently. I never had a problem with the pre-compiled jar so far -- apart from bugs in the application itself. You might want to contribute to jabref-git instead. |
Just now I have run
When I try to run JabRef from dmenu (desktop file) it does not open anything (I am running
which brings me back to my first comment above and which, as @tobiasdiez mentions in his comment, is expected:
This was the reason why I needed to write a new Anyways... Thank you for your prompt response and making your points. Cheers. |
Ok, I think it should be sufficient to package only
to
This should reduce the size of the package considerably. (For example, As a side note, I will experiment with jpackage during the next days. This should give |
Thanks for pointing that out. I wasn't aware of it. What is the point of offering jar files in https://builds.jabref.org/master/ then? I am supposed to download them, decompose them and run gradle on them? That doesn't sound like a solution for everybody.
I'm happy about any suggestion how to use the jar file provided by builds.jabref.org without executing it with java. |
We have only recently discovered that the |
I will try to look into it today. |
So it broke recently? Because I'm still able to run the version installed a week ago. |
Could anyone of you try if the .sh script works? (I currently don't have a linux system at hand) |
It runs, and open a graphical installer that looks like the ones that Windows has. I canceled it when it wanted to write to system directories; which is not possible for a regular user and I would never execute a script like that with root. I looked into the code and there seems to be no other option than running that installer. So, from my point of view, it's of little use for linux users. I don't see how to use it for packaging Jabref. |
I totally agree with @j0hannes on the shell-script solution. IMHO, you (devs) should just help package maintainers write their own scripts to package your applications. I mean, if I know how to build your application, it will be trivial for me to package it for my system. Not to mention the fact that graphical installers are a big problem for automated packaging processes. |
Yes, I know that graphical installers are not the best solution for unix. It was just a try. |
Once jpackager works, I do think we can completely get rid of intalll4j (also on Windows). That being said, I managed to add a build pipeline that produces a zip file of the
It would be nice if you could try this. If it works, then I'll add the necessary code to publish these zip files to |
It runs. This is the log:
|
Debian packages are fine to convert; that might be the more reliable way. The filename will remain stable as it has been for the jar, right? |
* Update Installation.md Updated the installation procedure for JabRef 5.x and on. Following the [comment](JabRef/jabref#5299 (comment)) of @Siedlerchr. * Remove `deb` and `rpm` files
So I've managed to make jpackage work on all platforms. @j0hannes @aytekinar what would be the most convenient distribution format for package maintainers and users on linux:
(one of the questions is if the last one is necessary or if the first two are actually sufficient). Refs: #5312 (comment) (you are invited to try out the builds referenced there) |
@tobiasdiez IMHO, the last one is necessary and sufficient. Of course, Arch's packaging system knows how to interpret/unpack
For this reason, I think that |
I tried to provide a working jabref-git PKGBUILD for Arch Linux, but it fails at the gradle jlink step. pkgname=jabref-git
pkgver=5.0alpha.r99.g381f0f3f08
pkgrel=1
pkgdesc="GUI frontend for BibTeX, written in Java -- built from git"
arch=('any')
url="https://www.jabref.org"
license=('MIT')
depends=('java-environment>=11' 'java11-openjfx')
makedepends=('git' 'gradle')
optdepends=('gsettings-desktop-schemas: For web search support')
provides=('jabref')
conflicts=('jabref')
source=("${pkgname%-git}::git+https://github.com/JabRef/jabref.git"
git+https://github.com/citation-style-language/locales.git
git+https://github.com/citation-style-language/styles.git
"${pkgname%-git}.desktop"
"${pkgname%-git}.sh")
md5sums=('SKIP'
'SKIP'
'SKIP'
'5f76feb6b2f66a2ea8b52bca999a934f'
'b7c7fca66fe7e0a466df1f6b3c0539ff')
pkgver() {
cd ${pkgname%-git}
git describe --tags | sed 's+-alpha-+alpha.r+'|cut -c2-|tr - .
}
prepare() {
cd ${pkgname%-git}
_release=$(sed -n 's/.*version = \"\(.*-dev\)\"/\1/p' build.gradle)
[[ -d locales ]] || ln -s ../locales locales
[[ -d styles ]] || ln -s ../styles styles
git submodule update --init
}
build() {
cd ${pkgname%-git}
gradle assemble
gradle jlink
}
# package() {
# cd ${pkgname%-git}
# find "${srcdir}/${pkgname%-git}/build/releases" \
# -iname "JabRef-${_release}.jar" \
# -exec install -Dm644 {} "$pkgdir"/usr/share/java/jabref/JabRef.jar \;
# install -Dm755 "$srcdir"/jabref.sh "$pkgdir"/usr/bin/jabref
# install -Dm644 "$srcdir"/jabref.desktop \
# "$pkgdir"/usr/share/applications/jabref.desktop
# install -Dm644 "build/resources/main/icons/${pkgname%-git}.svg" \
# "$pkgdir"/usr/share/pixmaps/${pkgname%-git}.svg
# install -Dm644 LICENSE.md "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE
# }
package() {
cd "${srcdir}"
install -d "${pkgdir}/opt"
cp -R "${pkgname}/build" "${pkgdir}/opt/jabref"
install -D jabref.desktop "${pkgdir}/usr/share/applications/jabref.desktop"
install -D jabref.png "${pkgdir}/usr/share/pixmaps/jabref.desktop"
} this is the error message
|
@stefanhusmann, please check my PKGBUILD. It is building on my machine with |
I checked it, an I get the same error message as with my PKGBUILD. |
Please check if gradle is running under the correct java version: |
gradlew picks the Gradle 5.6, which is coming with the jabref sources, but I also tried with gradle 5.6.2 which is coming with the official Arch Linux package. Gradle 5.6Build time: 2019-08-14 21:05:25 UTC Kotlin: 1.3.41 |
Hello, I now was able to build jabref. It seems that sowehow the java11-openjfx (the system package delivered by Arch Linux) interferes with the build process. It needs to be uninstalled. JabRef is also launchable with /opt/jabref/bin/JabRefMain, but something still seems wrong:
|
The log4j error should be fixed in the latest master version. |
@j0hannes Could you update the package? |
@homocomputeris, I will, I have just been travelling for two weeks now. |
@j0hannes Thanks a lot! |
@homocomputeris, I have adapted the package, could you try? |
@j0hannes Great, it works, thanks a lot!.
which is a dependency, probably? It's also a bit laggy and slowish, but it's probably JabRef's problems. |
@homocomputeris The logger issue is a known problem. We are working on it. |
It turns out that in j0hannes's package the desktop entry still exists and this just works:
which is fine for me ATM. |
@homocomputeris, there should be a .desktop file: /usr/share/applications/JabRef.desktop |
@j0hannes I have found it (see above) but it has old paths:
|
@homocomputeris, what do you mean by "old paths"? The icon is stored in /usr/share/pixmaps/ and doesn't need a full path here. On my machines, the icon is shown in the launcher, and clicking on it starts the application. |
@j0hannes Well, I don't know why it doesn't appear in my system's Gnome menu. I've reinstalled the package, and I have $ lsa /usr/share/applications/JabRef.desktop
-rw-r--r-- 1 root root 412 oct 15 12:46 /usr/share/applications/JabRef.desktop $ cat lsa /usr/share/applications/JabRef.desktop
[Desktop Entry]
Name=JabRef
GenericName=BibTeX Editor
Comment=JabRef is an open source bibliography reference manager. The native file format used by JabRef is BibTeX, the standard LaTeX bibliography format.
Type=Application
Terminal=false
Icon=JabRef
Exec=JabRef %U
Path=/opt/JabRef/bin
Keywords=bibtex;biblatex;latex;bibliography
Categories=Office;
StartupWMClass=org-jabref-JabRefMain
MimeType=text/x-bibtex; |
@homocomputeris, according to this page it should work like that. |
Does |
In my case it doesn't; I did that check before pushing the new version. |
Your launcher is shown in the menu, so it's correct. |
30fb68e Create BJEDIS-ABNT-Number (#5255) aafb868 Update geochimica-et-cosmochimica-acta.csl (#5321) 60ba25f british-journal-of-anaesthesia.csl: add comma delimiter between non-sequential citations eg. 1 4 7-9 -> 1, 4, 7-9 (#5313) 67e6564 Reindent/reorder (#5318) c0d2a39 Ruby 3.0.0 (#5309) 76d60ff Update harvard-anglia-ruskin-university.csl (#5310) bc18ac9 Create journal-for-the-study-of-the-new-testament.csl (#5312) aff602c Update journal-of-food-protection.csl (#5315) 4503826 Update muscle-and-nerve.csl (#5317) 3bed58e constant redefinition 4d718a0 update documentaiton link fa99e2f add comma delimiter between succesive numbers d396f8b Allow privileged testing of PRs (#5307) 43b22c7 Update masarykova-univerzita-pravnicka-fakulta.csl, pravnik.csl, iso690-full-note-cs.csl (#5308) 8a31c1e Update copernicus-publications.csl (#5303) 96760bb Update anabases.csl (#5304) 744de6d removed locale (#5300) 7eb0d60 Update aviation-space-and-environmental-medicine.csl (#5297) 2769970 Update ruhr-universitat-bochum-lehrstuhl-fur-industrial-sales-and-ser… (#5298) 51e3f4c Update harvard-university-of-bath.csl (#5299) 5fce84f Create cns-spectrums.csl (#5290) bb8082c Create journal-of-surgical-oncology.csl (#5259) 90c13ae Update ruhr-universitat-bochum-lehrstuhl-fur-industrial-sales-and-ser… (#5288) 4bab1ad Update early-christianity.csl (#5289) 636ba78 Update tatup-zeitschrift-fur-technikfolgenabschatzung-in-theorie-und-… (#5291) b7cc511 Create biotechnologia.csl (#5292) 5bab881 Update journal-of-orthopaedic-trauma.csl (#5287) 5943413 Fix locales (#5285) 302bd65 Update universite-du-quebec-a-montreal-departement-dhistoire.csl (#5286) 860ae48 Add Haaga-Helia University of Applied Sciences Harvard style (#5282) c1c27de Localize Metropolia style title (#5283) 508da89 Fix presentation for Methods of Information in Medicine (#5284) 53e1d0b Create geschichte-und-gesellschaft.csl (#5216) d7ed0cb Create universite-de-geneve-departement-de-francais-moderne.csl (#5212) 80c404b Update journal-of-orthopaedic-trauma.csl (#5281) 20c143a Adding publishers' names (#5280) 6e5cd59 Update sodertorns-hogskola-oxford.csl (#5279) 52f2621 dollar-brace a260294 Create journal-of-microbiology-and-biotechnology.csl (#5277) 1fc979e Create qeios.csl (#5261) 86347b7 GH does this for us -- again, sorry guys b649589 Create experimental-biology-and-medicine.csl (#5276) 12ae0b1 Revert "tell sheldon about the job state" bdcae89 tell sheldon about the job state 1240067 Add Vegetation classification and Survey (#5271) 6f398f0 Major update to Gallia.csl (#5269) 2a74b2c Update filters.yaml (#5273) 20046d2 Update spec_helper.rb (#5272) 2ee0dd8 Create the-sociological-review.csl (#5260) 5b8d09c move filters to inert file to pacify Sheldon (#5268) e5f3315 Localize more language descriptors in style titles (#5270) bfd2942 Localize more language descriptors in style titles (#5267) 35e276f Fix variable used for the label after indication of number of pages (#5240) 60f6371 Create Universidade-do-Estado-do-Rio-de-Janeiro.csl (#5247) d8cc2ae Create the-journal-of-the-acoustical-society-of-america-numeric.csl (#5256) 92259c1 Create journal-of-financial-and-quantitative-analysis.csl (#5264) 6ba8aab Create journal-of-vestibular-research.csl (#5258) 0c88f41 Update european-journal-of-international-law.csl (#5265) cff5abc Put language descriptor within parentheses 4a62709 Update monash-university-harvard.csl (#5253) 64fd1aa Localize more language descriptors in style titles (#5262) f6519cb Localize more language descriptors in style titles (#5257) 170ccae tiny fixes for universitat-basel-iberoromanistik.csl (#5254) b7284c9 Localize more language descriptors in style titles (#5252) f4ef858 Add "Baishideng Publishing Group" dependents (#5251) 266e7c3 Make world-journal-of-hepatology.csl to bpg.csl parent (#5243) 9129098 fix small formatting issues for mclc.csl (#5229) 5d9560b Create crispr-journal.csl (#5249) a217299 Change "Czech" to "Čeština" in titles (#5248) 4fef39a Create journal-of-open-research-software.csl (#5245) 2bff1a6 Change "Dutch" to "Nederlands" in titles (#5242) f28da34 Update spec_helper.rb (#5246) e0e977c Move content from wiki pages to markdown files (#5194) 018304c Update universite-de-montreal-apa.csl (#5239) 3b83e5c Create sodertorns-hogskola-oxford.csl (#5234) 1335378 Stop notifying 8827 port on Zotero servers (#5237) f079b2a Update author-year disambiguation (#5238) 60bb0c9 Update technische-universitat-dresden-medizin.csl (#5236) e374657 Create Leidraad voor juridische auteurs 2019 (Dutch) (#5223) 0450d89 Add new style for U of Mannheim, Germanistische Linguistik (#5228) 81f0689 Create health-sports-rehabilitation-medicine.csl (#5233) c152a44 Update Gemfile.lock (#5235) 748e1eb Update geochimica-et-cosmochimica-acta.csl (#5231) 06b9ce8 Update zeitschrift-fur-theologie-und-philosophie.csl (#5230) e747cb1 haute-ecole-de-gestion-de-geneve: Make polyglot & et al changes 4cfedb7 Create universite-de-sherbrooke-histoire.csl (#5210) a96a61e Update journal-of-glaciology.csl (#5222) c6a94c9 Add Journal of Human Rights (#5227) c5c9c5f Update ruhr-universitat-bochum-lehrstuhl-fur-industrial-sales-and-ser… (#5214) ffb7aa6 Create comparativ.csl (#5215) e07329a Update lancaster-university-harvard.csl (#5220) c075d41 Update mimesis-edizioni.csl (#5219) 502970a Removed space in year only citation (#5218) 13e8c6b Update acta-scientiae-veterinariae.csl (#5209) 0699da6 Remake mammallia.csl for Oct/2020 guidelines. (#5207) b2dd3fd Update journal-of-international-business-studies.csl (#5217) dd52bfe Update quaternaire.csl (#5199) ccb1b0d rebuild webpage and article-journal citations in journal-of-forensic-sciences.csl (#5203) f02f4fb Create pedosphere.csl (#5196) 70dd87a Create open-gender-journal.csl (#5198) d272998 Create the-quarterly-journal-of-economics.csl (#5197) d27cab3 fix locale issues, add cite-locator (#5206) git-subtree-dir: buildres/csl/csl-styles git-subtree-split: 30fb68e
I am on an Arch Linux machine with the following:
Steps to reproduce the behavior:
gradle releaseJar
orgradle shadowJar
(see log)java -jar build/releases/JabRef-5.0-dev.jar
I have a failure with the following error:
Log File
The text was updated successfully, but these errors were encountered: