I eventually found this post:
http://permalink.gmane.org/gmane.comp.lib.gsl.bugs/173
After doing the suggested commenting, GSL now fully completes "make", but
"make check" claims to find two errors, here is the log:
http://bpaste.net/show/190944/
"make check" also prints a bunch of warnings about printf format strings
on stderr, but more worryingly, at the end it also prints this to stderr:
94 warnings generated.
Undefined symbols for architecture x86_64:
"_square", referenced from:
_E1 in test.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make[2]: *** [test] Error 1
make[1]: *** [check-am] Error 2
make: *** [check-recursive] Error 1
So I guess it couldn't compile one of the test programs?
After "make install", I tried "make check" again, and now I get:
test_static(20591,0x7fff73220310) malloc: *** error for object
0x7f9420500128: incorrect checksum for freed object - object was probably
modified after being freed.
*** set a breakpoint in malloc_error_break to debug
/bin/sh: line 1: 20591 Abort trap: 6 ${dir}$tst
FAIL: test_static
Should I be worried about these tests failing, or can I ignore them and
proceed to try to integrate my code into GSL?
Jean-François
On Mar 19, 2014, at 10:29 , Jean-François Caron <address@hidden>
wrote:
Make is the command that is failing. I do the following:
CC=/usr/bin/clang CFLAGS=-g ./configure --disable-shared
--prefix=/Users/jfcaron/Projects/GSL/compiled
make
I use --disable-shared because the MacOS section of INSTALL recommends it,
but removing it changes nothing.
Many things are compiled (with clang), and eventually I reach this error
message:
Making all in ieee-utils
/bin/sh ../libtool --mode=compile /usr/bin/clang -DHAVE_CONFIG_H -I. -I.
-I.. -I.. -g -c -o print.lo `test -f 'print.c' || echo './'`print.c
/usr/bin/clang -DHAVE_CONFIG_H -I. -I. -I.. -I.. -g -c print.c -o
print.o
echo timestamp > print.lo
/bin/sh ../libtool --mode=compile /usr/bin/clang -DHAVE_CONFIG_H -I. -I.
-I.. -I.. -g -c -o make_rep.lo `test -f 'make_rep.c' || echo
'./'`make_rep.c
/usr/bin/clang -DHAVE_CONFIG_H -I. -I. -I.. -I.. -g -c make_rep.c -o
make_rep.o
echo timestamp > make_rep.lo
/bin/sh ../libtool --mode=compile /usr/bin/clang -DHAVE_CONFIG_H -I. -I.
-I.. -I.. -g -c -o env.lo `test -f 'env.c' || echo './'`env.c
/usr/bin/clang -DHAVE_CONFIG_H -I. -I. -I.. -I.. -g -c env.c -o env.o
echo timestamp > env.lo
/bin/sh ../libtool --mode=compile /usr/bin/clang -DHAVE_CONFIG_H -I. -I.
-I.. -I.. -g -c -o fp.lo `test -f 'fp.c' || echo './'`fp.c
/usr/bin/clang -DHAVE_CONFIG_H -I. -I. -I.. -I.. -g -c fp.c -o fp.o
In file included from fp.c:34:
./fp-darwin.c:20:10: fatal error: 'architecture/ppc/fp_regs.h' file not
found
#include <architecture/ppc/fp_regs.h>
^
1 error generated.
make[2]: *** [fp.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
I have read the INSTALL sections about MacOS and PPC platforms, but they
don't seem to be relevant to this issue. The compilation error occurs
while making the ieee-utils target, in the file fp-darwin.c. It seems
that something expects all MacOS hosts to still be PPC machines? The
./configure step is able to figure it out:
checking build system type... i686-apple-darwin13.1.0
Here is the output of sw_vers and clang -v on my system:
address@hidden:~/Projects/GSL/gsl-1.6$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.9.2
BuildVersion: 13C64
address@hidden:~/Projects/GSL/gsl-1.6$ clang -v
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.1.0
Thread model: posix
Thanks for the help so far. Let me know if I should paste the entire
configure & make logs, or if I can provide other information for figuring
this out.
Jean-François
On Mar 18, 2014, at 18:14 , Patrick Alken <address@hidden>
wrote:
Hi,
Could you be more specific about the errors you are getting? Does
configure fail or does make fail?
There is also a section on MacOS compilation in the INSTALL file
(search
for Hints for MacOS X and PowerPC)
As far as testing, you could edit interpolation/test.c and add a new
routine test_steffen().
You could also simply write a standalone test program and link it again
the GSL library, without needing to compile it into GSL.
On 03/18/2014 05:47 PM, Jean-François Caron wrote:
Hi, several times now I've needed a monotonic interpolation method. I
saw some posts from 2 years ago on this list from someone who
implemented the method from Steffen (1990), but it never got integrated
into GSL and I couldn't contact that person.
I have now also implemented Steffen's interpolation algorithm by
copying the existing akima.c file, but I am quite at a loss as to how
to compile & test the code. I normally use GSL installed from MacPorts
which handles all the compilation. I tried wget'ing the archive for
GSL 1.6 and doing ./configure && make, but then I get errors about the
PPC architecture (this is an x86 mac).
Could someone walk me through the steps for compiling & testing my
steffen.c code? My starting point:
- a fresh download and ./configure of GSL 1.6
- steffen.c placed in $GSL/interpolation
I don't need people to write the test program itself, I just need to
get to something that will compile with "int main(void){return 0;}". I
can probably handle the rest of the testing.
Thanks for any help,
Jean-François Caron
Old posts about this:
http://lists.gnu.org/archive/html/help-gsl/2012-03/msg00009.html