Bug #1123 MyODBC-3.51.06-1.src.rpm won't build
Submitted: 22 Aug 2003 22:56 Modified: 6 Oct 2003 0:25
Reporter: Terry Cole Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Packaging Severity:S1 (Critical)
Version:MyODBC-3.51.06-1 OS:Linux (Linux x86)
Assigned to: Bugs System CPU Architecture:Any

[22 Aug 2003 22:56] Terry Cole
Description:
Normal building of the MyODBC-3.51.06-1.src.rpm on the MySQL site will not be possible, because the build expects that 
(a) there will be a user "venu"
(b) there will be essential files (iodbc headers) in his "home"
(directory /home/venu/local/include). 

Installation machine: vanilla Red Hat 9 built with support for mysql server and client, including: (built from source RPMs)
mysql-server-3.23.56-1.9
mod_auth_mysql-1.11-12
mysql-3.23.56-1.9
php-mysql-4.2.2-17
mysql-devel-3.23.56-1.9
    Also, built from the standard RH9 source RPM:
unixODBC-2.2.3-6
unixODBC-devel-2.2.3-6
unixODBC-kde-2.2.3-6
unixODBC-debuginfo-2.2.3-6

How to repeat:
Build command:
    rpmbuild --rebuild MyODBC-3.51.06-1.src.rpm

Build errors:
ODBC DRIVER MANAGER CONFIGURATION - LIBRARIES AND HEADERS
checking for iodbc-config... no
checking for iodbc version... unknown
checking isql.h usability... no
checking isql.h presence... no
checking for isql.h... no
configure: error: Unable to find the iodbc headers in '/home/venu/local/include'
...<snip>...

RPM build errors:
    user venu does not exist - using root

Suggested fix:
It would be possible to require a user venu with a home in the standard place. But there is no way to guarantee that the iodbc libraries are in that directory. Modification of the spec file appears to be in order.
[21 Sep 2003 23:26] MySQL Verification Team
I had tested the build of MyODBC-3.51.06-1.src.rpm on Suse 8.2
and:

I don't have the user "venu" and iodbc was installed on its default
Suse's localization.

Installed the below packages:

MySQL-client-3.23.58-1.i386.rpm
MySQL-devel-3.23.58-1.i386.rpm
MySQL-shared-3.23.58-1.i386.rpm

MySQL CONFIGURATION - CLIENT LIBS AND HEADERS
checking if building of thread safe library is enabled... yes
checking for mysql_real_query in -lmysqlclient... yes
checking for mysql_real_connect in -lmysqlclient_r... no
checking for mysql include files in /usr/include/mysql... yes
END OF MYSQL CONFIGURATION

ODBC DRIVER MANAGER CONFIGURATION - LIBRARIES AND HEADERS
checking for iodbc-config... /usr/bin/iodbc-config
checking for iodbc version... 3.0.6
checking isql.h usability... yes
checking isql.h presence... yes
checking for isql.h... yes
checking isqlext.h usability... yes
checking isqlext.h presence... yes
checking for isqlext.h... yes
checking isqltypes.h usability... yes
checking isqltypes.h presence... yes
checking for isqltypes.h... yes
checking iodbcinst.h usability... yes
checking iodbcinst.h presence... yes
checking for iodbcinst.h... yes
checking for _iodbcdm_admin_dialbox in -liodbcadm... no
checking for SQLGetPrivateProfileString in -liodbcinst... no
checking for SQLHENV... yes
checking for SQLHDBC... yes
checking for SQLHSTMT... yes
checking for SQLINTEGER... yes
checking for SQLUINTEGER... yes
checking for SQLSMALLINT... yes
............................

Wrote: /usr/src/packages/RPMS/i386/MyODBC-3.51.06-1.i386.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.97253
+ umask 022
+ cd /usr/src/packages/BUILD
+ cd MyODBC-3.51.06
+ rm -rf /var/tmp/MyODBC-3.51.06-build
+ exit 0
Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.97253
+ umask 022
+ cd /usr/src/packages/BUILD
+ rm -rf MyODBC-3.51.06
+ exit 0

Most probably your machine has the required packages on another
paths not looked by the configure but necessarily it not needs the
venus's user path.