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 perlchartdir.pm 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
Hi,

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:

  Platform:
    osname=freebsd
    osvers=13.2-synth
    archname=amd64-freebsd-thread-multi
    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_email=mat@FreeBSD.org -Dcf_time=Sun Mar 13 08:40:32 UTC 2022 -Dinc_version_list=none -Dlibperl=libperl.so.5.34.1 -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'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
  Compiler:
    cc='cc'
    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'
    ccversion=''
    gccversion='FreeBSD Clang 14.0.5 (https://github.com/llvm/llvm-project.git llvmorg-14.0.5-0-gc12386ae247c)'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='cc'
    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
    libc=
    so=so
    useshrplib=true
    libperl=libperl.so.5.34.1
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    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:
    HAS_TIMES
    MULTIPLICITY
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_IMPLICIT_CONTEXT
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    USE_64_BIT_ALL
    USE_64_BIT_INT
    USE_ITHREADS
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_PERLIO
    USE_PERL_ATOF
    USE_REENTRANT_API
    USE_THREAD_SAFE_LOCALE
  Built under freebsd
  @INC:
    /usr/local/lib/perl5/site_perl/mach/5.34
    /usr/local/lib/perl5/site_perl
    /usr/local/lib/perl5/5.34/mach
    /usr/local/lib/perl5/5.34

  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:

https://www.advsofteng.net/v6/chartdir_perl_freebsd_64_v6.tar.gz

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.

Cheers,
Colin

  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.

Cheers,
   Jan

  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:

https://www.advsofteng.com/download_archive.html

There is currently no plan to port CD7 to FreeBSD.

Best Regards
Peter Kwan