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

Message ListMessage List     Post MessagePost Message

  ChartDirector Perl for Raspberry Pi 4 aarch64
Posted by Gary Hart on Oct-27-2020 11:15
Hi Peter,

I contacted you late last year about a build of ChartDirector for the Raspberry Pi 4.  At the time I was intending to use the standard armv7l or armhf (32 bit) version of the operating system and needed a Perl version of ChartDirector for that architecture.
The version that you supplied for armhf worked well.  Due to needing a 64 bit database system I have however moved my Raspberry Pi cluster to the aarch64 version of Raspberry Pi OS.  While I have seen the C++ aarch64 version of ChartDirector in this forum, I was wondering if it would be possible to get a Perl version for aarch64 or a means to use the C++ version with Perl.  The uname and Perl version strings from my current cluster head node are below -

Linux picluster01 5.4.51-v8+ #1333 SMP PREEMPT Mon Aug 10 16:58:35 BST 2020 aarch64 GNU/Linux

perl 5, version 28, subversion 1 (v5.28.1) built for aarch64-linux-gnu-thread-multi

Thank you for any help that you can offer.

Gary Hart.

  Re: ChartDirector Perl for Raspberry Pi 4 aarch64
Posted by Peter Kwan on Oct-27-2020 16:06
Hi Gary,

The ChartDirector Perl bindings must match the Perl type you are using, which is "Perl 5.28 aarch64-linux-gnu-thread-multi". I will try to compile one for you. It should be available within 24 hours.

Regards
Peter Kwan

  Re: ChartDirector Perl for Raspberry Pi 4 aarch64
Posted by Gary Hart on Oct-28-2020 14:16
Hi Peter,

Thank you for doing that.

Gary Hart.

  Re: ChartDirector Perl for Raspberry Pi 4 aarch64
Posted by Peter Kwan on Oct-28-2020 17:47
Hi Gary,

The following is the ChartDirector for Perl built for aarch64 and include support for Perl 5.28. Please try it to see if it works in your machine.

https://www.advsofteng.com/chartdir_perl_linux_arm64.tar.gz

Regards
Peter Kwan

  Re: ChartDirector Perl for Raspberry Pi 4 aarch64
Posted by Gary Hart on Oct-30-2020 11:19
Hi Peter,

Thank you for getting the 64 bit version of ChartDirector for Perl on Raspberry Pi for me.  I am currently trying it out with my Perl data plotting programs.  It is working very well for most of my programs, however there are a couple of programs that produce plots with 2 plot areas (MultiChart) and rose plots and these programs fail on the rose and multiplot functions.

I have spent quite a while narrowing down what the issue might be and it seems like it is related to adding legends or parts of legends.  With the rose plots I can add the legend with no problems, its just the adding of the segment key details (addKey) where the problem is generated.  The problem manifests itself as a segmentation fault when the chart is being made (at makeChart).

The problem is a little different with the parts that use MultiChart.  I cannot seem to have a legend in the upper of 2 charts.  If I just add a legend to the lower chart it all works fine, if I try to add a legend just to the upper chart it will fail.  It however fails when I call $chart1->layoutLegend(); and not at the makeChart stage.

I will attempt to reproduce the errors in very simple programs so that I have something to send you if required.

Thank you for any help that you can offer.

Gary Hart.

  Re: ChartDirector Perl for Raspberry Pi 4 aarch64
Posted by Peter Kwan on Oct-30-2020 12:39
Hi Gary,

Thanks for the information. It will be most useful if there is a sample program that can reproduce the problem. We can definitely fix it if it is reproducible.

Regards
Peter Kwan

  Re: ChartDirector Perl for Raspberry Pi 4 aarch64
Posted by Gary Hart on Oct-30-2020 16:22
Hi Peter,

Unfortunately I cannot reproduce the problem with a small program.  I have however got a work around for my much larger plotting programs.  If I don't specify the font size for the legend box in the upper/first chart in the multichart when creating the legend box it works fine.  If I go back and specify the font size with setFontSize it will still seg fault.

I can only assume that I have got some part of the program/plotting setup incorrectly for a strange problem like this to occur.  I will need to look more closely at my code to see if there is anything that stands out that I can do.  However, if I find that I can reproduce the problem with a small program then I will contact you again.

Thank you for your assistance with this problem.

Gary Hart.

  Re: ChartDirector Perl for Raspberry Pi 4 aarch64
Posted by Peter Kwan on Oct-31-2020 00:03
Hi Gary,

Please make sure you keep a copy of your original script that can crash the code, so in case we make an update, you can try to see if it can fix the issue.

Because the ARM64 is a special build, we have only run it through our standard test, which is use a script to create around 400 different charts and verify them pixel by pixel with reference charts that are manually checked to be correct. We have noticed there is some difference in text rendering, which we think is not abnormal. (You may have notice that every OS draws text slightly differently.) I may try to compile a release with a different version of the text rendering library to see if it makes any difference.

Regards
Peter Kwan