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

Message ListMessage List     Post MessagePost Message

  unknown method
Posted by Colin on Aug-01-2023 13:24
Greetings, I'm a long-time user of the perl version of ChartDirector on FreeBSD. I'm still running a version identified by $CDPLVersion = 0x600 in the file.

This evening my FreeBSD box upgraded from perl 5.32 to 5.34, like it has for many perl version upgrades in the past. However this time, upon doing so, method calls into ChartDirector are failing. For example, the hello world example fails saying:

unknown method BarLayer
*** Stack back trace ***
calling XYChart::addBarLayer at chartdirhelloworld:20

Line 20 is the line that says "$c->addBarLayer($data);"

I recognize that ChartDirector has been upgraded since I first installed it. I'm happy to pay for an upgrade and reinstall the latest version, but wanted to confirm before I go ahead that this is likely to solve the problem.

Appreciate any insight.

  Re: unknown method
Posted by Peter Kwan on Aug-01-2023 18:59
Hi Colin,

ChartDirector for Perl for FreeBSD can only support up to Perl 5.32. Unluckily, we no longer updates the FreeBSD editions of ChartDirector.

For your case, would it be possible to roll back to Perl 5.32?

If you must use Perl 5.34, I can try to create a special build for you. In this case, please let me know whether you are using 32-bit or 64-bit FreeBSD (use "uname -a"), and the type of Perl 5.34 you are using (use "perl -V").

(Like most open source languages, Perl does not have backwards binary compatibility. Even for the same version of Perl, there are multiple binary incompatible build options. I need to know the exact options your Perl is built with to ensure compatibility.)

Best Regards
Peter Kwan

  Re: unknown method
Posted by Colin on Aug-01-2023 20:59

Thank you for the quick reply. That is too bad, as ChartDirector has been a great solution on this platform.

If you would be willing to try to build, it would be much appreciated, although I sense that eventually there will be a need to migrate to a different solution as you focus on other platforms.

My perl is built from ports, I believe with the default options.

uname -a:

FreeBSD hostname 13.2-RELEASE-p1 FreeBSD 13.2-RELEASE-p1 GENERIC amd64

perl -V:

Summary of my perl5 (revision 5 version 34 subversion 1) configuration:

    uname='freebsd hostname 13.2-synth freebsd 13.2-synth amd64 '
    config_args='-Darchlib=/usr/local/lib/perl5/5.34/mach -Dcc=cc -Dcf_by=mat -Dcf_time=Sun Mar 13 08:40:32 UTC 2022 -Dinc_version_list=none -Dman1dir=/usr/local/lib/perl5/5.34/perl/man/man1 -Dman3dir=/usr/local/lib/perl5/5.34/perl/man/man3 -Dprefix=/usr/local -Dprivlib=/usr/local/lib/perl5/5.34 -Dscriptdir=/usr/local/bin -Dsitearch=/usr/local/lib/perl5/site_perl/mach/5.34 -Dsitelib=/usr/local/lib/perl5/site_perl -Dsiteman1dir=/usr/local/lib/perl5/site_perl/man/man1 -Dsiteman3dir=/usr/local/lib/perl5/site_perl/man/man3 -Dusenm=n -Duseshrplib -sde -Ui_iconv -Ui_malloc -Uinstallusrbinperl -Accflags=-DUSE_THREAD_SAFE_LOCALE -Alddlflags=-L/construction/xports/lang/perl5.34/work/perl-5.34.1 -L/usr/local/lib/perl5/5.34/mach/CORE -lperl -Dshrpldflags=$(LDDLFLAGS:N-L/construction/xports/lang/perl5.34/work/perl-5.34.1:N-L/usr/local/lib/perl5/5.34/mach/CORE:N-lperl) -Wl,-soname,$(LIBPERL:R) -Doptimize=-O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -Dusedtrace -Ui_gdbm -Dusemultiplicity=y -Duse64bitint -Dusemymalloc=n -Dusethreads=y'
    ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    optimize='-O2 -pipe -fstack-protector-strong -fno-strict-aliasing '
    cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    gccversion='FreeBSD Clang 14.0.5 ( llvmorg-14.0.5-0-gc12386ae247c)'
  Linker and Libraries:
    ldflags ='-pthread -Wl,-E  -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/lib /usr/local/lib /usr/lib/clang/14.0.5/lib
    libs=-ldl -lm -lcrypt -lutil
    perllibs=-ldl -lm -lcrypt -lutil
  Dynamic Linking:
    ccdlflags='  -Wl,-R/usr/local/lib/perl5/5.34/mach/CORE'
    cccdlflags='-DPIC -fPIC'
    lddlflags='-shared  -L/usr/local/lib/perl5/5.34/mach/CORE -lperl -L/usr/local/lib -fstack-protector-strong'

Characteristics of this binary (from libperl):
  Compile-time options:
  Built under freebsd

  Re: unknown method
Posted by Peter Kwan on Aug-02-2023 01:55
Hi Colin,

I have just updated the ChartDirector for Perl for FreeBSD (AMD64) build to include support for Perl 5.34. You may download it from:

Best Regards
Peter Kwan

  Re: unknown method
Posted by Colin on Aug-02-2023 21:21
Peter, thank you so much for this. I downloaded it and am back in business. The last build of ChartDirector worked for many years, and my fingers are crossed that this one will be the same.

May I say that I've always been impressed with the level of support for ChartDirector and this confirms my observation once again. While I will continue to use v6, I will purchase a license for v7 to continue to support you and by way of thanks.


  Re: unknown method
Posted by Peter Kwan on Aug-05-2023 01:43
Hi Colin,

Thanks a lot for your support of ChartDirector. I really appreciate very much.

For ChartDirector 7, only the Java edition of ChartDirector can run on FreeBSD. I know this is not ideal for your case as it is a completely different programming langauge from Perl. In case you need some chart types that are only available in ChartDirector 7 (eg. discrete heat map), at least there is an option.

Best Regards
Peter Kwan

  Re: unknown method
Posted by Jan on Mar-12-2024 20:20

Any plans to release PHP CD7 for FreeBSD? I would love to continue using CD in future on FreeBSD.


  Re: unknown method
Posted by Peter Kwan on Mar-13-2024 04:59
Hi Jan,

We have recently updated the PHP support for CD6 on FreeBSD to add PHP 8.3 support. CD6 can be downloaded from our archive page:

There is currently no plan to port CD7 to FreeBSD.

Best Regards
Peter Kwan