dk / PDL-Drawing-Prima

Low-level PDL-threaded interface to the Prima drawing commands.
5 stars 4 forks source link

Errors of compiling with PDL-2.063 #38

Closed YuryPakhomov closed 2 years ago

YuryPakhomov commented 2 years ago
Even version of 12.01_01 has errors now. Building PDL-Drawing-Prima cc -I/usr/local/lib64/perl5/PDL/Core -I/usr/local/lib64/perl5/Prima/../Prima/CORE -I/usr/local/lib64/perl5/Prima/../Prima/CORE/generic -I/usr/include/fribidi -I/usr/include/l ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/PDL/Drawing/Prima/Prima.bs') cc -shared -O2 -fPIC -L/usr/local/lib -fstack-protector-strong -o blib/arch/auto/PDL/Drawing/Prima/Prima.so lib/PDL/Drawing/Prima.o cc -I/usr/local/lib64/perl5/PDL/Core -I/usr/local/lib64/perl5/Prima/../Prima/CORE -I/usr/local/lib64/perl5/Prima/../Prima/CORE/generic -I/usr/include/fribidi -I/usr/include/l /usr/local/lib64/perl5/PDL/PP/PDLCode.pm: In function 'pdl_collate_min_max_wrt_many_readdata': /usr/local/lib64/perl5/PDL/PP/PDLCode.pm:435:4: error: stray '#' in program 435 @{[ $bad->get_str($parent,$context) ]} ^ /usr/local/lib64/perl5/PDL/PP/PDLCode.pm:435:6: error: 'line' undeclared (first use in this function); did you mean 'link'? 435 @{[ $bad->get_str($parent,$context) ]} ^~~~ link /usr/local/lib64/perl5/PDL/PP/PDLCode.pm:435:6: note: each undeclared identifier is reported only once for each function it appears in /usr/local/lib64/perl5/PDL/PP/PDLCode.pm:435:10: error: expected ';' before numeric constant 435 @{[ $bad->get_str($parent,$context) ]} ^~~~ ; /usr/local/lib64/perl5/PDL/PP/PDLCode.pm:438:3: error: 'N_extras' undeclared (first use in this function) 438 @{[ $good->get_str($parent,$context) ]} ^~~~ /usr/local/lib64/perl5/PDL/PP/PDLCode.pm:439:3: error: 'N_pixels' undeclared (first use in this function) 439 } ^
/usr/local/lib64/perl5/PDL/PP/PDLCode.pm:609:11: error: lvalue required as left operand of assignment 609
} ^ /usr/local/lib64/perl5/PDL/PP/PDLCode.pm:611:26: error: lvalue required as left operand of assignment 611 ^ /usr/local/lib64/perl5/PDL/PP/PDLCode.pm:612:73: warning: passing argument 2 of 'PDL_Drawing_Prima_Utils->safe_indterm' makes integer from pointer without a cast [-Wint-conve 612 ########################### ^
char ()(const char *, int)

/usr/local/lib64/perl5/PDL/PP.pm:683:72: note: in definition of macro 'PP_INDTERM' 683 | # define PP_INDTERM(max, at) (pdl_boundscheck? PDL->safe_indterm(max,at, FILE, LINE) : at) | ^~ /usr/local/lib64/perl5/PDL/PP/PDLCode.pm:612:73: note: expected 'PDL_Indx' {aka 'long int'} but argument is of type 'char ()(const char *, int)' 612 | ########################### | ^
/usr/local/lib64/perl5/PDL/PP.pm:683:72: note: in definition of macro 'PP_INDTERM' 683 | # define PP_INDTERM(max, at) (pdl_boundscheck? PDL->safe_indterm(max,at, FILE, LINE__) : at) | ^~ /usr/local/lib64/perl5/PDL/PP.pm:683:96: warning: pointer/integer type mismatch in conditional expression 683 | # define PP_INDTERM(max, at) (
pdl_boundscheck? PDL->safe_indterm(max,at, FILE, LINE) : at) | ^ /usr/local/lib64/perl5/PDL/PP/PDLCode.pm:612:35: note: in expansion of macro 'PP_INDTERM' 612 | ########################### | ^
/usr/local/lib64/perl5/PDL/PP/PDLCode.pm:612:34: error: invalid operands to binary (have 'PDL_Indx' {aka 'long int'} and 'char ()(const char , int)') 612 | ########################### | ^ /usr/local/lib64/perl5/PDL/PP/PDLCode.pm:612:176: warning: passing argument 2 of 'PDL_Drawing_Prima_Utils->safe_indterm' makes integer from pointer without a cast [-Wint-conv 612 | ########################### | ..... .... ..... ..... /usr/local/lib64/perl5/PDL/PP/PDLCode.pm:620:71: note: expected 'PDL_Indx' {aka 'long int'} but argument is of type 'char ()(const char , int)' 620 | my %access2class = ( | ^
/usr/local/lib64/perl5/PDL/PP.pm:683:72: note: in definition of macro 'PP_INDTERM' 683 | # define PP_INDTERM(max, at) (pdl_boundscheck? PDL->safe_indterm(max,at, FILE, LINE__) : at) | ^~ /usr/local/lib64/perl5/PDL/PP.pm:683:96: warning: pointer/integer type mismatch in conditional expression 683 | # define PP_INDTERM(max, at) (pdl_boundscheck? PDL->safe_indterm(max,at, FILE, LINE__) : at) | ^ /usr/local/lib64/perl5/PDL/PP/PDLCode.pm:620:33: note: in expansion of macro 'PP_INDTERM' 620 | my %access2class = ( | ^ /usr/local/lib64/perl5/PDL/PP/PDLCode.pm:620:32: error: invalid operands to binary
(have 'PDL_Indx' {aka 'long int'} and 'char ()(const char *, int)') 620 | my %access2class = ( | ^ error building lib/PDL/Drawing/Prima/Utils.o from 'lib/PDL/Drawing/Prima/Utils.c' at /usr/share/perl5/ExtUtils/CBuilder/Base.pm line 185.

run4flat commented 2 years ago

Thank you for this bug report. I cannot reproduce this error with the current version of PDL (v2.072) or PDL::Drawing::Prima (v0.13) which was just released. Closing for now, but feel free to re-open if you encounter the issue again!