This is the mail archive of the
libffi-discuss@sourceware.org
mailing list for the libffi project.
Re: of unexpected failures 131 with libffi-3.0.12
> On Sun, Feb 24, 2013 at 4:02 AM, Dennis Clarke <dclarke@blastwave.org>
> wrote:
> >
> >
> > Am pretty sure that these are all false positives :
> >
> >
> > === libffi Summary ===
> >
> > # of unexpected failures 131
> > # of unresolved testcases 131
> > # of unsupported tests 11
>
> The even number of pass/fail suggests some kind of linking error.
> What does testsuite/libffi.log say?
* This is long and detailed. Sorry. With luck we can get a perfect
* build and test run and then update http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.12
Well I am stumped a bit here. I looked into the Makefile's found and they
all have the correct CFLAGS.
Should I be looking for LD_MAGIC or some sort of CFLAGS_FOR_LD ?
I figure there must be something missing here as all the tests are being
created, or attempted to be created, as 32-bit objects. That won't work as
the libffi produced in the compile is 64-bit.
For the sake of being very pedantic, precise and full disclosure here is what
I am doing :
[1] go looking in my /usr/local/src dir for a release tarball
$ ls $SRC/libffi*
/usr/local/src/libffi-3.0.10.tar.gz /usr/local/src/libffi-3.0.12.tar.gz
/usr/local/src/libffi-3.0.11.tar.gz /usr/local/src/libffi-3.0.9.tar.gz
[2] maybe look at the sha1 or md5 or whatever seems to work
$ mdigest -a sha1 $SRC/libffi-3.0.12*
463dcb4ae9aea4c52bba12b67fbe4d91ed1e21fd /usr/local/src/libffi-3.0.12.tar.gz
A google search on that brings up lots of good stuff :
http://lists.debian.org/debian-devel-changes/2013/02/msg00494.html
[3] extract that and move it into a dir for OS-rev and arch and sequence
$ gzip -dc $SRC/libffi-3.0.12.tar.gz | tar -xf -
$ mv libffi-3.0.12 libffi-3.0.12_SunOS5.10_sparcv9.002
$ cd libffi-3.0.12_SunOS5.10_sparcv9.002
Yup, this really is only try number 002
[4] because I have been running into problems, give autoreconf a try
$ autoreconf --verbose --force --install
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
autoreconf: running: /usr/local/bin/autoconf --force
autoreconf: running: /usr/local/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
autoreconf: Leaving directory `.'
[5] maybe save the state of the environment for later. I may need it
$ pwd
/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002
$ env | sort > ../libffi-3.0.12_SunOS5.10_sparcv9.002.env
[6] check to see if anything in the environment changed between the last build attempt and this one
$ ls -lo ../libffi-3.0.12_SunOS5.10_sparcv9.*.env
-rw-r--r-- 1 dclarke 2196 Feb 24 08:52 ../libffi-3.0.12_SunOS5.10_sparcv9.001.env
-rw-r--r-- 1 dclarke 2135 Feb 24 23:07 ../libffi-3.0.12_SunOS5.10_sparcv9.002.env
$ diff ../libffi-3.0.12_SunOS5.10_sparcv9.001.env ../libffi-3.0.12_SunOS5.10_sparcv9.002.env
37c37
< PWD=/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.001
---
> PWD=/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002
nothing but my `pwd` .. perfect
Some things that affect the build in the env are :
AR=/usr/ccs/bin/ar
AS=/usr/ccs/bin/as
CC=/opt/solarisstudio12.3/bin/cc
CFLAGS=-errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16
CONFIG_SHELL=/bin/bash
CPPFLAGS=-I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE
CXX=/opt/solarisstudio12.3/bin/CC
CXXFLAGS=-dalign -erroff=%none -errtags=yes -ftrap=%none -g -xcode=pic32 -m64 -mc -xunroll=1 -xbuiltin=%none -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -xdepend=no -xnolibmopt -xlinkopt=0 -xnolibmil -xregs=no%appl -xs
GREP=/usr/xpg4/bin/grep
LANG=C
LC_ALL=C
LC_COLLATE=C
LC_CTYPE=C
LC_MESSAGES=C
LC_MONETARY=C
LC_NUMERIC=C
LC_TIME=C
LD=/usr/ccs/bin/sparcv9/ld
LD_OPTIONS=-R/usr/local/lib/$ISALIST:/usr/local/ssl/lib/$ISALIST:/usr/local/lib:/usr/local/ssl/lib -L/usr/local/lib/$ISALIST:/usr/local/ssl/lib/$ISALIST:/usr/local/lib:/usr/local/ssl/lib
LD_RUN_PATH=/usr/local/lib/$ISALIST:/usr/local/ssl/lib/$ISALIST
LIBTOOL=/usr/local/bin/libtool
M4=/usr/local/bin/gm4
MAKE=/usr/local/bin/gmake
NM=/usr/ccs/bin/sparcv9/nm -p
PAGER=/usr/xpg4/bin/more
PATH=/usr/local/bin:/usr/local/sbin:/usr/local/ssl/bin:/usr/xpg6/bin:/usr/xpg4/bin:/usr/ccs/bin:/opt/solarisstudio12.3/bin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/dt/bin:/usr/openwin/bin:/opt/schily/bin:/usr/local/texlive/2012/bin/sparc-solaris
PERL=/usr/local/bin/perl
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/ssl/lib/pkgconfig
SED=/usr/local/bin/gsed
TERM=vt100
TZ=GMT0
That odd looking thing in LD_OPTIONS or LD_RUN_PATH there "$ISALIST" is
old and obsolete now. It simply allows the run-time linker to locate a lib that
is correct for the current hardware we are running on. Since no one in the
world is left running a 32-bit Sparc system it serves little value to go looking
for sun4m or even 32-bit sparcv8 libs. Regardless, it works well and at some
point I should drop it. However, Oracle still releases a 32-bit set of openssl
libs in /usr/sfw/lib and the only way to tell the linker that the 64-bit ssl libs
are anywhere else, smartly, is with something like $ISALIST.
Better yet, I built openssl 1.0.1e into /usr/loca/ssl a few days ago and so
the $ISALIST really is becoming obsolete. We can safely ignore it.
[6] give configure a whirl :
$ ./configure
checking build system type... sparc-sun-solaris2.10
checking host system type... sparc-sun-solaris2.10
checking target system type... sparc-sun-solaris2.10
continue configure in default builddir "./sparc-sun-solaris2.10"
....exec /bin/bash .././configure "--srcdir=.." "--enable-builddir=sparc-sun-solaris2.10" "solaris2.10"
checking build system type... sparc-sun-solaris2.10
checking host system type... sparc-sun-solaris2.10
checking target system type... sparc-sun-solaris2.10
checking for gsed... /usr/local/bin/gsed
checking for a BSD-compatible install... ../install-sh -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ../install-sh -c -d
checking for gawk... gawk
checking whether /usr/local/bin/gmake sets $(MAKE)... yes
checking whether /usr/local/bin/gmake supports nested variables... yes
checking for gcc... /opt/solarisstudio12.3/bin/cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... no
checking whether /opt/solarisstudio12.3/bin/cc accepts -g... yes
checking for /opt/solarisstudio12.3/bin/cc option to accept ISO C89... none needed
checking for style of include used by /usr/local/bin/gmake... GNU
checking dependency style of /opt/solarisstudio12.3/bin/cc... none
checking dependency style of /opt/solarisstudio12.3/bin/cc... none
checking whether /opt/solarisstudio12.3/bin/cc and cc understand -c and -o together... yes
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/local/bin/gsed
checking for grep that handles long lines and -e... /usr/xpg4/bin/grep
checking for egrep... /usr/xpg4/bin/grep -E
checking for fgrep... /usr/xpg4/bin/grep -F
checking for non-GNU ld... /usr/ccs/bin/sparcv9/ld
checking if the linker (/usr/ccs/bin/sparcv9/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/ccs/bin/sparcv9/nm -p
checking the name lister (/usr/ccs/bin/sparcv9/nm -p) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786240
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert sparc-sun-solaris2.10 file names to sparc-sun-solaris2.10 format... func_convert_file_noop
checking how to convert sparc-sun-solaris2.10 file names to toolchain format... func_convert_file_noop
checking for /usr/ccs/bin/sparcv9/ld option to reload object files... -r
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/ccs/bin/sparcv9/nm -p output from /opt/solarisstudio12.3/bin/cc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... /opt/solarisstudio12.3/bin/cc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking for /opt/solarisstudio12.3/bin/cc option to produce PIC... -KPIC -DPIC
checking if /opt/solarisstudio12.3/bin/cc PIC flag -KPIC -DPIC works... yes
checking if /opt/solarisstudio12.3/bin/cc static flag -Bstatic works... yes
checking if /opt/solarisstudio12.3/bin/cc supports -c -o file.o... yes
checking if /opt/solarisstudio12.3/bin/cc supports -c -o file.o... (cached) yes
checking whether the /opt/solarisstudio12.3/bin/cc linker (/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes
checking dynamic linker characteristics... solaris2.10 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking size of size_t... 8
checking for C compiler vendor... sun
checking whether to enable maintainer-specific portions of Makefiles... no
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking for mmap... yes
checking for sys/mman.h... (cached) yes
checking for mmap... (cached) yes
checking whether read-only mmap of a plain file works... yes
checking whether mmap from /dev/zero works... yes
checking for MAP_ANON(YMOUS)... yes
checking whether mmap with MAP_ANON(YMOUS) works... yes
checking for ANSI C header files... (cached) yes
checking for memcpy... yes
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking size of double... 8
checking size of long double... 16
checking whether byte ordering is bigendian... yes
checking assembler .cfi pseudo-op support... no
checking assembler and linker support unaligned pc related relocs... no
checking assembler .register pseudo-op support... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating include/Makefile
config.status: creating include/ffi.h
config.status: creating Makefile
config.status: creating testsuite/Makefile
config.status: creating man/Makefile
config.status: creating libffi.pc
config.status: creating fficonfig.h
config.status: linking ../src/sparc/ffitarget.h to include/ffitarget.h
config.status: executing buildir commands
config.status: create top_srcdir/Makefile guessed from local Makefile
config.status: build in sparc-sun-solaris2.10 (HOST=)
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing include commands
config.status: executing src commands
$
[7] run gmake
$ which gmake
/usr/local/bin/gmake
$ gmake --version
GNU Make 3.82
Built for sparc-sun-solaris2.10
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$
$ ptime gmake
MAKE sparc-sun-solaris2.10 : 0 * all-all
gmake[1]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
/usr/local/bin/gmake "AR_FLAGS=" "CC_FOR_BUILD=" "CFLAGS=-errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16" "CXXFLAGS=-dalign -erroff=%none -errtags=yes -ftrap=%none -g -xcode=pic32 -m64 -mc -xunroll=1 -xbuiltin=%none -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -xdepend=no -xnolibmopt -xlinkopt=0 -xnolibmil -xregs=no%appl -xs" "CFLAGS_FOR_BUILD=" "CFLAGS_FOR_TARGET=" "INSTALL=../install-sh -c" "INSTALL_DATA=../install-sh -c -m 644" "INSTALL_PROGRAM=../install-sh -c" "INSTALL_SCRIPT=../install-sh -c" "JC1FLAGS=" "LDFLAGS=" "LIBCFLAGS=" "LIBCFLAGS_FOR_TARGET=" "MAKE=/usr/local/bin/gmake" "MAKEINFO=/bin/bash /usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/missing makeinfo " "PICFLAG=" "PICFLAG_FOR_TARGET=" "RUNTESTFLAGS=" "SHELL=/bin/bash" "exec_prefix=/usr/local" "infodir=
/usr/local/share/info" "libdir=/usr/local/lib" "mandir=/usr/local/share/man" "prefix=/usr/local" "AR=/usr/ccs/bin/ar" "AS=/usr/ccs/bin/as" "CC=/opt/solarisstudio12.3/bin/cc" "CXX=/opt/solarisstudio12.3/bin/CC" "LD=/usr/ccs/bin/sparcv9/ld -64" "NM=/usr/ccs/bin/sparcv9/nm -p" "RANLIB=ranlib" "DESTDIR=" all-recursive
gmake[2]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
Making all in include
gmake[3]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/include'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/include'
Making all in testsuite
gmake[3]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite'
Making all in man
gmake[3]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/man'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/man'
gmake[3]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
source='../src/prep_cif.c' object='src/prep_cif.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ./libtool --tag=CC --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/prep_cif.lo ../src/prep_cif.c
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/prep_cif.c -KPIC -DPIC -o src/.libs/prep_cif.o
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/prep_cif.c -o src/prep_cif.o >/dev/null 2>&1
source='../src/types.c' object='src/types.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ./libtool --tag=CC --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/types.lo ../src/types.c
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/types.c -KPIC -DPIC -o src/.libs/types.o
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/types.c -o src/types.o >/dev/null 2>&1
source='../src/raw_api.c' object='src/raw_api.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ./libtool --tag=CC --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/raw_api.lo ../src/raw_api.c
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/raw_api.c -KPIC -DPIC -o src/.libs/raw_api.o
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/raw_api.c -o src/raw_api.o >/dev/null 2>&1
source='../src/java_raw_api.c' object='src/java_raw_api.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ./libtool --tag=CC --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/java_raw_api.lo ../src/java_raw_api.c
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/java_raw_api.c -KPIC -DPIC -o src/.libs/java_raw_api.o
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/java_raw_api.c -o src/java_raw_api.o >/dev/null 2>&1
source='../src/closures.c' object='src/closures.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ./libtool --tag=CC --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/closures.lo ../src/closures.c
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/closures.c -KPIC -DPIC -o src/.libs/closures.o
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/closures.c -o src/closures.o >/dev/null 2>&1
source='../src/sparc/ffi.c' object='src/sparc/ffi.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ./libtool --tag=CC --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/sparc/ffi.lo ../src/sparc/ffi.c
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/sparc/ffi.c -KPIC -DPIC -o src/sparc/.libs/ffi.o
"../src/sparc/ffi.c", line 466: warning: argument #1 is incompatible with prototype:
prototype: pointer to void : "../src/sparc/ffi.c", line 372
argument : pointer to function(pointer to char, pointer to struct {pointer to struct {..} cif, pointer to void rvalue, pointer to pointer to void avalue}) returning int
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/sparc/ffi.c -o src/sparc/ffi.o >/dev/null 2>&1
source='../src/sparc/v8.S' object='src/sparc/v8.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ./libtool --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -I. -I../include -Iinclude -I../src -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/sparc/v8.lo ../src/sparc/v8.S
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -I. -I../include -Iinclude -I../src -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/sparc/v8.S -KPIC -DPIC -o src/sparc/.libs/v8.o
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -I. -I../include -Iinclude -I../src -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/sparc/v8.S -o src/sparc/v8.o >/dev/null 2>&1
source='../src/sparc/v9.S' object='src/sparc/v9.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ./libtool --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -I. -I../include -Iinclude -I../src -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/sparc/v9.lo ../src/sparc/v9.S
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -I. -I../include -Iinclude -I../src -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/sparc/v9.S -KPIC -DPIC -o src/sparc/.libs/v9.o
libtool: compile: /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -I. -I../include -Iinclude -I../src -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/sparc/v9.S -o src/sparc/v9.o >/dev/null 2>&1
/bin/bash ./libtool --tag=CC --mode=link /opt/solarisstudio12.3/bin/cc -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -o libffi_convenience.la src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.lo src/closures.lo src/sparc/ffi.lo src/sparc/v8.lo src/sparc/v9.lo
libtool: link: /usr/ccs/bin/ar cru .libs/libffi_convenience.a src/.libs/prep_cif.o src/.libs/types.o src/.libs/raw_api.o src/.libs/java_raw_api.o src/.libs/closures.o src/sparc/.libs/ffi.o src/sparc/.libs/v8.o src/sparc/.libs/v9.o
libtool: link: ranlib .libs/libffi_convenience.a
libtool: link: ( cd ".libs" && rm -f "libffi_convenience.la" && ln -s "../libffi_convenience.la" "libffi_convenience.la" )
/bin/bash ./libtool --tag=CC --mode=link /opt/solarisstudio12.3/bin/cc -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -no-undefined -version-info `grep -v '^#' ../libtool-version` -o libffi.la -rpath /usr/local/lib src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.lo src/closures.lo src/sparc/ffi.lo src/sparc/v8.lo src/sparc/v9.lo
libtool: link: /opt/solarisstudio12.3/bin/cc -G -z defs -h libffi.so.6 -o .libs/libffi.so.6.0.1 src/.libs/prep_cif.o src/.libs/types.o src/.libs/raw_api.o src/.libs/java_raw_api.o src/.libs/closures.o src/sparc/.libs/ffi.o src/sparc/.libs/v8.o src/sparc/.libs/v9.o -lc -m64 -mc -xtarget=ultraT2
libtool: link: (cd ".libs" && rm -f "libffi.so.6" && ln -s "libffi.so.6.0.1" "libffi.so.6")
libtool: link: (cd ".libs" && rm -f "libffi.so" && ln -s "libffi.so.6.0.1" "libffi.so")
libtool: link: /usr/ccs/bin/ar cru .libs/libffi.a src/prep_cif.o src/types.o src/raw_api.o src/java_raw_api.o src/closures.o src/sparc/ffi.o src/sparc/v8.o src/sparc/v9.o
libtool: link: ranlib .libs/libffi.a
libtool: link: ( cd ".libs" && rm -f "libffi.la" && ln -s "../libffi.la" "libffi.la" )
gmake[3]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
gmake[2]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
gmake[1]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
real 6.447
user 4.284
sys 2.324
$
[8] take a look at what we have in .libs
$ ls -l sparc-sun-solaris2.10/.libs
total 218
-rw-r--r-- 1 dclarke other 79176 Feb 24 23:31 libffi.a
lrwxrwxrwx 1 dclarke other 12 Feb 24 23:31 libffi.la -> ../libffi.la
-rw-r--r-- 1 dclarke other 910 Feb 24 23:31 libffi.lai
lrwxrwxrwx 1 dclarke other 15 Feb 24 23:31 libffi.so -> libffi.so.6.0.1
lrwxrwxrwx 1 dclarke other 15 Feb 24 23:31 libffi.so.6 -> libffi.so.6.0.1
-rwxr-xr-x 1 dclarke other 58032 Feb 24 23:31 libffi.so.6.0.1
-rw-r--r-- 1 dclarke other 79240 Feb 24 23:31 libffi_convenience.a
lrwxrwxrwx 1 dclarke other 24 Feb 24 23:31 libffi_convenience.la -> ../libffi_convenience.la
$ file sparc-sun-solaris2.10/.libs/libffi.so.6.0.1
sparc-sun-solaris2.10/.libs/libffi.so.6.0.1: ELF 64-bit MSB dynamic lib SPARCV9 Version 1, UltraSPARC3 Extensions Required, dynamically linked, not stripped
$
$ elfdump -dev sparc-sun-solaris2.10/.libs/libffi.so.6.0.1
ELF Header
ei_magic: { 0x7f, E, L, F }
ei_class: ELFCLASS64 ei_data: ELFDATA2MSB
ei_osabi: ELFOSABI_SOLARIS ei_abiversion: EAV_SUNW_CURRENT
e_machine: EM_SPARCV9 e_version: EV_CURRENT
e_type: ET_DYN
e_flags: [ EF_SPARCV9_TSO EF_SPARC_SUN_US1 EF_SPARC_SUN_US3 ]
e_entry: 0 e_ehsize: 64 e_shstrndx: 28
e_shoff: 0xdb70 e_shentsize: 64 e_shnum: 29
e_phoff: 0x40 e_phentsize: 56 e_phnum: 4
Version Needed Section: .SUNW_version
index file version
[2] libc.so.1 SUNW_0.7
Dynamic Section: .dynamic
index tag value
[0] NEEDED 0x39e libc.so.1
[1] INIT 0x4940
[2] FINI 0x4950
[3] SONAME 0x3b1 libffi.so.6
[4] RUNPATH 0x3bd /usr/local/lib/$ISALIST:/usr/local/ssl/lib/$ISALIST:/usr/local/lib:/usr/local/ssl/lib
[5] RPATH 0x3bd /usr/local/lib/$ISALIST:/usr/local/ssl/lib/$ISALIST:/usr/local/lib:/usr/local/ssl/lib
[6] HASH 0x3b0
[7] STRTAB 0xba8
[8] STRSZ 0x613
[9] SYMTAB 0x5c0
[10] SYMENT 0x18
[11] CHECKSUM 0x77
[12] VERNEED 0x11c0
[13] VERNEEDNUM 0x1
[14] RELACOUNT 0x6
[15] PLTRELSZ 0x210
[16] PLTREL 0x7
[17] JMPREL 0x1320
[18] RELA 0x1260
[19] RELASZ 0x2d0
[20] RELAENT 0x18
[21] REGISTER 0x21
[22] FLAGS 0 0
[23] FLAGS_1 0 0
[24] SUNW_STRPAD 0x200
[25] SUNW_LDMACH 0x2b EM_SPARCV9
[26] PLTGOT 0x104a00
[27-37] NULL 0
$
Looks good but I see that my long winded RUNPATH/RPATH that points to ssl libs really isn't needed. Certainly the RPATH/RUNPATH pointing to /usr/local/lib is needed to avoid confusion with any system provided libs.
Regardless, this is a good looking result.
The testsuite however ... is not good :
$ gmake check
MAKE sparc-sun-solaris2.10 : 0 * check
gmake[1]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
Making check in include
gmake[2]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/include'
gmake[2]: Nothing to be done for `check'.
gmake[2]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/include'
Making check in testsuite
gmake[2]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite'
/usr/local/bin/gmake check-DEJAGNU
gmake[3]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite'
Making a new site.exp file ...
srcdir='../../testsuite'; export srcdir; \
EXPECT=`if [ -f ../../expect/expect ] ; then echo ../../expect/expect ; else echo expect ; fi`; export EXPECT; \
if /bin/bash -c "`if [ -f ../../../dejagnu/runtest ] ; then echo ../../../dejagnu/runtest ; else echo runtest; fi` --version" > /dev/null 2>&1; then \
exit_status=0; l='libffi'; for tool in $l; do \
if `if [ -f ../../../dejagnu/runtest ] ; then echo ../../../dejagnu/runtest ; else echo runtest; fi` --tool $tool --srcdir $srcdir ; \
then :; else exit_status=1; fi; \
done; \
else echo "WARNING: could not find '`if [ -f ../../../dejagnu/runtest ] ; then echo ../../../dejagnu/runtest ; else echo runtest; fi`'" 1>&2; :;\
fi; \
exit $exit_status
WARNING: Couldn't find the global config file.
Test Run By dclarke on Sun Feb 24 23:35:54 2013
Native configuration is sparc-sun-solaris2.10
=== libffi tests ===
Schedule of variations:
unix
Running target unix
Using /usr/local/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/local/share/dejagnu/config/unix.exp as generic interface file for target.
Using ../../testsuite/config/default.exp as tool-and-target-specific interface file.
Running ../../testsuite/libffi.call/call.exp ...
FAIL: libffi.call/closure_fn0.c (test for excess errors)
FAIL: libffi.call/closure_fn1.c (test for excess errors)
FAIL: libffi.call/closure_fn2.c (test for excess errors)
.
.
.
FAIL: libffi.call/va_struct2.c (test for excess errors)
FAIL: libffi.call/va_struct3.c (test for excess errors)
Running ../../testsuite/libffi.special/special.exp ...
=== libffi Summary ===
# of unexpected failures 131
# of unresolved testcases 131
# of unsupported tests 11
gmake[3]: *** [check-DEJAGNU] Error 1
gmake[3]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite'
gmake[2]: *** [check-am] Error 2
gmake[2]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite'
gmake[1]: *** [check-recursive] Error 1
gmake[1]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
gmake: *** [check] Error 2
$
The log file is pretty clear on the problem :
Test Run By dclarke on Sun Feb 24 23:35:54 2013
Native configuration is sparc-sun-solaris2.10
=== libffi tests ===
Schedule of variations:
unix
Running target unix
Using /usr/local/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/local/share/dejagnu/config/unix.exp as generic interface file for target.
Using ../../testsuite/config/default.exp as tool-and-target-specific interface file.
Running ../../testsuite/libffi.call/call.exp ...
set_ld_library_path_env_vars: ld_library_path=:/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../.libs
Executing on host: /opt/solarisstudio12.3/bin/cc ../../testsuite/libffi.call/closure_fn0.c -I/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../include -I../../testsuite/../include -I/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../include/.. -L/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../.libs -lffi -lm -o ./closure_fn0.exe (timeout = 300)
spawn /opt/solarisstudio12.3/bin/cc ../../testsuite/libffi.call/closure_fn0.c -I/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../include -I../../testsuite/../include -I/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../include/.. -L/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../.libs -lffi -lm -o ./closure_fn0.exe
ld: fatal: file /usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../.libs/libffi.so: wrong ELF class: ELFCLASS64
ld: fatal: file processing errors. No output written to ./closure_fn0.exe
compiler exited with status 1
output is:
ld: fatal: file /usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../.libs/libffi.so: wrong ELF class: ELFCLASS64
ld: fatal: file processing errors. No output written to ./closure_fn0.exe
FAIL: libffi.call/closure_fn0.c (test for excess errors)
Excess errors:
ld: fatal: file /usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../.libs/libffi.so: wrong ELF class: ELFCLASS64
ld: fatal: file processing errors. No output written to ./closure_fn0.exe
UNRESOLVED: libffi.call/closure_fn0.c compilation failed to produce executable
.
.
.
.
So there we have it. A good looking build but a bad looking testsuite.
So the real question is, what needs to be changed where to get the testsuite to do correct compiles which link with the 64-bit lib?
Perhaps we can make up a one line patch that fixes this in the release tarball ?
Dennis