Compilation ends with:
Making all in mpi
make[2]: Entering directory `/opt/local/var/macports/build/libgcrypt-2f3d4f87/work/libgcrypt-1.11.2/mpi'
/bin/sh ../libtool --tag=CC --mode=compile /usr/bin/gcc-4.2 -DHAVE_CONFIG_H -I. -I.. -I../src -I../src -isystem/opt/local/include/LegacySupport -I/opt/local/include -I/opt/local/include -pipe -Os -std=gnu89 -arch ppc -fno-delete-null-pointer-checks -Wall -MT mpi-add.lo -MD -MP -MF .deps/mpi-add.Tpo -c -o mpi-add.lo mpi-add.c
libtool: compile: /usr/bin/gcc-4.2 -DHAVE_CONFIG_H -I. -I.. -I../src -I../src -isystem/opt/local/include/LegacySupport -I/opt/local/include -I/opt/local/include -pipe -Os -std=gnu89 -arch ppc -fno-delete-null-pointer-checks -Wall -MT mpi-add.lo -MD -MP -MF .deps/mpi-add.Tpo -c mpi-add.c -fno-common -DPIC -o .libs/mpi-add.o
In file included from mpi-add.c:31:
mpi-internal.h:72: error: redefinition of typedef 'mpi_ptr_t'
../src/mpi.h:83: error: previous declaration of 'mpi_ptr_t' was here
mpi-internal.h:73: error: redefinition of typedef 'mpi_size_t'
../src/mpi.h:84: error: previous declaration of 'mpi_size_t' was here
Trying to pre-process mpi-add.c I get:
/usr/bin/gcc-4.2 -DHAVE_CONFIG_H -I. -I.. -I../src -I../src -isystem/opt/local/include/LegacySupport -I/opt/local/include -I/opt/local/include -pipe -Os -std=gnu89 -arch ppc -fno-delete-null-pointer-checks -Wall -H -dD -E mpi-add.c -fno-common -DPIC -o mpi-add.cpp
. ../config.h
. /opt/local/include/LegacySupport/stdio.h
.. /opt/local/include/LegacySupport/MacportsLegacySupport.h
.. /opt/local/include/LegacySupport/_macports_extras/sdkversion.h
... /opt/local/include/LegacySupport/AvailabilityMacros.h
.... /usr/include/AvailabilityMacros.h
.. /usr/include/stdio.h
... /usr/include/_types.h
.... /usr/include/sys/_types.h
..... /opt/local/include/LegacySupport/sys/cdefs.h
...... /usr/include/sys/cdefs.h
..... /usr/include/machine/_types.h
...... /usr/include/ppc/_types.h
.. /opt/local/include/LegacySupport/sys/stdio.h
... /opt/local/include/LegacySupport/MacportsLegacySupport.h
. /opt/local/include/LegacySupport/stdlib.h
.. /usr/include/stdlib.h
... /opt/local/include/LegacySupport/available.h
.... /usr/include/available.h
... /usr/include/sys/wait.h
.... /usr/include/sys/signal.h
..... /usr/include/sys/appleapiopts.h
..... /usr/include/machine/signal.h
...... /usr/include/ppc/signal.h
....... /usr/include/ppc/_structs.h
..... /usr/include/sys/_structs.h
...... /usr/include/machine/_structs.h
....... /usr/include/ppc/_structs.h
........ /usr/include/mach/ppc/_structs.h
.... /usr/include/sys/resource.h
..... /usr/include/sys/_structs.h
.... /usr/include/machine/endian.h
..... /usr/include/ppc/endian.h
...... /usr/include/sys/_endian.h
... /usr/include/alloca.h
... /usr/include/machine/types.h
.... /usr/include/ppc/types.h
..... /usr/include/ppc/_types.h
. mpi-internal.h
.. mpi-asm-defs.h
.. ../src/mpi.h
... /opt/local/include/LegacySupport/string.h
.... /usr/include/string.h
... ../src/types.h
.... /opt/local/include/LegacySupport/sys/types.h
..... /usr/include/sys/types.h
...... /usr/include/sys/_structs.h
.... /usr/lib/gcc/powerpc-apple-darwin9/4.2.1/include/stdint.h
... ../src/../mpi/mpi-asm-defs.h
... ../src/g10lib.h
.... /usr/lib/gcc/powerpc-apple-darwin9/4.2.1/include/stdarg.h
.... ../src/visibility.h
..... ../src/gcrypt-int.h
...... ../src/gcrypt.h
....... /opt/local/include/gpg-error.h
........ /usr/lib/gcc/powerpc-apple-darwin9/4.2.1/include/stddef.h
........ /opt/local/include/LegacySupport/sys/types.h
....... /opt/local/include/LegacySupport/sys/types.h
.... ../src/../compat/libcompat.h
.. ../src/const-time.h
.. mpi-inline.h
... longlong.h
The question might be here why I am using GCC 4.2 (it's the system's default compiler) and not something more up-to-date like GCC 14, which is installed. The answer might be that it seems to exist no advice to use a modern compiler. And using GCC 14 libgcrypt 1.11.2 builds. Then all test pass, except two that were not run.