Skip to content

Instantly share code, notes, and snippets.

@pcarrier
Last active August 11, 2021 08:38
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save pcarrier/7560053 to your computer and use it in GitHub Desktop.
Save pcarrier/7560053 to your computer and use it in GitHub Desktop.
Install fsnotifier for IntelliJ IDEA on your ARM laptop.
Works better than one might expect with JDK8.
Usage:
$ sh fsnotifierto.sh /opt/idea/bin/
...
Sorry for the truncate insanity.
Sadly not much I can do:
http://git.jetbrains.org/?p=idea/community.git;a=blob;f=platform/platform-impl/src/com/intellij/openapi/vfs/impl/local/FileWatcher.java;hb=HEAD#l221
#!/bin/sh
set -e
for f in fsnotifier.h \
inotify.c \
main.c \
make.sh \
util.c
do
curl \
"http://git.jetbrains.org/?p=idea/community.git;a=blob_plain;f=native/fsNotifier/linux/$f;hb=131" \
-o $f
done
sh make.sh
strip fsnotifier fsnotifier64
# Should check against truncation
truncate -s 29155 fsnotifier64
truncate -s 22791 fsnotifier
cp fsnotifier fsnotifier64 $1
@ChristophHaag
Copy link

ChristophHaag commented Jul 28, 2016

In inotify.c http://git.jetbrains.org/?p=idea/community.git;a=blob_plain;f=native/fsNotifier/linux/inotify.c there is

#if defined(__i386__)
__asm__(".symver memcpy,memcpy@GLIBC_2.0");
#elif defined(__amd64__)
__asm__(".symver memcpy,memcpy@GLIBC_2.2.5");
#endif

I don't know why they think they need this, but on current archlinux arm that doesn't link. Just removing this block makes it work.

Also I couldn't get it to work so I thought it might need a new size and downloaded the original archive and found that it contains fsnotifier-arm now. So on distributions that include this binary in their package, it should just work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment