[MacPorts] #24591: postgres83 fails to build on SnowLeopard +universal
MacPorts
noreply at macports.org
Thu Apr 22 01:38:46 PDT 2010
#24591: postgres83 fails to build on SnowLeopard +universal
-----------------------------------+----------------------------------------
Reporter: jeremyhu@… | Owner: mww@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 1.8.2
Keywords: build failure | Port: postgresql83
-----------------------------------+----------------------------------------
{{{
/usr/bin/gcc-4.2 -no-cpp-precomp -O0 -ggdb3 -arch x86_64 -arch i386 -Wall
-Wmissing-prototypes -Wpointer-arith -Winline -Wdeclaration-after-
statement -Wendif-labels -fno-strict-aliasing -fwrapv
-I../../../../src/include -I/opt/local/include -I/opt/local/include/ossp
-I/opt/local/include/libxml2 -I/opt/local/include -c -o heaptuple.o
heaptuple.c
heaptuple.c: In function 'heap_fill_tuple':
heaptuple.c:250: error: duplicate case value
heaptuple.c:250: error: previously used here
heaptuple.c: In function 'DataFill':
heaptuple.c:383: error: duplicate case value
heaptuple.c:383: error: previously used here
lipo: can't figure out the architecture type of: /var/tmp//cceMu6DA.out
gnumake[4]: *** [heaptuple.o] Error 1
gnumake[3]: *** [common-recursive] Error 2
gnumake[2]: *** [access-recursive] Error 2
gnumake[1]: *** [all] Error 2
gnumake: *** [all] Error 2
shell command " cd "/opt/local/var/macports/build
/_Users_jeremy_src_macports-
trunk_dports_databases_postgresql83/work/postgresql-8.3.10" &&
/usr/bin/gnumake " returned error 2
Error: Target org.macports.build returned: shell command failed
Warning: the following items did not execute (for postgresql83):
org.macports.destroot org.macports.build
Log for postgresql83 is at: /opt/local/var/macports/logs
/_Users_jeremy_src_macports-trunk_dports_databases_postgresql83/main.log
Error: Unable to upgrade port: 1
To report a bug, see <http://guide.macports.org/#project.tickets>
}}}
Looks like the problem is in the macro for store_att_byval as that is what
is expanded at the erroring lines. This macro is defined in
src/include/access/tupmacs.h:
{{{
/*
* store_att_byval is a partial inverse of fetch_att: store a given Datum
* value into a tuple data area at the specified address. However, it
only
* handles the byval case, because in typical usage the caller needs to
* distinguish by-val and by-ref cases anyway, and so a do-it-all macro
* wouldn't be convenient.
*/
#if SIZEOF_DATUM == 8
#define store_att_byval(T,newdatum,attlen) \
do { \
switch (attlen) \
{ \
case sizeof(char): \
*(char *) (T) = DatumGetChar(newdatum); \
break; \
case sizeof(int16): \
*(int16 *) (T) = DatumGetInt16(newdatum);
\
break; \
case sizeof(int32): \
*(int32 *) (T) = DatumGetInt32(newdatum);
\
break; \
case sizeof(Datum): \
*(Datum *) (T) = (newdatum); \
break; \
default: \
elog(ERROR, "unsupported byval length:
%d", \
(int) (attlen)); \
break; \
} \
} while (0)
#else /* SIZEOF_DATUM !=
8 */
#define store_att_byval(T,newdatum,attlen) \
do { \
switch (attlen) \
{ \
case sizeof(char): \
*(char *) (T) = DatumGetChar(newdatum); \
break; \
case sizeof(int16): \
*(int16 *) (T) = DatumGetInt16(newdatum);
\
break; \
case sizeof(int32): \
*(int32 *) (T) = DatumGetInt32(newdatum);
\
break; \
default: \
elog(ERROR, "unsupported byval length:
%d", \
(int) (attlen)); \
break; \
} \
} while (0)
#endif /* SIZEOF_DATUM == 8 */
}}}
It looks like SIZEOF_DATUM is probably getting set during configure based
on just one of the architectures
--
Ticket URL: <http://trac.macports.org/ticket/24591>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list