Bug 757126

Summary: /usr/include/unixodbc_conf.h does not include ia64
Product: Red Hat Enterprise Linux 5 Reporter: Karel Volný <kvolny>
Component: unixODBC64Assignee: Tom Lane <tgl>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 5.8CC: azelinka, hhorak
Target Milestone: rc   
Target Release: ---   
Hardware: ia64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-21 06:02:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 756832, 758797    

Description Karel Volný 2011-11-25 14:28:33 UTC
Description of problem:
the file /usr/include/unixodbc_conf.h contains includes for various architectures, but IA64 is mising

Version-Release number of selected component (if applicable):
unixODBC64-devel-2.2.14-2.el5.ia64

How reproducible:
always

Steps to Reproduce:
1. try to recompile mysql-connector-odbc64
  
Actual results:
configure phase fails

the config.log says:

configure:19969: checking sql.h usability
configure:19981: gcc -c -I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -g -O2  -I/usr/include conftest.c >&5
In file included from /usr/include/sql.h:19,
                 from conftest.c:63:
/usr/include/sqltypes.h:56:2: error: #error "Needs to know how big a long int is to continue!!!"


examining sqltypes.h there is:

#ifndef SIZEOF_LONG_INT
#include <unixodbc_conf.h>
#endif

#ifndef SIZEOF_LONG_INT
#error "Needs to know how big a long int is to continue!!!"
#endif


going further to unixodbc_conf.h, you see it is full of arch dependent includes like

#if defined(__x86_64__)
#include "unixodbc_conf_x86_64.h"


but the record for ia64 is missing, despite the file exists:

.qa.[root@ia64-5s-m1 tps]# rpm -qf /usr/include/unixodbc_conf_ia64.h 
unixODBC64-devel-2.2.14-2.el5.ia64



Expected results:
mysql-connector-odbc64 configures and compiles cleanly


Additional info:
note that this may be connected to bug 756832, HOWEVER this does not explain the ppc part of the postgresql problem, as both ppc and ppc64 records are present in that file

Comment 1 Tom Lane 2011-11-25 16:23:26 UTC
You're going to need to explain what the test environment is, and in particular how and why it's different from brew.

Comment 2 Tom Lane 2011-11-26 23:51:03 UTC
Oh, crud --- I added ia64 multilib support to the specfile in 2.2.14-2 at rpmdiff's insistence, but forgot to update conffile.h.  Probably the brew builds for the subsidiary packages went through before that.

Comment 6 errata-xmlrpc 2012-02-21 06:02:00 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHEA-2012-0222.html