ASE Home Page Products Download Purchase Support About ASE
ChartDirector General
Forum HomeForum Home   SearchSearch

Message ListMessage List     Post MessagePost Message

  Linux/ARM 64
Posted by Dix on Mar-07-2021 18:30
as the subject implies, do you intend to (or could you) create a version for Linux on 64-Bit ARM?

Thanks,
Dix

  Re: Linux/ARM 64
Posted by Peter Kwan on Mar-08-2021 00:22
Hi Dix,

We currently can build ARM and ARM64 release upon request. For ChartDirector for C++, we already have a build for "ChartDirector for C++" at:

https://www.chartdir.com/forum/download_thread.php?bn=chartdir_support&thread=1596164200#N1596186029

We also have several other builds for 32-bit ARM covers several programming languages.

https://www.chartdir.com/forum/download_thread.php?bn=chartdir_support&thread=1431694677#N1529950740

Would you mind to inform me which programming language edition of ChartDirector you would like to use? If you are using PHP/Perl/Python, please also let us know which version of PHP/Perl/Python you are using.

There are many ARM/ARM64 hardware. They mostly run on customized version of Linux. We currently only build and test the ARM/ARM64 release with Raspberry Pi. From experience, they should work with other hardware as well.

Regards
Peter Kwan

  Re: Linux/ARM 64
Posted by Dix on Mar-08-2021 01:49
Sorry, I forgot to mention I need C++. The linked version was exactly what I needed, but I got a link error about SurfaceChart setPlotRegion (maybe some old version hanging around in my code?), but at the moment I am just testing ARM Linux for the first time and just threw the offending code out. After that everything linked and I got my program to run.

It would be nice to have aarch64 officially supported for linux, but for now I am happy, thank you.

  Re: Linux/ARM 64
Posted by Peter Kwan on Mar-09-2021 02:55
Hi Dix,

The arm64 (aarch64) release should include a complete set of sample code. Please try the "ChartDirector/cppdemo/surface" sample code to see if it works in your machine:

cd ChartDirector/cppdemo/surface
make
make test

(A surface.jpg file should be generated which contains a surface chart.)

We have tested it and it works in our machine. I would like to confirm if the sample code works in your machine too.

If there is an error message, would you mind to inform me what is the error?

If the sample code (which uses SurfaceChart setPlotRegion), but it does not work in your code, is it possible to modify the sample code until it does not work, and inform me of the code that does not work?

Regards
Peter Kwan

  Re: Linux/ARM 64
Posted by Dix on Mar-10-2021 21:16
Hi Peter,
the sample code compiles and runs without any problems. Looking at my code, it is only a slightly modified copy of the sample code, it even has all the comments still.

So, the problem lies somewhere in my build setup or is something left over from the failed compilation tries before. Quite possible, I rarely ever use Linux, everything there, including the makefile (not even cmake), is the result of me tinkering with stuff borrowed from macOS until it works.

  Re: Linux/ARM 64
Posted by Peter Kwan on Mar-10-2021 22:52
Hi Dix,

There are many reasons why C++ programs may not work. For example, if the code uses deleted memory, the behaviour is unpredictable. It may work with one compiler or OS, and not work in another compiler or OS. Another possibility is using the header files that do not match the shared object. (There compile may pick up some older versions of the header files.) If there is a short sample code that can make it crash, then we can trouble-shoot the problem easily.

Regards
Peter Kwan

  Re: Linux/ARM 64
Posted by Dix on Mar-10-2021 23:10
Hi Peter,

it's not a runtime error, it was not linking. And it could very well have picked up the macOS header file. Or somehow (my best guess) one of the earlier link errors was still lingering around. It's not worth pursuing what went wrong on my side for now; the sample code worked and when I get to build my app for real that should work also.

Thanks for your (as always) awesome support!
Dix