Bug 728220

Summary: tpm_crypto_freebl.c:1853:2: error: #error "Cannot determine 32 or 64 bit platform"
Product: [Fedora] Fedora Reporter: Karsten Hopp <karsten>
Component: libtpmsAssignee: Stefan Berger <stefanb>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 16CC: stefanb
Target Milestone: ---   
Target Release: ---   
Hardware: powerpc   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-08-08 12:08:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Karsten Hopp 2011-08-04 12:38:27 UTC
Description of problem:
libtpms-0.5.1-7 fails to build on ppc, probably also on ppc64:
cc -Wall -W -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -c -ggdb -Wstrict-prototypes -O0 -include tpm_library_conf.h -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -DTPM_V12 -DTPM_PCCLIENT -DTPM_VOLATILE_LOAD -DTPM_ENABLE_ACTIVATE -DTPM_AES -DTPM_LIBTPMS_CALLBACKS -DTPM_NV_DISK -fPIC -DTPM_POSIX  -I/usr/include/nss3 -I/usr/include/nspr4  tpm_crypto_freebl.c
tpm_crypto_freebl.c:1853:2: error: #error "Cannot determine 32 or 64 bit platform"
tpm_crypto_freebl.c:1865:5: error: unknown type name 'SHA_HW_t'
make: *** [tpm_crypto_freebl.o] Error 1

Version-Release number of selected component (if applicable):
libtpms-0.5.1-7

How reproducible:
always

Steps to Reproduce:
1. ppc-koji build --scratch f16 libtpms-0.5.1-7.src.rpm
  
Actual results:
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=267838

Comment 1 Stefan Berger 2011-08-04 16:39:55 UTC
Thanks for reporting. To me it was actually a known problem since we only enabled those architectures that we had tested it on, which does include __powerpc64__, though.

#if defined (__x86_64__) || \
    defined(__amd64__) || \
    defined(__ia64__) || \
    defined(__powerpc64__)
#define IS_64
typedef PRUint64 SHA_HW_t;

#elif defined (__i386__)
typedef PRUint32 SHA_HW_t;
#undef IS_64

#else
#error "Cannot determine 32 or 64 bit platform"
#endif


The apparance of __ia64__ should not lead to the conclusion that we tested it on that type of arch, though. :-/

I'll look into it.

Comment 2 Stefan Berger 2011-08-08 10:46:43 UTC
I updated libtpms to 0.5.1-8 with build for __powerpc__ enabled. Please verify.

Comment 3 Karsten Hopp 2011-08-08 12:08:33 UTC
works as expected. Thanks for the fix !
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=270230