Here's the update log of the project.
For many people this is about scratching an itch, their own itch.
They improve upon it not for the sake of "open source", but for the sake of making the very same tools they rely on to be better tools.
This is how open-source used to work, and this is how it grew.
Apart of a few well known projects, the open source world is not so rosy.
I'm building an app that exports GPX files (XML file where you can store GPS positions, POIs, routes etc).
All the examples files on the official website ( https://www.topografix.com/gpx.asp ) are broken (they return a blank page) and to validate that your file is compliant you have to compile a 15 years old C++ library first (for some reason they refuse to release a binary).
Solved a lot of weird open formats issue we had
My point was not that GPX is hard (it's not) but that when something is open source most of the time you have to put some elbow grease in it because no one is paid to make it polished.
FWIW, it took me less time to write the GPX export code than to look for a binary of the validation tool, fail, then launch WSL and compile the goddam tool.
I have built my own OSM server to pre-generate tiles so my app has offline capabilities (I have a very slow internet connection so online maps are quite laggy).
I use it mostly to build routes that I export as gpx files to my Android phone (vehicle nav with Osmand and trekking with Iphigénie).
https://gist.github.com/AllenDang/f019593e65572a8e0aefc96058...
upd: Looks like the proper way of building is with gcc, but it builds without GUI. I need GUI.
Thanks for all your great tips on Twitter, btw. :)
I might try compiling it on my personal machine this week while I’m at work. I’ll keep you informed as well if anything interesting happens.
edit: formatting
There was some minor brokenness native comp caused to my setup so still not using this branch. But most stuff did surprisingly work perfectly well.
FWIW this is libgccjit-10-dev, the most recently available package I could find in my install (debian based Google gLinux).
Not sure if I have the motivation to go build it, but who knows! Beats writing design docs, which is the other thing I could be doing ;-)
mkdir gcc
cd gcc
git clone git://gcc.gnu.org/git/gcc.git src
mkdir build
mkdir install
PREFIX=$(pwd)/install
cd build
../src/configure \
--enable-host-shared \
--enable-languages=jit,c++ \
--disable-bootstrap \
--enable-checking=release \
--prefix=$PREFIX \
--disable-multilib
nice make -j4 # altering the "4" to however many cores you have
[0]May need to install some prerequisites listed here https://gcc.gnu.org/install/prerequisites.html (the error message from the configure might not be obvious so better go through the list first, think I needed MPC and MPFR, whatever I found with apt-cache search libmpc and libmpfr worked).
And then configure and make emacs with PATH, LIBRARY_PATH, LD_LIBRARY_PATH including your gcc build (install/bin and install/lib).
[0] taken and modified from https://gcc.gnu.org/onlinedocs/gcc-6.4.0/jit/internals/index...
If so, you might want to get in contact with the author. I imagine that OSX isn't as well tested as Linux.
(setq comp-speed 3)
Then you should tell it to recompile all of your elisp files: (native-compile-async "~/.emacs.d/elpa/" <n> t)
(native-compile-async "<path/to/system/elisp/files>" <n> t)
Where <n> is the number of threads you want. It's also possible than you have deferred compilation and that's the problem?I did have to use clang instead of gcc to get past some errors about not finding Appkit.h. I'll have to do more digging and try and get gcc working. Thanks for your help though!
an OSS project will do so much and may die, the next one will try a new branch (from scratch, influenced a bit by the other or fully reusing the old ones)
to save energy it's good to think and plan for continuations.. your project will be much more useful if kept clear so other can jump in and extend or rewrite it without struggle
Though it's bleeding edge, I haven't experienced any issues: everything just works.. faster!
It always amazes me that some people are willing to put in such hard work, alone, for open source. The fact that one guy managed to speed up all of Emacs 2x-20x in his spare time for no pay is frankly amazing. Certainly puts my side-projects to shame.