Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#57969 closed defect (fixed)

gnutls @3.6.6 does not build on PPC Mac OS X 10.4.11, Tiger; because operator '%' has no left operand

Reported by: ballapete (Peter "Pete" Dyballa) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.5.4
Keywords: tiger Cc: mps@…
Port: gnutls

Description

libtool: compile:  /opt/local/bin/gcc-mp-6 -DHAVE_CONFIG_H -I. -I../.. -I/opt/local/include -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport -pipe -Os -I/opt/local/include/LegacySupport -I/opt/local/include/LegacySupport -m32 -MT mktime.lo -MD -MP -MF .deps/mktime.Tpo -c mktime.c  -fno-common -DPIC -o .libs/mktime.o
In file included from mktime.c:34:0:
./libc-config.h:78:21: error: operator '%' has no left operand
 # define __WORDSIZE %%%
                     ^
./libc-config.h:78:21: error: operator '%' has no left operand
 # define __WORDSIZE %%%
                     ^
make[4]: *** [mktime.lo] Error 1
make[4]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_devel_gnutls/gnutls/work/gnutls-3.6.6/src/gl'

./libc-config.h has:

   73	/* Define __WORDSIZE so that <cdefs.h> does not attempt to include
   74	   nonexistent files.  Make it a syntax error, since Gnulib does not
   75	   use __WORDSIZE now, and if Gnulib uses it later the syntax error
   76	   will let us know that __WORDSIZE needs configuring.  */
   77	#ifndef __WORDSIZE
   78	# define __WORDSIZE %%%
   79	#endif

Attachments (1)

main.log (1.6 MB) - added by ballapete (Peter "Pete" Dyballa) 6 years ago.
Main.log from build on Tiger with PowerPC 7447A

Download all attachments as: .zip

Change History (4)

Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

Main.log from build on Tiger with PowerPC 7447A

comment:1 Changed 6 years ago by kencu (Ken)

The issue here seems to be that /usr/include/stdint.h on Tiger does not define __WORDSIZE, whereas all newer versions of that header do declare it.

For right now, you should be able to get away with defining it manually, like this in the Portfile:

configure.cppflags-append -D__WORDSIZE=32

for a permanent fix, this is another one that should best go in the legacy-support PG, as a rider on stdint.h and then it will be fixed for all ports, forever. I'll look into that.

Last edited 6 years ago by kencu (Ken) (previous) (diff)

comment:2 Changed 6 years ago by kencu (Ken)

Resolution: fixed
Status: newclosed

comment:3 Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

Worked here, too!

Note: See TracTickets for help on using tickets.