* of unexpected failures 131 with libffi-3.0.12
@ 2013-02-24 9:02 Dennis Clarke
2013-02-24 11:32 ` Anthony Green
0 siblings, 1 reply; 6+ messages in thread
From: Dennis Clarke @ 2013-02-24 9:02 UTC (permalink / raw)
To: libffi-discuss; +Cc: green
Am pretty sure that these are all false positives :
=== libffi Summary ===
# of unexpected failures 131
# of unresolved testcases 131
# of unsupported tests 11
I had just finished doing a build of openssl 1.0.1e , libssh2-1.4.3, libgcrypt-1.4.6 and gnutls-3.1.8 and was about to build guile-2.0.7 but it required libffi. I checked for most recent release and saw libffi-3.0.12 was avail abd dl'd it .. did a basic configure :
$ ./configure --enable-shared --enable-static
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 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
$
compile went smooth however gmake check throws an epic 131 unexpected fails :
=== libffi Summary ===
# of unexpected failures 131
# of unresolved testcases 131
# of unsupported tests 11
That just can't be right.
Any thoughts on what to look for ?
Dennis
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: of unexpected failures 131 with libffi-3.0.12
2013-02-24 9:02 of unexpected failures 131 with libffi-3.0.12 Dennis Clarke
@ 2013-02-24 11:32 ` Anthony Green
2013-02-24 13:35 ` Dennis Clarke
2013-02-24 23:40 ` Dennis Clarke
0 siblings, 2 replies; 6+ messages in thread
From: Anthony Green @ 2013-02-24 11:32 UTC (permalink / raw)
To: Dennis Clarke; +Cc: libffi-discuss
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?
AG
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: of unexpected failures 131 with libffi-3.0.12
2013-02-24 11:32 ` Anthony Green
@ 2013-02-24 13:35 ` Dennis Clarke
2013-02-24 23:40 ` Dennis Clarke
1 sibling, 0 replies; 6+ messages in thread
From: Dennis Clarke @ 2013-02-24 13:35 UTC (permalink / raw)
To: Anthony Green; +Cc: libffi-discuss
----- Original Message -----
From: Anthony Green <green@moxielogic.com>
Date: Sunday, February 24, 2013 6:32 am
Subject: Re: of unexpected failures 131 with libffi-3.0.12
To: Dennis Clarke <dclarke@blastwave.org>
Cc: libffi-discuss@sourceware.org
> 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?
ah ha .. well it seems clear that the Makefile is broken in that the CFLAGS were ignored completely. All the binaries we 32-bit and that is wrong :
$ pwd
/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.001
$ find . -type f -name libffi.log
./sparc-sun-solaris2.10/testsuite/libffi.log
$ ls -l ./sparc-sun-solaris2.10/testsuite/libffi.log
-rwxr-xr-x 1 dclarke other 234331 Feb 24 08:54 ./sparc-sun-solaris2.10/testsuite/libffi.log
$ more ./sparc-sun-solaris2.10/testsuite/libffi.log
Test Run By dclarke on Sun Feb 24 08:54:12 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 tar
get.
Using ../../testsuite/config/default.exp as tool-and-target-specific interface f
ile.
Running ../../testsuite/libffi.call/call.exp ...
set_ld_library_path_env_vars: ld_library_path=:/usr/local/build/libffi-3.0.12_Su
nOS5.10_sparcv9.001/sparc-sun-solaris2.10/testsuite/../.libs
Executing on host: /opt/solarisstudio12.3/bin/cc ../../testsuite/libffi.call/clo
sure_fn0.c -I/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.001/sparc-sun-s
olaris2.10/testsuite/../include -I../../testsuite/../include -I/usr/local/build
/libffi-3.0.12_SunOS5.10_sparcv9.001/sparc-sun-solaris2.10/testsuite/../include/
.. -L/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.001/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.001/sparc-sun-solaris2.10/tests
uite/../include -I../../testsuite/../include -I/usr/local/build/libffi-3.0.12_Su
nOS5.10_sparcv9.001/sparc-sun-solaris2.10/testsuite/../include/.. -L/usr/local/b
uild/libffi-3.0.12_SunOS5.10_sparcv9.001/sparc-sun-solaris2.10/testsuite/../.lib
s -lffi -lm -o ./closure_fn0.exe
ld: fatal: file /usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.001/sparc-sun-s
olaris2.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.001/sparc-sun-s
olaris2.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.001/sparc-sun-s
olaris2.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
Executing on host: /opt/solarisstudio12.3/bin/cc ../../testsuite/libffi.call/clo
sure_fn1.c -I/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.001/sparc-sun-s
olaris2.10/testsuite/../include -I../../testsuite/../include -I/usr/local/build
/libffi-3.0.12_SunOS5.10_sparcv9.001/sparc-sun-solaris2.10/testsuite/../include/
.. -L/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.001/sparc-sun-solaris2.10/
testsuite/../.libs -lffi -lm -o ./closure_fn1.exe (timeout = 300)
spawn /opt/solarisstudio12.3/bin/cc ../../testsuite/libffi.call/closure_fn1.c -I
/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.001/sparc-sun-solaris2.10/tests
uite/../include -I../../testsuite/../include -I/usr/local/build/libffi-3.0.12_Su
nOS5.10_sparcv9.001/sparc-sun-solaris2.10/testsuite/../include/.. -L/usr/local/b
uild/libffi-3.0.12_SunOS5.10_sparcv9.001/sparc-sun-solaris2.10/testsuite/../.lib
s -lffi -lm -o ./closure_fn1.exe
ld: fatal: file /usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.001/sparc-sun-s
olaris2.10/testsuite/../.libs/libffi.so: wrong ELF class: ELFCLASS64
ld: fatal: file processing errors. No output written to ./closure_fn1.exe
compiler exited with status 1
output is:
ld: fatal: file /usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.001/sparc-sun-s
olaris2.10/testsuite/../.libs/libffi.so: wrong ELF class: ELFCLASS64
ld: fatal: file processing errors. No output written to ./closure_fn1.exe
FAIL: libffi.call/closure_fn1.c (test for excess errors)
Excess errors:
ld: fatal: file /usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.001/sparc-sun-s
olaris2.10/testsuite/../.libs/libffi.so: wrong ELF class: ELFCLASS64
ld: fatal: file processing errors. No output written to ./closure_fn1.exe
UNRESOLVED: libffi.call/closure_fn1.c compilation failed to produce executable
Executing on host: /opt/solarisstudio12.3/bin/cc ../../testsuite/libffi.call/clo
etc
etc
etc
So I need to locate the Makefile at fault here and ensure CFLAGS is the same as
everything else.
dc
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: of unexpected failures 131 with libffi-3.0.12
2013-02-24 11:32 ` Anthony Green
2013-02-24 13:35 ` Dennis Clarke
@ 2013-02-24 23:40 ` Dennis Clarke
2013-02-25 0:18 ` Anthony Green
1 sibling, 1 reply; 6+ messages in thread
From: Dennis Clarke @ 2013-02-24 23:40 UTC (permalink / raw)
To: Anthony Green; +Cc: libffi-discuss
> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: of unexpected failures 131 with libffi-3.0.12
2013-02-24 23:40 ` Dennis Clarke
@ 2013-02-25 0:18 ` Anthony Green
2013-02-25 1:36 ` Dennis Clarke
0 siblings, 1 reply; 6+ messages in thread
From: Anthony Green @ 2013-02-25 0:18 UTC (permalink / raw)
To: Dennis Clarke; +Cc: libffi-discuss
You need to run the testsuite like this...
$ make check RUNTESTFLAGS="CFLAGS_FOR_TARGET='blah blah blah'"
AG
On Sun, Feb 24, 2013 at 6:40 PM, Dennis Clarke <dclarke@blastwave.org> wrote:
>
>> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: of unexpected failures 131 with libffi-3.0.12
2013-02-25 0:18 ` Anthony Green
@ 2013-02-25 1:36 ` Dennis Clarke
0 siblings, 0 replies; 6+ messages in thread
From: Dennis Clarke @ 2013-02-25 1:36 UTC (permalink / raw)
To: Anthony Green; +Cc: libffi-discuss
> You need to run the testsuite like this...
>
> $ make check RUNTESTFLAGS="CFLAGS_FOR_TARGET='blah blah blah'"
awesome .. thank you .. should be a note in a README somewhere on that perhaps?
Much better results with a few odd looking results :
$ gmake check RUNTESTFLAGS="CFLAGS_FOR_TARGET='-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'"
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'
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 CFLAGS_FOR_TARGET='-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'; \
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 Mon Feb 25 01:30:29 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/cls_struct_va1.c output pattern test, is 4 5 6 10 11 12 13 14 20 21
res: 1054032
? should match 4 5 6 10 11 12 13 14 20 21
res: 42
FAIL: libffi.call/cls_uint_va.c output pattern test, is 67: 67 4
res: 1053264
? should match 67: 67 4
res: 67
FAIL: libffi.call/va_1.c output pattern test, is 5 6 10 11 12 13 14 7 8 uc=9 sc=10 11 12 13 14 15 16 2.120000 3.130000
res: 0
, should match 5 6 10 11 12 13 14 7 8 uc=9 sc=10 11 12 13 14 15 16 2.120000 3.13?000
res: 42
FAIL: libffi.call/va_struct1.c output pattern test, is 5 6 10 11 12 13 14 7 8
res: 0
? should match 5 6 10 11 12 13 14 7 8
res: 42
Running ../../testsuite/libffi.special/special.exp ...
=== libffi Summary ===
# of expected passes 355
# of unexpected failures 4
# 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
$
Not sure why some of those patterns don't match.
case[1] : cls_struct_va1.c
FAIL: libffi.call/cls_struct_va1.c output pattern test, is 4 5 6 10 11 12 13 14 20 21
res: 1054032
? should match 4 5 6 10 11 12 13 14 20 21
res: 42
Well "4 5 6 10 11 12 13 14 20 21" looks correct to me. Not sure what that "res" is.
Any thoughts ?
dc
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-02-25 1:36 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-24 9:02 of unexpected failures 131 with libffi-3.0.12 Dennis Clarke
2013-02-24 11:32 ` Anthony Green
2013-02-24 13:35 ` Dennis Clarke
2013-02-24 23:40 ` Dennis Clarke
2013-02-25 0:18 ` Anthony Green
2013-02-25 1:36 ` Dennis Clarke
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).