[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] #835: statistics: doesn't build on some platforms due
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] #835: statistics: doesn't build on some platforms due to hardcoded compiler flags |
Date: |
Sun, 13 May 2012 13:36:32 -0000 |
#835: statistics: doesn't build on some platforms due to hardcoded compiler
flags
------------------------+---------------------------------------------------
Reporter: sjamaan | Owner: petercrlane
Type: defect | Status: new
Priority: major | Milestone:
Component: extensions | Version: 4.7.x
Keywords: |
------------------------+---------------------------------------------------
When I try to compile the statistics egg on my NetBSD box with Chicken
built in my homedir, I get this error:
{{{
$ ~/chicken-test/bin/chicken-install
retrieving ...
checking platform for `statistics' ...
checking dependencies for `statistics' ...
mapped (srfi-1 srfi-69 extras foreign) to ()
install order:
("statistics")
installing statistics: ...
changing current directory to .
/home/sjamaan/chicken-test/bin/csi -bnq -setup-mode -e "(require-library
setup-api)" -e "(import setup-api)" -e "(setup-error-handling)" -e
"(extension-name-and-version '(\"statistics\" \"\"))" statistics.setup
/home/sjamaan/chicken-test/bin/csc -feature compiling-extension -setup-
mode -s -O3 -d1 statistics.scm -j statistics -lgsl -lgslcblas
Warning: in toplevel procedure `statistics#mcnemars-test':
(statistics.scm:1038) in procedure call to `numbers#*', expected
argument #2 of type `(or fixnum float (struct bignum) (struct compnum)
(struct ratnum))', but was given an argument of type `undefined'
Warning: in local procedure `loop',
in local procedure `g972',
in toplevel procedure `statistics#wilcoxon-signed-rank-test':
(statistics.scm:1130) in procedure call to `list-ref', expected argument
#1 of type `list', but was given an argument of type `(or fixnum float
(struct bignum) (struct compnum) (struct ratnum))'
Warning: in toplevel procedure `statistics#wilcoxon-signed-rank-test':
(statistics.scm:1151) in procedure call to `var-r11108', expected a
value of type `(procedure () *)', but was given a value of type `(or
fixnum float (struct bignum) (struct compnum) (struct ratnum))'
statistics.c:14:30: error: gsl/gsl_sf_erf.h: No such file or directory
statistics.c:15:32: error: gsl/gsl_sf_gamma.h: No such file or directory
statistics.c: In function 'stub115':
statistics.c:294: warning: implicit declaration of function
'gsl_sf_lngamma'
statistics.c: In function 'stub102':
statistics.c:303: warning: implicit declaration of function
'gsl_sf_gamma_inc_P'
statistics.c: In function 'stub90':
statistics.c:313: warning: implicit declaration of function
'gsl_sf_beta_inc'
Error: shell command terminated with non-zero exit status 256: gcc
statistics.c -o statistics.o -c -fno-strict-aliasing -fwrapv
-DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -g -Wall -Wno-unused -fPIC
-DPIC -DC_SHARED -I"/home/sjamaan/chicken-test/include/chicken"
Error: shell command failed with nonzero exit status 256:
/home/sjamaan/chicken-test/bin/csc -feature compiling-extension -setup-
mode -s -O3 -d1 statistics.scm -j statistics -lgsl -lgslcblas
Error: shell command terminated with nonzero exit code
17920
"/home/sjamaan/chicken-test/bin/csi -bnq -setup-mode -e \"(require-library
setup...
}}}
More about those warnings later, in another ticket. The setup-file
assumes just passing {{{-lgsl -lgslcblas}}} is enough to pick up on the
library, but when it is installed in a nonstandard location (or if, like
me, you're on a platform that doesn't automatically add these locations to
the include & library search path) this will break.
The fix is simple: just call the {{{gsl-config}}} program that's shipped
with GSL to determine the correct flags.
--
Ticket URL: <http://bugs.call-cc.org/ticket/835>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.
- [Chicken-janitors] #835: statistics: doesn't build on some platforms due to hardcoded compiler flags,
Chicken Trac <=