Suggestions and Fixes for SunOS 4.1.3_U1

sam at Progressive-Systems.Com sam at Progressive-Systems.Com
Thu Jul 29 19:19:26 CEST 1999

I was able to install gpg 0.9.9 on SunOS 4.1.3_U1 after a couple of
tweaks.  I used gcc 2.7.2.  Hopefully these changes can make it into
the source tree and they may have already been reported.  Some of the
problems I ran into may be related to the SunOS environment.

1)  I don't know if a TIPS/HINTS document is being written, but if so,
    these configure parameters worked for me:

    ./configure --disable-nls --disable-dynload --disable-dev-random \

    If you don't use --disable-dynload then you will need to edit the
    g10/Makefile and change the following:

    LDFLAGS =  -Wl,-export-dynamic
    LDFLAGS =  -Wl

2)  [Question] The configure script says you can use
    --enable-static-rnd=none and load the EGD client code dynamically.
    But I didn't see any documentation pointing out how to plug in EGD
    at runtime.  It is unclear to me whether --disable-dynload is
    related at all to --enable-static-rnd.

3)  The assembly files in mpi/sparc32 need to be tweaked (or at least
    they did for me.)  All of the symbols defined needed to have an
    extra underscore prepended to them.  Gpg will not compile without
    these changes.  Here are the diffs.

	<       .global C_SYMBOL_NAME(_mpihelp_add_n)
	< C_SYMBOL_NAME(_mpihelp_add_n):
	>       .global C_SYMBOL_NAME(mpihelp_add_n)
	> C_SYMBOL_NAME(mpihelp_add_n):
	<       .global C_SYMBOL_NAME(_mpihelp_lshift)
	< C_SYMBOL_NAME(_mpihelp_lshift):
	>       .global C_SYMBOL_NAME(mpihelp_lshift)
	> C_SYMBOL_NAME(mpihelp_lshift):
	<       .global C_SYMBOL_NAME(_mpihelp_rshift)
	< C_SYMBOL_NAME(_mpihelp_rshift):
	>       .global C_SYMBOL_NAME(mpihelp_rshift)
	> C_SYMBOL_NAME(mpihelp_rshift):
	<       .global C_SYMBOL_NAME(___udiv_qrnnd)
	< C_SYMBOL_NAME(___udiv_qrnnd):
	>       .global C_SYMBOL_NAME(__udiv_qrnnd)
	> C_SYMBOL_NAME(__udiv_qrnnd):

    I'm not sure why this is.

4)  Along these lines, I was unable to use --disable-asm.  The build
    fails because ld cannot find the symbol ___udiv_qrnnd() (that's
    three underscores.)  This may be related to the problem above.  I
    didn't see where ___udiv_qrnnd() was defined so that's why I had
    to add it to modify the assembly files and use them.

5)  checks/mds.test

    Unfortunately, this line doesn't work on SunOS as the \c isn't escaped.

  /bin/echo "abcdefghijklmnopqrstuvwxyz\c" | $srcdir/run-gpg --print-mds >y

    A more portable approach might be:

  /bin/echo -n "abcdefghijklmnopqrstuvwxyz" | $srcdir/run-gpg --print-mds >y

Let me know if you want me to try any other tests.


More information about the Gnupg-devel mailing list