linuxraspberry-piarmraspbiandylan

Install Open Dylan on ARM architecture


I was looking through a long list of programming languages and I found one (Not too far down the alphabetical list) called Dylan. Being a Dylan myself, I instantly felt a connection with this language and had to install it on my favorite toy, my Raspberry Pi (Model 3B if that matters). Upon downloading the Linux x86 version (Which, I would assume, is the issue, seeing as my architecture is "armv7l"), unpacking the tarball, and completing the rest of the instructions in the README file, I was disappointed (Although, not surprised) when I got this message: "cannot execute binary file: Exec format error".

I'm not ready to give up just yet. How could I manually compile OD for the armv7l architecture, if it is possible at all? You'll need to know that my knowledge is very limited in this area, so if you tell me to "just build it" or something, it won't be very helpful.

[for reference] OD Website: http://opendylan.org/


Solution

  • Unfortunately, you can't. The language is dependent on x86 architecture according to it's documentation.

    enter image description here

    I crawled through binaries and the source code to figure out a work around, and it doesn't look like there is until until someone writes it from scratch for ARM.

    Which is a LOT of hard work...

    I know this is disappointing, but in the future, if you find something you like, but isn't built for ARM, if you can get access to source code, especially if it's in C/C++/ or Java, (or Python, and other architecture independent languages), you can clone the source code and compile it all yourself, checking to make sure there's nothing hiding in the code dependent some some obscure architecture behavior. (Google and 'ctrl+f' are your friend there!) If nothing stands out, cmake is a very useful tool in that case! Bit of a learning curve, but great tool for building things for different architectures.

    After it's compiled, run the application. Sometimes it runs, other times it requires more work, and sometimes it just needs x86.