SOLVED Problem on Debian 9, PLEASE HELP!


#1

I'm trying to get Axo running on a ThinkPad running Debian 9. The patcher loads ok, but when I go live with a patch, any patch, including an empty one, i get the following error:

/home/daniel/axoloti/build/xpatch.h.gch
Makefile.patch:53: recipe for target '/home/daniel/axoloti/build/xpatch.h.gch' failed
make: arm-none-eabi-g++: Command not found
make: *** [/home/daniel/axoloti/build/xpatch.h.gch] Error 127
shell task failed, exit value: 2
Compiling patch failed ( untitled )

I'm a complete rube when it comes to Linux. What do I need to do?


#2

The error message indicates that the C++ compiler wasn't found.
It appears you didn't install the 'runtime' package, or it wasn't installed correctly (correct location and permissions.)

Note: I can't tell what version Axoloti Patcher you are trying to run, but I would advise against the 2.0 version. It isn't ready for general use.


#3

Thank you for answering. I'm just attempting to install V1 (1.0.12-2-0-g7975cc87 build time : 09/04/2018 13:05:40).
I installed everything according to the user's guide. One thought that occured to me: it is complaining about a file in ~/axoloti/build. Now, I don't recall how that whole folder ended up there, but it is possible it was synchronized via own cloud form the axoloti folder on my late Mac. Might that cause problems, i.e. should i have a special linux version of that folder, too?

I really appreciate your help. My mac died under mysterious circumstances and i'm trying to take that as a sign to switch (also, this happens to be the only other machine i have around and all stores are closed), but the learning curve is really quite steep.


#4

~/axoloti/build is a folder that gets created by the Axoloti patcher. Basically, a working folder where it compiles the patch, before sending the result out to the Axoloti. Its probably not the problem.
On a Mac, that folder is in ~/Documents/axoloti/build.
Patcher isn’t finding the C++ compiler. Where is the runtime installed? Is it correct for Linux?And does it have correct permissions to run under your username?


#5

No breakthrough. I reinstalled everything. axoloti_runtime is installed in my home directory and I made sure the permissions for axoloti_runtime are all set to me (they were set to an unkown user after installing, so i thought that was the key, but no dice...). The error message is now

-I/opt/Axoloti/app/chibios/boards/ST_STM32F4_DISCOVERY -I/opt/Axoloti/app/chibios/ext/fatfs/src -I. -I/opt/Axoloti/app/chibios -I./mutable_instruments -Winvalid-pch -MD -MP -c ./xpatch.h -o /home/daniel/axoloti/build/xpatch.h.gch
make: arm-none-eabi-g++: Command not found
make: *** [/home/daniel/axoloti/build/xpatch.h.gch] Error 127
Makefile.patch:53: recipe for target '/home/daniel/axoloti/build/xpatch.h.gch' failed
shell task failed, exit value: 2
Compiling patch failed ( untitled )

In case that's helpful, here's the content of the platform_linux folder; according to "find" there is a file arm-none-eabi-g++ in platform_linux/bin

Thank you again for your help, i feel at the end of my rope here...
db


#6

I only have a Mac OS system, so I can't say anything beyond what the error message says: make isn't finding the compiler.
I'm going to try to install Debian in a VM... maybe I can figure it out.

.... sorry, I give up. Debian in a VirtualBox VM is just too clunky. I gave up when Debian wouldn't install axoloti saying the package was AMD, not i386.


#7

make is not finding the compiler (arm-none-eabi-g++), which is part of the runtime. It should be in /home/daniel/axoloti_runtime/platform_linux/bin/. If it is not, the runtime is not installed correctly. Otherwise, I do not know. Make sure (arm-none-eabi-g++ is executable?

Hope this helps,
John


#8

John, thanks for helping. I think everything is where and what it's supposed to be?

After trying various things i now get a new error message. Maybe that tells you guys something? The truth is out there and i want to believe, but i'm getting second thoughts about Linux... Help me, before i lose faith!

-I/opt/Axoloti/app/chibios/os/hal/platforms/STM32/USARTv1 -I/opt/Axoloti/app/chibios/boards/ST_STM32F4_DISCOVERY -I/opt/Axoloti/app/chibios/ext/fatfs/src -I. -I/opt/Axoloti/app/chibios -I./mutable_instruments -Winvalid-pch -MD -MP -c ./xpatch.h  -o /home/daniel/axoloti/build/xpatch.h.gch
Makefile.patch:53: recipe for target '/home/daniel/axoloti/build/xpatch.h.gch' failed
arm-none-eabi-g++: error trying to exec 'cc1plus': execvp: No such file or directory
make: *** [/home/daniel/axoloti/build/xpatch.h.gch] Error 1
shell task failed, exit value: 2
Compiling patch failed ( untitled )

There are several files named cc1plus on my machine:

sudo  find / -name 'cc1plus'
/usr/lib/gcc/x86_64-linux-gnu/6/cc1plus
/home/daniel/axoloti_runtime/platform_linux/lib/gcc/arm-none-eabi/4.9.3/cc1plus

There are also several directories named arm-non-eabi and several files called g++. Don't know if that's the way it's supposed to be...


#9

It might not matter, but I'm curious - why did you choose Debian, instead of, for example, Ubuntu?


#10

I don't know if I can offer any concrete help, more than to second what others have written, i.e. that for some reason the required file has not been installed properly, for whatever reason, but I can say that I am successfully running Axoloti on Debian 9 (9.8 to be exact), so it definitely is possible.

cc1plus is the first pass of the compiler, whereas g++ is more of a shell that runs various compiler tools as necessary (see for instance https://stackoverflow.com/questions/19899750/what-is-the-difference-between-gcc-g-and-cc1-cc1plus).

One thing that can cause it not to find a particular binary like this is if the binary was installed with the wrong permisisons. For instance, if you type the command

ls -l /home/daniel/axoloti_runtime/platform_linux/lib/gcc/arm-none-eabi/4.9.3/cc1plus

it should say something like:

-rwxr-xr-x 1 daniel daniel 17255116 Dec 14 2015 axoloti_runtime/platform_linux/lib/gcc/arm-none-eabi/4.9.3/cc1plus

Now, the 'x's in '-rwxr-xr-x' tell you that cc1plus is an executable binary, i.e. basically a program that can be executed. (In contrast, a plain file, such as /etc/debian_version is not, if you do ls -l /etc/debian_version you get
-rw-r--r-- 1 root root 4 Feb 3 2019 /etc/debian_version
where the absence of 'x's indicate it's a plain (text in this case) file.)

As to how this could happen I don't know though, but start by doing ls -l with the filenames you listed in post 8 above and that might give some clues.

(Incidentally, personally I've chosen Debian over Ubuntu because I find Debian more no-nonsense than Ubuntu, one Ubuntu installation I tried set up lots of background tasks which consumed computer resources, similar to the way Windows works, whereas Debian is more 'clean'. Sad to hear you're having problems, although initially I started with Linux because I have a background in computing, I've taken to love Linux because it just works.)


#11

Debian is a fine OS but not necessarily what I would recommend to get started in Linux with - I think Ubuntu or one of its variants is a better starter Linux than Debian.

That being said, it looks to me like the compiler and it's components are misconfigured. Either the shell doesn't match the components it is invoking or it is not finding them at all. I would not expect to find multiple copies of arm-none-eabi unless you have Arduino or something like that installed as well, since it is a cross-compiler to build binaries for the Arm processor on x86 processors. I think something (or things) is installed incorrectly. If you could post the entire compiler error and command-line, it would be easier to see what is going on. It is hard to do more than expand on what the error message means with this fragment.

Regards,
John


#12

I'm pretty sure the real problem is that recent versions of Debian (and Ubuntu, and others probably) no longer support 32-bit programs, and the axoloti_runtime contains 32-bit programs. When 'make' (the program that actually manages the build of axoloti programs) can't run a program (either not found, wrong permissions, or not compatible), it reports 'Command not found'.


#13

I think they are dropping support for 64 bit systems - i.e. they only run on 64 bit processors because the kernel, etc. is 64 bit only. I don't think anyone is dropping support for running 32 bit Apps, although I can't say I'm 100% current with the Linux world these days. Maybe they are making it an add-on option that is not installed by default? It's typically just a matter of adding some libraries and the build tool chain, etc.

Regards,
John


#14

Yes, support for running on 32 bit CPU has been dropped. But they've also stopped installing (by default) necessary libraries for running 32-bit programs on the 64-bit system.

To the original poster : did you do these steps?

install dependent packages

using : sudo apt-get install -y lib32z1 lib32ncurses5 lib32bz2-1.0

grant permissions for your user to use the USB device

make sure the axoloti board is not connected
run ~/axoloti_runtime/platform_linux/add_udev_rules.sh

#15

SUCCESS!

All the permissions were already as required (though they probably weren't initially, as i dicovered in the process that my home folder was owned by an unknown user). The last step that seems to have done it was to install this library, but in my defense, i'm positive i've done that before, so this may have been a classic case of two independent errors being chased around in a circle.

Be that is it may, thank you everybody for your generous help. As always, i'm coming away from this community with a sunnier view of mankind (-; Karmic points for all of you!

[non-problem related chitchat coming up] Since some of you asked, i'm beginning to suspect, too, that there are easier distros to deal with than Debian. The friend who installed this for me a year or so ago on an anicent ThinkPad for trying out was a serious Debianisto, so he wouldn't have it any other way. I then had this machine sitting around more or less unused until, 2 days into Covid19 curfew, my Macbook died for no apparent reason (Covid? My son swears he didn't do it...). So i had to get this one up and running with the stuff i need for work real quick, and only after i'd managed that did i return to axoloti. But i didn't at that point dare to go back and change the OS.
I'm going to get a newer laptop once shopping is normal again, and then i'll probably go for Ubuntu (or, Ubuntu studio, which, from what i hear, is better for audio applications).


#16

if you really want to do audio work on Linux, as in mixing etc. i would recommend something like: http://www.bandshed.net/avlinux/ which is debian based :slight_smile: in fact ubuntu is debian based as well...


#17

Before I started using Debian, my impression was that Debian was harder to set up than other Linux distributions, that it was only for the Serious Linux Hacker, etc. But once I tried it out I can't say I found it especially challanging or difficult.

However, I will say that there are some things which can make it awkward. One is that by default they by default only include totally free software (free as in 'free speech' not as in 'free beer'), which means that for instance the on-chip firmware for the WiFi card in my laptop is not included, and has to be downloaded separately (albeit fram the Debian), and installed off a USB stick unless I connect an Ethernet cable and do the installation that way.

Another disadvantage is that Debian tends to lag other distributions when it comes to software versions. However, that goes for the Debian 'stable' version, there's also the 'testing' and 'unstable' versions which are more up-to-date but allegedly can have more problems. However, from what I've heard from others using these versions is that they whatever problems that show up are usually resolved in a day or so, and it rarely happens to start with. Personally I've never tried them because not running the latest and greatest hasn't been much of an issue for me.

With Ubuntu, more happens automatically, under the hood. When trying out an Ubuntu version many years ago, it happily informed my that the battery in my laptop might be under a warranty recall program, which Debian never did. On the other hand, installing Ubuntu on an older machine almost brought it to a standstill because there was so much happening in the background indexing files and whatnot. Debian never does that either.

So for me, Debian is a bit like that old car that never breaks down and always gets you where you want.

Trying out a Linux distribution designed especially for audio would be interesting, but that said, I run my (fairly basic) recording studio using Ardour 3 on Debian, and it works absolutely fine, I feel it's actually more stable than the hardware DAW I used to use. I don't use real time monitoring via Ardour though, so I don't have to have the audio latency turned down way low which probably helps.


#18

ouch! your missing out on MANY things here @ricard, that version must be 5 years old, no? :slight_smile:


#19

Probably. But I'm not after a lot of functionality, I basically just want something that records and plays back in a stable, multichannel configuration.

I tried Ardour 5 briefly on another machine, but it didn't offer any significant improvement to my workflow, so I figured I'd leave the upgrade for rainy day.

Put another way, I used to be more into hardware DAWs. The last one I had was a Yamaha AW1600, and of course there quickly comes a point when machines like that stops getting upgrades. So I figure I'm not worse off with an old version of Ardour just because it happens to be completely software based.