On 18 Nov 1998, Niels M�ller wrote:

> I just managed to log in my test user using lsh.
> 
>   [nisse@puck lsh]$ ./lsh -l lsh -p 4711 puck
>   Password for lsh:
>   User authentication successful.
>   uid=500(nisse) gid=500(nisse) groups=500(nisse),300(local)
>   [nisse@puck lsh]$
> 
> A new snapshot is available at
> http://www.lysator.liu.se/~nisse/archive/lsh-snapshot-19981118.tar.gz
> 
> Naturally, this version is not fully working; I tried to log in using
> my real id (which has a real shell, not /bin/id as login shell), but
> that didn't quite work. And there's still no security; key management
> and secure random numbers are non-existant. Nevertheless, I think it's
> approaching a state where you could actually play a little with it and
> try to hack on it.
> 
> To build it, you'll need autoconf, GNU-make, bash, gcc and gperf. If
> you're lucky

And gmp...

> 
>   autoconf; ./configure; make

A lot of .d files seem to be missing from the snapshot (lsh-19981118),
also there is no config.h.in there.

I deleted all .d files and remade them like this

make `for a in *.c; do echo ${a%.c}.d; done`
(also did the same in the lib dir)

Then I got this compilation failure:
atoms_gperf.c:58: conflicting types for `gperf_atom'
atoms.c:36: previous declaration of `gperf_atom'

This looks like auto-generated code from gperf. I manually patched it to
return a  struct atom_assoc * instead..

I faked a config.h.in that looks like this:

#define SIZEOF_SHORT 1
#define SIZEOF_INT 1
#define SIZEOF_LONG 1

#undef HAVE_FCNTL_H
#undef HAVE_STRINGS_H
#undef HAVE_SYS_TIME_H
#undef HAVE_UNISTD_H
#undef HAVE_GMP_H

#undef HAVE_ALLOCA
#undef HAVE_VPRINTF
#undef HAVE_SELECT
#undef HAVE_SOCKET
#undef HAVE_STRERROR
#undef HAVE_STRTOL


After this it compiled, but both lsh and lshd died with assertion failures
in in make_linear_alist (possibly because i hadn't installed any config
files?):

lsh: alist.c:103: make_linear_alist: Assertion `(args = (__gnuc_va_list)
((char *) (args) + (((sizeof ( int) + sizeof (int) - 1) / sizeof (int)) *
sizeof (int))), *(( int *) (void *) ((char *) (args) - (((sizeof ( int) +
sizeof (int) - 1) / sizeof (int)) * sizeof (int))))) == -1' failed.
Aborted


- Finn Arne

Reply via email to