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