GNU bug report logs - #10988
stable-2.0 failed to build on a Mac

Previous Next

Package: guile;

Reported by: Eric Hanchrow <eric.hanchrow <at> gmail.com>

Date: Sat, 10 Mar 2012 21:52:02 UTC

Severity: normal

Done: Andy Wingo <wingo <at> pobox.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 10988 in the body.
You can then email your comments to 10988 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#10988; Package guile. (Sat, 10 Mar 2012 21:52:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Eric Hanchrow <eric.hanchrow <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Sat, 10 Mar 2012 21:52:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Eric Hanchrow <eric.hanchrow <at> gmail.com>
To: bug-guile <at> gnu.org
Subject: stable-2.0 failed to build on a Mac
Date: Sat, 10 Mar 2012 13:21:21 -0800
This is a MacBook Air running OS X 10.7.3.

I have macports (http://www.macports.org) installed.

Here's what I did:

    $ sudo port install libunistring pkgconfig boehmgc gmp
    $ git clone git://git.sv.gnu.org/guile.git
    $ cd guile/
    $ git checkout stable-2.0
    $ ./configure -C --with-libgmp-prefix=/opt/local
--with-libunistring-prefix=/opt/local
    $ make

After about 450 lines of output, it fails with
  GEN    guile-procedures.texi
guile: uncaught throw to unbound-variable: (#f Unbound variable: ~S (mod) #f)

I'd be happy to provide more details on request.  Thanks!




Information forwarded to bug-guile <at> gnu.org:
bug#10988; Package guile. (Mon, 09 Apr 2012 21:25:02 GMT) Full text and rfc822 format available.

Message #8 received at 10988 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Eric Hanchrow <eric.hanchrow <at> gmail.com>
Cc: 10988 <at> debbugs.gnu.org
Subject: Re: bug#10988: stable-2.0 failed to build on a Mac
Date: Mon, 09 Apr 2012 23:23:56 +0200
Hi,

Sorry for the delay.

Eric Hanchrow <eric.hanchrow <at> gmail.com> skribis:

> This is a MacBook Air running OS X 10.7.3.
>
> I have macports (http://www.macports.org) installed.
>
> Here's what I did:
>
>     $ sudo port install libunistring pkgconfig boehmgc gmp
>     $ git clone git://git.sv.gnu.org/guile.git
>     $ cd guile/
>     $ git checkout stable-2.0
>     $ ./configure -C --with-libgmp-prefix=/opt/local
> --with-libunistring-prefix=/opt/local

How did you generate ‘configure’ & co.?

Was your tree genuinely pristine?

Thanks,
Ludo’.




Information forwarded to bug-guile <at> gnu.org:
bug#10988; Package guile. (Tue, 10 Apr 2012 17:18:02 GMT) Full text and rfc822 format available.

Message #11 received at 10988 <at> debbugs.gnu.org (full text, mbox):

From: Jon Snader <jsnader <at> mac.com>
To: 10988 <at> debbugs.gnu.org
Subject: bug#10988
Date: Tue, 10 Apr 2012 12:40:07 -0400
[Message part 1 (text/plain, inline)]
I have the same problem building directly from the 2.0.5 tar file (from the project page) on OS X 10.7.3

...
  SNARF  posix.doc
  SNARF  net_db.doc
  SNARF  socket.doc
  SNARF  regex-posix.doc
  GEN    guile-procedures.texi
guile: uncaught throw to unbound-variable: (#f Unbound variable: ~S (id-15978) #
f)                                                                             
Cannot exit gracefully when init is in progress; aborting.

I get similar results with 2.0.2.

Let me know if you need the full output.
[Message part 2 (text/html, inline)]

Information forwarded to bug-guile <at> gnu.org:
bug#10988; Package guile. (Wed, 11 Apr 2012 16:32:02 GMT) Full text and rfc822 format available.

Message #14 received at 10988 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Eric Hanchrow <eric.hanchrow <at> gmail.com>
Cc: 10988 <at> debbugs.gnu.org
Subject: Re: bug#10988: stable-2.0 failed to build on a Mac
Date: Wed, 11 Apr 2012 18:30:08 +0200
Hi Eric,

(Cc: bug.)

Eric Hanchrow <eric.hanchrow <at> gmail.com> skribis:

> nice make V=1
> make  all-recursive
> Making all in lib
> make  all-recursive
> make[4]: Nothing to be done for `all-am'.
> Making all in meta
> make[2]: Nothing to be done for `all'.
> Making all in libguile
> make  all-am
> /bin/sh ../libtool  --tag=CC   --mode=link gcc -I/opt/local/include
> -D_THREAD_SAFE  -Wall -Wmissing-prototypes
> -Wdeclaration-after-statement -Wswitch-enum -fno-strict-aliasing
> -fvisibility=hidden -I/opt/local/include   -g -O2 -L/opt/local/lib
> -lgc   -L/opt/local/lib -lffi                 -liconv
> -L/opt/local/lib -lunistring -L/opt/local/lib -liconv -R/opt/local/lib
>   -version-info 26:0:4 -export-dynamic -no-undefined    -o
> libguile-2.0.la -rpath /usr/local/lib libguile_2.0_la-alist.lo
> libguile_2.0_la-arbiters.lo libguile_2.0_la-array-handle.lo
> libguile_2.0_la-array-map.lo libguile_2.0_la-arrays.lo
> libguile_2.0_la-async.lo libguile_2.0_la-backtrace.lo
> libguile_2.0_la-boolean.lo libguile_2.0_la-bitvectors.lo
> libguile_2.0_la-bytevectors.lo libguile_2.0_la-chars.lo
> libguile_2.0_la-control.lo libguile_2.0_la-continuations.lo
> libguile_2.0_la-debug.lo libguile_2.0_la-deprecated.lo
> libguile_2.0_la-deprecation.lo libguile_2.0_la-dynwind.lo
> libguile_2.0_la-eq.lo libguile_2.0_la-error.lo libguile_2.0_la-eval.lo
> libguile_2.0_la-evalext.lo libguile_2.0_la-expand.lo
> libguile_2.0_la-extensions.lo libguile_2.0_la-feature.lo
> libguile_2.0_la-filesys.lo libguile_2.0_la-finalizers.lo
> libguile_2.0_la-fluids.lo libguile_2.0_la-foreign.lo
> libguile_2.0_la-fports.lo libguile_2.0_la-frames.lo
> libguile_2.0_la-gc-malloc.lo libguile_2.0_la-gc.lo
> libguile_2.0_la-gdbint.lo libguile_2.0_la-gettext.lo
> libguile_2.0_la-generalized-arrays.lo
> libguile_2.0_la-generalized-vectors.lo libguile_2.0_la-goops.lo
> libguile_2.0_la-gsubr.lo libguile_2.0_la-guardians.lo
> libguile_2.0_la-hash.lo libguile_2.0_la-hashtab.lo
> libguile_2.0_la-hooks.lo libguile_2.0_la-i18n.lo
> libguile_2.0_la-init.lo libguile_2.0_la-inline.lo
> libguile_2.0_la-instructions.lo libguile_2.0_la-ioext.lo
> libguile_2.0_la-keywords.lo libguile_2.0_la-list.lo
> libguile_2.0_la-load.lo libguile_2.0_la-macros.lo
> libguile_2.0_la-mallocs.lo libguile_2.0_la-memoize.lo
> libguile_2.0_la-modules.lo libguile_2.0_la-null-threads.lo
> libguile_2.0_la-numbers.lo libguile_2.0_la-objcodes.lo
> libguile_2.0_la-objprop.lo libguile_2.0_la-options.lo
> libguile_2.0_la-pairs.lo libguile_2.0_la-poll.lo
> libguile_2.0_la-ports.lo libguile_2.0_la-print.lo
> libguile_2.0_la-procprop.lo libguile_2.0_la-procs.lo
> libguile_2.0_la-programs.lo libguile_2.0_la-promises.lo
> libguile_2.0_la-r6rs-ports.lo libguile_2.0_la-random.lo
> libguile_2.0_la-rdelim.lo libguile_2.0_la-read.lo
> libguile_2.0_la-root.lo libguile_2.0_la-rw.lo
> libguile_2.0_la-scmsigs.lo libguile_2.0_la-script.lo
> libguile_2.0_la-simpos.lo libguile_2.0_la-smob.lo
> libguile_2.0_la-sort.lo libguile_2.0_la-srcprop.lo
> libguile_2.0_la-srfi-1.lo libguile_2.0_la-srfi-4.lo
> libguile_2.0_la-srfi-13.lo libguile_2.0_la-srfi-14.lo
> libguile_2.0_la-srfi-60.lo libguile_2.0_la-stackchk.lo
> libguile_2.0_la-stacks.lo libguile_2.0_la-stime.lo
> libguile_2.0_la-strings.lo libguile_2.0_la-strorder.lo
> libguile_2.0_la-strports.lo libguile_2.0_la-struct.lo
> libguile_2.0_la-symbols.lo libguile_2.0_la-threads.lo
> libguile_2.0_la-throw.lo libguile_2.0_la-trees.lo
> libguile_2.0_la-uniform.lo libguile_2.0_la-values.lo
> libguile_2.0_la-variable.lo libguile_2.0_la-vectors.lo
> libguile_2.0_la-version.lo libguile_2.0_la-vm.lo
> libguile_2.0_la-vports.lo libguile_2.0_la-weaks.lo dynl.lo posix.lo
> net_db.lo socket.lo regex-posix.lo ../lib/libgnu.la -L/opt/local/lib
> -lgmp -R/opt/local/lib -lltdl -lm
> libtool: link: gcc -dynamiclib  -o .libs/libguile-2.0.22.dylib
> .libs/libguile_2.0_la-alist.o .libs/libguile_2.0_la-arbiters.o
> .libs/libguile_2.0_la-array-handle.o .libs/libguile_2.0_la-array-map.o
> .libs/libguile_2.0_la-arrays.o .libs/libguile_2.0_la-async.o
> .libs/libguile_2.0_la-backtrace.o .libs/libguile_2.0_la-boolean.o
> .libs/libguile_2.0_la-bitvectors.o .libs/libguile_2.0_la-bytevectors.o
> .libs/libguile_2.0_la-chars.o .libs/libguile_2.0_la-control.o
> .libs/libguile_2.0_la-continuations.o .libs/libguile_2.0_la-debug.o
> .libs/libguile_2.0_la-deprecated.o .libs/libguile_2.0_la-deprecation.o
> .libs/libguile_2.0_la-dynwind.o .libs/libguile_2.0_la-eq.o
> .libs/libguile_2.0_la-error.o .libs/libguile_2.0_la-eval.o
> .libs/libguile_2.0_la-evalext.o .libs/libguile_2.0_la-expand.o
> .libs/libguile_2.0_la-extensions.o .libs/libguile_2.0_la-feature.o
> .libs/libguile_2.0_la-filesys.o .libs/libguile_2.0_la-finalizers.o
> .libs/libguile_2.0_la-fluids.o .libs/libguile_2.0_la-foreign.o
> .libs/libguile_2.0_la-fports.o .libs/libguile_2.0_la-frames.o
> .libs/libguile_2.0_la-gc-malloc.o .libs/libguile_2.0_la-gc.o
> .libs/libguile_2.0_la-gdbint.o .libs/libguile_2.0_la-gettext.o
> .libs/libguile_2.0_la-generalized-arrays.o
> .libs/libguile_2.0_la-generalized-vectors.o
> .libs/libguile_2.0_la-goops.o .libs/libguile_2.0_la-gsubr.o
> .libs/libguile_2.0_la-guardians.o .libs/libguile_2.0_la-hash.o
> .libs/libguile_2.0_la-hashtab.o .libs/libguile_2.0_la-hooks.o
> .libs/libguile_2.0_la-i18n.o .libs/libguile_2.0_la-init.o
> .libs/libguile_2.0_la-inline.o .libs/libguile_2.0_la-instructions.o
> .libs/libguile_2.0_la-ioext.o .libs/libguile_2.0_la-keywords.o
> .libs/libguile_2.0_la-list.o .libs/libguile_2.0_la-load.o
> .libs/libguile_2.0_la-macros.o .libs/libguile_2.0_la-mallocs.o
> .libs/libguile_2.0_la-memoize.o .libs/libguile_2.0_la-modules.o
> .libs/libguile_2.0_la-null-threads.o .libs/libguile_2.0_la-numbers.o
> .libs/libguile_2.0_la-objcodes.o .libs/libguile_2.0_la-objprop.o
> .libs/libguile_2.0_la-options.o .libs/libguile_2.0_la-pairs.o
> .libs/libguile_2.0_la-poll.o .libs/libguile_2.0_la-ports.o
> .libs/libguile_2.0_la-print.o .libs/libguile_2.0_la-procprop.o
> .libs/libguile_2.0_la-procs.o .libs/libguile_2.0_la-programs.o
> .libs/libguile_2.0_la-promises.o .libs/libguile_2.0_la-r6rs-ports.o
> .libs/libguile_2.0_la-random.o .libs/libguile_2.0_la-rdelim.o
> .libs/libguile_2.0_la-read.o .libs/libguile_2.0_la-root.o
> .libs/libguile_2.0_la-rw.o .libs/libguile_2.0_la-scmsigs.o
> .libs/libguile_2.0_la-script.o .libs/libguile_2.0_la-simpos.o
> .libs/libguile_2.0_la-smob.o .libs/libguile_2.0_la-sort.o
> .libs/libguile_2.0_la-srcprop.o .libs/libguile_2.0_la-srfi-1.o
> .libs/libguile_2.0_la-srfi-4.o .libs/libguile_2.0_la-srfi-13.o
> .libs/libguile_2.0_la-srfi-14.o .libs/libguile_2.0_la-srfi-60.o
> .libs/libguile_2.0_la-stackchk.o .libs/libguile_2.0_la-stacks.o
> .libs/libguile_2.0_la-stime.o .libs/libguile_2.0_la-strings.o
> .libs/libguile_2.0_la-strorder.o .libs/libguile_2.0_la-strports.o
> .libs/libguile_2.0_la-struct.o .libs/libguile_2.0_la-symbols.o
> .libs/libguile_2.0_la-threads.o .libs/libguile_2.0_la-throw.o
> .libs/libguile_2.0_la-trees.o .libs/libguile_2.0_la-uniform.o
> .libs/libguile_2.0_la-values.o .libs/libguile_2.0_la-variable.o
> .libs/libguile_2.0_la-vectors.o .libs/libguile_2.0_la-version.o
> .libs/libguile_2.0_la-vm.o .libs/libguile_2.0_la-vports.o
> .libs/libguile_2.0_la-weaks.o .libs/dynl.o .libs/posix.o
> .libs/net_db.o .libs/socket.o .libs/regex-posix.o
> -Wl,-force_load,../lib/.libs/libgnu.a  -L/opt/local/lib
> /opt/local/lib/libgc.dylib -lpthread /opt/local/lib/libffi.dylib
> /opt/local/lib/libunistring.dylib /opt/local/lib/libiconv.dylib
> /opt/local/lib/libgmp.dylib /opt/local/lib/libltdl.dylib -lm  -O2
> -install_name  /usr/local/lib/libguile-2.0.22.dylib
> -compatibility_version 27 -current_version 27.0 -Wl,-single_module
> Undefined symbols for architecture x86_64:
>   "_iconv", referenced from:
>       _rpl_iconv in libgnu.a(iconv.o)
>      (maybe you meant: _mem_iconveh, _iconveh_close , _rpl_iconv_open
> , _mem_cd_iconveh , _str_iconveh , _rpl_iconv , _iconveh_open ,
> _rpl_iconv_close , _str_cd_iconveh )
>   "_iconv_close", referenced from:
>       _rpl_iconv_close in libgnu.a(iconv_close.o)
>      (maybe you meant: _rpl_iconv_close)
>   "_iconv_open", referenced from:
>       _rpl_iconv_open in libgnu.a(iconv_open.o)
>      (maybe you meant: _rpl_iconv_open)
> ld: symbol(s) not found for architecture x86_64
> collect2: ld returned 1 exit status
> make[3]: *** [libguile-2.0.la] Error 1
> make[2]: *** [all] Error 2
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
>
> Compilation exited abnormally with code 2 at Tue Apr 10 07:46:28
>
> And here's my idea of proof that I have the necessary files:
>
> port contents libiconv | egrep '^ ' | xargs ls -ld
> -rwxr-xr-x  1 root  admin    29380 Sep 26  2011 /opt/local/bin/iconv
> -rw-r--r--  1 root  admin     9343 Sep 26  2011 /opt/local/include/iconv.h
> -rw-r--r--  1 root  admin     1585 Sep 26  2011 /opt/local/include/libcharset.h
> -rw-r--r--  1 root  admin     1395 Sep 26  2011
> /opt/local/include/localcharset.h
> -rw-r--r--  1 root  admin     9056 Sep 26  2011
> /opt/local/lib/libcharset.1.dylib
> -rw-r--r--  1 root  admin     3672 Sep 26  2011 /opt/local/lib/libcharset.a
> lrwxr-xr-x  1 root  admin       18 Sep 26  2011
> /opt/local/lib/libcharset.dylib -> libcharset.1.dylib
> -rw-r--r--  1 root  admin      926 Sep 26  2011 /opt/local/lib/libcharset.la
> -rw-r--r--  1 root  admin  1072264 Sep 26  2011 /opt/local/lib/libiconv.2.dylib
> -rw-r--r--  1 root  admin  1098856 Sep 26  2011 /opt/local/lib/libiconv.a
> lrwxr-xr-x  1 root  admin       16 Sep 26  2011
> /opt/local/lib/libiconv.dylib -> libiconv.2.dylib
> -rw-r--r--  1 root  admin      914 Sep 26  2011 /opt/local/lib/libiconv.la
> -rw-r--r--  1 root  admin     6486 Sep 26  2011
> /opt/local/share/doc/libiconv/iconv.1.html
> -rw-r--r--  1 root  admin     6383 Sep 26  2011
> /opt/local/share/doc/libiconv/iconv.3.html
> -rw-r--r--  1 root  admin     2102 Sep 26  2011
> /opt/local/share/doc/libiconv/iconv_close.3.html
> -rw-r--r--  1 root  admin     8509 Sep 26  2011
> /opt/local/share/doc/libiconv/iconv_open.3.html
> -rw-r--r--  1 root  admin     4294 Sep 26  2011
> /opt/local/share/doc/libiconv/iconv_open_into.3.html
> -rw-r--r--  1 root  admin     6810 Sep 26  2011
> /opt/local/share/doc/libiconv/iconvctl.3.html
> -r--r--r--  1 root  admin     1581 Sep 26  2011
> /opt/local/share/man/man1/iconv.1.gz
> -r--r--r--  1 root  admin     1549 Sep 26  2011
> /opt/local/share/man/man3/iconv.3.gz
> -r--r--r--  1 root  admin      665 Sep 26  2011
> /opt/local/share/man/man3/iconv_close.3.gz
> -r--r--r--  1 root  admin     2212 Sep 26  2011
> /opt/local/share/man/man3/iconv_open.3.gz
> -r--r--r--  1 root  admin      956 Sep 26  2011
> /opt/local/share/man/man3/iconv_open_into.3.gz
> -r--r--r--  1 root  admin     1105 Sep 26  2011
> /opt/local/share/man/man3/iconvctl.3.gz

Sorry, we’re not seeing this on our builder at
<http://hydra.nixos.org/jobset/gnu/guile-2-0>, which runs
MacOS X 10.2.0.

What OS version do you use?

I must admit I’m pretty clueless.  :-/

Thanks,
Ludo’.




Information forwarded to bug-guile <at> gnu.org:
bug#10988; Package guile. (Wed, 11 Apr 2012 16:40:02 GMT) Full text and rfc822 format available.

Message #17 received at 10988 <at> debbugs.gnu.org (full text, mbox):

From: Eric Hanchrow <eric.hanchrow <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 10988 <at> debbugs.gnu.org
Subject: Re: bug#10988: stable-2.0 failed to build on a Mac
Date: Wed, 11 Apr 2012 09:37:59 -0700
> Sorry, we’re not seeing this on our builder at
> <http://hydra.nixos.org/jobset/gnu/guile-2-0>, which runs
> MacOS X 10.2.0.
>
> What OS version do you use?
>
> I must admit I’m pretty clueless.  :-/
>
> Thanks,
> Ludo’.

I'm using OS X 10.7.3.




Information forwarded to bug-guile <at> gnu.org:
bug#10988; Package guile. (Fri, 13 Apr 2012 10:37:01 GMT) Full text and rfc822 format available.

Message #20 received at 10988 <at> debbugs.gnu.org (full text, mbox):

From: Jon Snader <jsnader <at> mac.com>
To: 10988 <at> debbugs.gnu.org
Subject: bug#10988
Date: Fri, 13 Apr 2012 06:34:54 -0400
[Message part 1 (text/plain, inline)]
Ludo wrote:
Sorry, we’re not seeing this on our builder at
<http://hydra.nixos.org/jobset/gnu/guile-2-0>, which runs
MacOS X 10.2.0.

I believe this problem was introduced with OS X 10.3 (Lion). I was able to compile without any problems until then. Somewhere along the line an OS update removed libltdl breaking guile. When I downloaded a new copy of the library and tried to recompile, I found that the compile was broken.

My compile sequence was:
./configure
make

[Message part 2 (text/html, inline)]

Information forwarded to bug-guile <at> gnu.org:
bug#10988; Package guile. (Sun, 15 Apr 2012 14:51:02 GMT) Full text and rfc822 format available.

Message #23 received at 10988 <at> debbugs.gnu.org (full text, mbox):

From: Jon Snader <jsnader <at> mac.com>
To: 10988 <at> debbugs.gnu.org
Subject: bug#10988
Date: Sun, 15 Apr 2012 10:48:39 -0400
[Message part 1 (text/plain, inline)]
On 2012-04-13 I wrote:
I believe this problem was introduced with OS X 10.3 (Lion).
That should be OS X 10.7, of course. Sorry for the typo.
[Message part 2 (text/html, inline)]

Information forwarded to bug-guile <at> gnu.org:
bug#10988; Package guile. (Fri, 06 Jul 2012 12:17:01 GMT) Full text and rfc822 format available.

Message #26 received at 10988 <at> debbugs.gnu.org (full text, mbox):

From: Andy Wingo <wingo <at> pobox.com>
To: Jon Snader <jsnader <at> mac.com>
Cc: 10988 <at> debbugs.gnu.org
Subject: Re: bug#10988:
Date: Fri, 06 Jul 2012 11:33:50 +0200
Hi,

On Tue 10 Apr 2012 18:40, Jon Snader <jsnader <at> mac.com> writes:

>       SNARF  socket.doc
>     
>       SNARF  regex-posix.doc
>     
>       GEN    guile-procedures.texi
>     
>     guile: uncaught throw to unbound-variable: (#f Unbound variable: ~S
>     (id-15978) #

I can only think this is a libgc bug.  Have you tried with version 7.2b
of libgc?

In the meantime I am going to close this bug.  I think we have a few
people who build on Mac, and in any case with our upcoming release, we
will probably get a number of new reports.  Sorry for the delay in
replying to this one!

Andy
-- 
http://wingolog.org/




bug closed, send any further explanations to 10988 <at> debbugs.gnu.org and Eric Hanchrow <eric.hanchrow <at> gmail.com> Request was from Andy Wingo <wingo <at> pobox.com> to control <at> debbugs.gnu.org. (Fri, 06 Jul 2012 12:17:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 04 Aug 2012 11:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 12 years and 319 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.