[MacPorts] #62132: libgcrypt @1.9.0 does not build on PPC Leopard, Mac OS X 10.5.8, because of "error: redefinition of typedef 'cipher_bulk_ops_t'"

MacPorts noreply at macports.org
Sat Jan 23 15:00:19 UTC 2021


#62132: libgcrypt @1.9.0 does not build on PPC Leopard, Mac OS X 10.5.8, because of
"error: redefinition of typedef 'cipher_bulk_ops_t'"
------------------------+-------------------------
  Reporter:  ballapete  |      Owner:  Schamschula
      Type:  defect     |     Status:  assigned
  Priority:  Normal     |  Milestone:
 Component:  ports      |    Version:  2.6.4
Resolution:             |   Keywords:  leopard
      Port:  libgcrypt  |
------------------------+-------------------------

Comment (by ballapete):

 The error is similar:

 {{{
 make[2]: Entering directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_libgcrypt/libgcrypt/work/libgcrypt-1.9.0/cipher'
 /bin/sh ../libtool  --tag=CC   --mode=compile /usr/bin/gcc-4.2
 -DHAVE_CONFIG_H -I. -I..  -I../src -I../src -I../mpi -I../mpi
 -I/opt/local/include -I/opt/local/include -pipe -Os -std=gnu89 -arch ppc
 -fno-delete-null-pointer-checks -Wall -MT cipher.lo -MD -MP -MF
 .deps/cipher.Tpo -c -o cipher.lo cipher.c
 libtool: compile:  /usr/bin/gcc-4.2 -DHAVE_CONFIG_H -I. -I.. -I../src
 -I../src -I../mpi -I../mpi -I/opt/local/include -I/opt/local/include -pipe
 -Os -std=gnu89 -arch ppc -fno-delete-null-pointer-checks -Wall -MT
 cipher.lo -MD -MP -MF .deps/cipher.Tpo -c cipher.c  -fno-common -DPIC -o
 .libs/cipher.o
 In file included from ../src/cipher.h:90,
                  from cipher.c:30:
 ../src/cipher-proto.h:138: error: expected declaration specifiers or '...'
 before 'cipher_bulk_ops_t'
 cipher.c: In function 'cipher_setkey':
 cipher.c:735: error: too many arguments to function 'c->spec->setkey'
 cipher.c:769: error: too many arguments to function 'c->spec->setkey'
 make[2]: *** [cipher.lo] Error 1
 make[2]: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_libgcrypt/libgcrypt/work/libgcrypt-1.9.0/cipher'
 }}}

 because the definition of `cipher_bulk_ops_t` comes too late:

 {{{
 . ../src/gcrypt-testapi.h
 . ../src/cipher.h
 .. ../src/../random/random.h
 ... ../src/types.h
 ... ../src/../random/../src/gcrypt-testapi.h
 .. ../src/cipher-proto.h      <<<<<<<<<<<<<<<<<<< actually redefines and
 then uses
 . ./cipher-internal.h         <<<<<<<<<<<<<<<<<<< has the #define
 .. ././poly1305-internal.h
 ... ../src/types.h
 ... ../src/g10lib.h
 ... ../src/cipher.h
 ... ././bufhelp.h
 .... ././bithelp.h
 }}}

 So, since no error was reported yet it's like that `GCC7` and other modern
 compilers work around this.

-- 
Ticket URL: <https://trac.macports.org/ticket/62132#comment:7>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list