Building Axoloti in a 32bit linux system


#1

Hi there, I am new here. I ordered the Axoloti core and so I started getting ready for when it arrives :smiley:
I encountered a few problems in the way, and I thought that I would document these here in case they are of use to somebody else.

1) I am using opensuse linux and sadly there seems to be no Axoloti rpm available. I tried using the package 'alien' to create an rpm from the deb file but I found that there are some libav libraries versions (52 or 53?) required that I cannot find. No luck there so far.

2) I then decided to follow the supported distribution and use a oldish laptop where I installed Ubuntu Studio 14.04. Now I found that Axoloti-1.0.6 does not install because the laptop is a 386 architecture :unamused:

3) The other option I could think of was to compile the package myself, downloaded the source, tried the build.sh, but (oh noooo!) there are 3 dependencies that cannot be fulfilled:
sudo apt-get install -y lib32z1 lib32ncurses5 lib32bz2-1.0

E: Unable to locate package lib32z1
E: Unable to locate package lib32ncurses5
E: Unable to locate package lib32bz2-1.0

4) Googling around I found out that there is another way of installing these:
sudo apt-get install zlib1g:i386 libncurses5:i386 libbz2-1.0:i386

But if you do this, the build.sh script needs line 32 edited to remove those 3 libraries.
I had to run the build script a couple of times because I had also deleted curl and ant when editing line 32... but in the end I got:
BUILD SUCCESSFUL
:blush:


#2

Hi again, running the program I get these errors. The first one, I understand (no USB device connected), but what about the other about "objects"?

No available USB device found with matching PID/VID
search path : objects
java.io.FileNotFoundException: objects/transitions.xml (No such file or directory)
java.io.FileNotFoundException: objects/transitions.xml (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:146)
at org.simpleframework.xml.core.Persister.read(Persister.java:518)
at org.simpleframework.xml.core.Persister.read(Persister.java:426)
at transitions.TransitionManager.LoadTransitions(TransitionManager.java:67)
at axoloti.object.AxoObjects$2.run(AxoObjects.java:348)
at java.lang.Thread.run(Thread.java:745)

finished loading objects


#3

Right, I found out that some others had similar problems to mine. So I cloned the git repository, edited the build.sh file, recompiled and get no more errors :smile:


#4

Well, my board arrived!
Connected everything, first time that I run Axoloti it finds the board, and then I get a message that there firmware did not match (or something along those lines, unfortunately I did not write it down).

Problem 1.
I went ahead, with the flash update, the board flashed, but there was an error 4 and stopped flashing. Without not knowing what else to do, I restarted the Axoloti and was able to load the tybett demo. Sorry to ask, but what did I do? :smile: and do I have to rectify something or re-flash it?

Problem 2. Despite the above the tybett demo seems to work OK, but I am getting these errors when I start the program:

Link to firmware CRC B47AC966
Status: factory (master,anon) : OK ( master,clean )
Status : home : OK
Status: community (master,anon) : OK ( d4fb83e4424f58899a59deec8acf5eb271c47076,clean )
USB device found
connected
java.io.FileNotFoundException: public_key.der (No such file or directory)
java.io.FileNotFoundException: public_key.der (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:146)
at axoloti.HWSignature.ReadPublicKey(HWSignature.java:54)
at axoloti.HWSignature.Verify(HWSignature.java:109)
at axoloti.USBBulkConnection.connect(USBBulkConnection.java:316)
at axoloti.MainFrame$2.run(MainFrame.java:266)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:706)
at java.awt.EventQueue$3.run(EventQueue.java:704)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

search path : /home/gabriel/axoloti/axoloti-factory/objects
Firmware version: 1.0.0.1, crc=0xB47AC966, entrypoint=0x20011000
search path : /home/gabriel/axoloti/objects
search path : /home/gabriel/axoloti/axoloti-contrib/objects
finished loading objects

Any ideas what is this?

Problem 3. Some demos fail compilation. I am suspecting that when I cloned git, it downloaded an testing version? (1.0.8-19-g6c53f45-dirty).

Thanks for any suggestions.


#5

Hi, i also recently got my AxolotiCore... first tried to install the Patcher on my 32bit linux Lubuntu machines without it working then thought that it is actually not compiled for 32bit linux Got over to an installation on the same machine of 64bit Lubuntu 16.04 wich i still use very rarely and got it to work after getting some missing libraries that have a diffrent name now (i think it was lib32bz).
What strikes me as a bit of odd is that there is no specific installer for 32bit ..as it seems to need all those 32bit libs.
The 32bit Windows installer worked fine on also the same machine in windows7

Can we haz linux32bit pleaz? :3


#6

the issue is simply time... every new distribution adds to the time it takes to build/release, and also needs to be tested. Linux is a pain, as not only is it multiple architectures but distribution formats.

on the flipside, with Linux its usually easy to build products, and users tend to be a bit more knowledgeable on building from source, and the user guide does provide some pointers for this.

Axoloti is an open source project, so if users want to contribute changes to the build system (and help support ) that will build they can offer pull requests.

Lets bare in mind Axoloti has one full time developer (Johannes), and providing Windows/Mac and Linux, and build support, is much more than most commercial products that have lots of developers and are priced above Axolotis price point.