Building 3.0.15 (master branch)
Simon Josefsson
simon at josefsson.org
Mon Mar 19 11:55:26 CET 2012
lfinsto at gwdg.de writes:
> Hello,
>
> I've just updated my PC to SuseLinux 12.1 and thought I would try building
> and installing GNUTLS from the master branch of the git repository.
> (For what it's worth, the GNUTLS installed using yast2 is version 3.0.3,
> so pretty recent.)
>
> I succeeded for the most part, but there were a couple of problems and I
> thought a report might be useful:
Thank you!
> I got errors with aclocal && autoconf the first time through, but
>
> autoreconf -fvim
>
> worked (after touching ChangeLog, as below). I forgot to test this after
> recloning the repository and just ran autoreconf -fvim immediately.
>
> Makefile.am: required file `./ChangeLog' not found
> autoreconf: automake failed with exit status: 1
>
> touch ChangeLog
>
> autoreconf -fvim
>
> configure --prefix=/home/lfinsto/gnutls_dev/master_install
>
> make
>
> File cs.po does not exist. If you are a translator, you can create it
> through 'msginit'.
>
> configure --prefix=/home/lfinsto/gnutls_dev/master_install --disable-nls
>
> The first time through, I solved this problem by running `msginit -i
> *.po.in -o *.po' for the various files, but for a couple it didn't work
> and I used cs.po.in for the input, e.g., -i cs.po.in -o xx.po
> (I'm not sure which ones didn't work anymore). I was just guessing that
> it would work and don't understand this.
That is not the way to bootstrap GnuTLS. See here for how to do it:
https://www.gnu.org/software/gnutls/devel.html
the commands to bootstrap are run in cfg.mk via GNUmakefile, see the
autoreconf rule in cfg.mk.
> make
>
> certtool-args.c:51:13: error: conflicting types for 'optionAlias'
> ../src/libopts/autoopts/options.h:1031:12: note: previous declaration
> of 'optionAlias' was here
>
> make[3]: *** [libcmd_certtool_la-certtool-args.lo] Error 1
> make[3]: Leaving directory `/home/lfinsto/gnutls_dev/gnutls_master/src'
>
> certtool-args.c:51:
>
> * DO NOT EDIT THIS FILE (certtool-args.c)
> *
> * It has been AutoGen-ed March 14, 2012 at 06:30:08 PM by AutoGen
> 5.11.8
> * From the definitions certtool-args.def
> * and the template file options
>
>
> libopts/autoopts/options.h
>
> * DO NOT EDIT THIS FILE (options.h)
> *
> * It has been AutoGen-ed February 26, 2012 at 11:08:44 AM by AutoGen
> 5.15pre14
> * From the definitions funcs.def
> * and the template file options_h
>
> I had a good look around the file system, but I was unable to locate
> funcs.def or options_h (I didn't look very hard for `options').
> The declaration is not in certtool-args.def.
>
> I therefore changed
>
> extern void optionAlias(tOptions* pOpts, tOptDesc* pOD, unsigned int alias);
>
> to
>
> extern int optionAlias(tOptions* pOpts, tOptDesc* pOD, unsigned int alias);
>
> in certtool-args.c.
>
> It worked, but it's obviously not a good solution.
Seems like your autogen version is too old. Get 5.15.
> make
>
> /bin/sh: line 75: /usr/share/autogen/texi2mdoc: Permission denied
> /bin/sh: line 194: /usr/share/autogen/mdoc2man: Permission denied
>
> As root:
>
> chmod a+rx /usr/share/autogen/texi2mdoc
> chmod a+rx /usr/share/autogen/mdoc2man
>
> This would seem to be a problem with the autogen installation (I installed
> it using yast2).
Yes, you should install autogen 5.15 locally.
> make
>
> Lots of these warnings:
>
> mini-eagain2.c:189:41: warning: cast to pointer from integer of different
> size [-Wint-to-pointer-cast]
>
> (it's a 64-bit machine)
I think these are known issues that nobody has had time to resolve.
Help appreciated.
/Simon
More information about the Gnutls-devel
mailing list