HP Forums
WP34s build compiler - Printable Version

+- HP Forums (https://archived.hpcalc.org/museumforum)
+-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html)
+--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html)
+--- Thread: WP34s build compiler (/thread-208438.html)



WP34s build compiler - David Griffith - 01-05-2012

Looking at the WP34s build files, it seems that I need CodeSourcery G++ Lite. Exactly what target platform flavor should I choose when downloading this?


Re: WP34s build compiler - pascal_meheut - 01-05-2012

No you don't. What platform do you want to build for and what do you want to build? The calc.bin firmware? The old Windows emulator? The new Qt Emulator?


Re: WP34s build compiler - fhub - 01-05-2012

Quote:
The old Windows emulator? The new Qt Emulator?

Is there any advantage of the new Qt emulator over the old Windows emulator?

I'm sure some here would like to try this new emulator, but certainly not many of us (including me) have (or want to download and install) a complete C environment just to compile this sources.

Is it really so difficult to provide a ready-to-use Windows EXE for this new Qt emulator?

Franz


Re: WP34s build compiler - Dominic Richens - 01-05-2012

You'll find pages describing the free Windows build environment (for emulator and calc.bin) at wiki4hp.

I would say the Qt emulator is less mature (e.g. serial comms still a work in progress) plus the focus has been on getting the Mac and Linux emulators to work.

On the other hand - the Qt windows emulator certainly needs testers. The basic calculator, including simulator flash handing, works fine and Pascal could use some help testing.



Edited: 5 Jan 2012, 10:24 a.m.


Re: WP34s build compiler - Marcus von Cube, Germany - 01-05-2012

I tried CodeSourcery, was pleased with the space optimizations it was able to do, and was very frustrated that the nicely optimized code simply didn't work correctly. That's the reason why I chose Yagarto.de as the compiler. No issues so far.


Re: WP34s build compiler - David Griffith - 01-05-2012

I forgot to mention that I use Linux and would like to avoid having to mess with Wine in order to do compilation.


Re: WP34s build compiler - Dominic Richens - 01-05-2012

plain old gcc / g++ works for the Qt version then. I'm sure there is an ARM chain for Linux but I'm not sure there is a Linux based tool to flash the HP-20b/30b with calc.bin


Re: WP34s build compiler - pascal_meheut - 01-06-2012

I'm currently working on the packaging so the next releases will include an .EXE (and the equivalent for Mac & Linux).
I'll finish the serial communication after.

The main advantage over the old one will be its availability on other platforms and the fact that it will be easier for the team to add functions. We are considering flashing from the emulator for instance...




Re: WP34s build compiler - Marcus von Cube, Germany - 01-06-2012

I think the Yagarto.de offering is a port of the standard GNU ARM cross compiler, neatly packaged for MacOS and Windows. As stated earlier, CodeSourcery G++ does not produce working binaries of the firmware. I have no idea why.


Re: WP34s build compiler - David Griffith - 01-06-2012

The regular GCC setup in Linux seems to work for the Qt emulator so far. I haven't yet identified all the development packages that are necessary. Is there anyone here using Linux to tinker about with the WP34s source code from whom I can get some info? I'm still trying to identify the correct cross-compiler to install for building the calculator firmware. For flashing the firmware image to the calculator, there's a version of SAM-BA for Linux.

qextserialenumerator_unix.cpp:(.text._ZN5QListI7QStringE13detach_helperEi[QList<QString>::detach_helper(int)]+0x27): undefined reference to `QListData::detach(int)'
collect2: ld returned 1 exit status

Edited: 6 Jan 2012, 10:26 p.m.


Re: WP34s build compiler - pascal_meheut - 01-07-2012

Quote:
qextserialenumerator_unix.cpp:(.text._ZN5QListI7QStringE13detach_helperEi[QList<QString>::detach_helper(int)]+0x27): undefined reference to `QListData::detach(int)'
collect2: ld returned 1 exit status

This one is strange and I cannot reproduce it. Anyway, still a lot of work to do on the serial port and I'm quite busy with my real-world work at the moment.


Re: WP34s build compiler - David Griffith - 01-07-2012

That error message is what I got when I tried to compile the Qt interface emulator.


Re: WP34s build compiler - David Griffith - 01-08-2012

So... are there any Linux users out there who can give me a hand?


Re: WP34s build compiler - Dominic Richens - 01-08-2012

Quote:
qextserialenumerator_unix.cpp:(.text._ZN5QListI7QStringE13detach_helperEi[QList<QString>::detach_helper(int)]+0x27): undefined reference to `QListData::detach(int)' collect2: ld returned 1 exit status

I'll poke around tomorrow when I can get at my Linux environment. My initial guess is there is something wrong with your Qt build, since it's complaining that one QtCore bit is failing to link to another.

What version of Qt are you using and what verion of gcc?


Re: WP34s build compiler - pascal_meheut - 01-08-2012

I'm compiling using gcc-4.6.1 and Qt4.7.4. Other versions of gcc should work.

The problem may come from the qextserial library binaries. I plan to add a way to not include the serial code and also another to recompile the library too.




Re: WP34s build compiler - David Griffith - 01-08-2012

I'm using GCC 4.4.5 and Qt 4.6.3 as installed though APT on Debian Squeeze. I suspected my Qt problems might be because I don't have the right development packages installed, but based on what I see here today, that might not be right.


Re: WP34s build compiler - pascal_meheut - 01-09-2012

Qt 4.7.4 or Qt 4.8 are supported. I never tested with an older version.


Re: WP34s build compiler - pascal_meheut - 01-09-2012

You can also try "make qt_gui_no_serial". It compiles without the serial libraries.
Just commited it.


Re: WP34s build compiler - Nobby K. - 01-16-2012

You should download the source code of 'qextserialport' using Mercurial and rebuild qextserialport.a reading trunk/QtGui/SerialPort.txt.
The qextserialport.a which is downloaded from Sourceforge.net(SVN) is used only limited enviorment. If your version of toolchain is different to Pascal, you should re-build qextserialport.a.

I'm using GCC 4.1.2 and Qt 4.6.1 on linux self build for QtGui, and arm-none-eabi-gcc 4.6.2 ,which is builded from source code by my self, on cross build for calc.bin.


Re: WP34s build compiler - pascal_meheut - 01-16-2012

There is even a SerialPort.txt file in the WP34-s/QtGui distribution describing how to recompile this library.