[freetds] /usr/include/freetds/ and DBD-Sybase problem

Joshua Daniel Franklin joshuadf at u.washington.edu
Thu May 27 16:02:47 EDT 2004


Here's the situation:

I've installed Dag's latest freetds rpms (freetds-0.62.3-1.1.el3.rpm
and freetds-devel-0.62.3-1.1.el3.rpm, dated 2004 May 17) on Red Hat 
Enterprise Linux 3 with no problems, works as expected, etc.

I then proceeded to build the latest DBD-Sybase 1.02, which failed 
messily with missing include problems (here's a short excerpt):

In file included from Sybase.xs:14:
Sybase.h:16:22: ctpublic.h: No such file or directory
In file included from Sybase.h:46,
                  from Sybase.xs:14:
dbdimp.h:23: syntax error before "CS_SMALLINT"
dbdimp.h:23: warning: no semicolon at end of struct or union
dbdimp.h:24: warning: data definition has no type or storage class

I found that the problem is that the freetds-devel header files are
installed to /usr/include/freetds/ instead of just /usr/include/ and
linking them to /usr/include/ allowed DBD-Sybase to build. (There 
weren't any name conflicts with headers already in /usr/include/ .)

The headers seems to have been moved to /usr/include/freetds/ relatively 
recently (another server here with freetds-devel 0.61 has them in 
/usr/include/). DBD-Sybase expects $SYBASE/lib and $SYBASE/include to 
work, which seems reasonable, but if the header location was changed on 
purpose is this something that needs to be updated in DBD-Sybase?


Joshua Daniel Franklin

More information about the FreeTDS mailing list