|
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 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 |
|