• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

DRVConfig/H06-Sep-2020-12,03410,173

DriverManager/H06-Sep-2020-71,58344,077

Drivers/H06-Sep-2020-45,77230,835

Interix/H06-Sep-2020-24,34919,963

cur/H06-Sep-2020-10,0675,240

doc/H03-May-2022-3,7423,256

exe/H06-Sep-2020-5,3344,309

extras/H06-Sep-2020-1,8961,487

include/H06-Sep-2020-7,9975,233

ini/H06-Sep-2020-3,1061,937

libltdl/H07-May-2022-25,28419,814

log/H06-Sep-2020-1,251835

lst/H06-Sep-2020-1,7651,239

m4/H06-Sep-2020-10,1229,139

man/H06-Sep-2020-1,4431,170

odbcinst/H06-Sep-2020-6,5364,677

samples/H06-Sep-2020-756635

vms/H06-Sep-2020-288282

AUTHORSH A D11-Mar-20192.1 KiB133123

COPYINGH A D06-Jan-201423.9 KiB459386

ChangeLogH A D06-Sep-202073.8 KiB1,6301,445

INSTALLH A D05-May-20157.8 KiB194148

Makefile.amH A D10-Apr-2018918 5348

Makefile.inH A D03-May-202229.6 KiB972868

Makefile.svnH A D03-Sep-2020483 1815

NEWSH A D06-Jan-20141.1 KiB4441

READMEH A D05-May-20151.3 KiB5534

README.AIXH A D06-Jan-20142.6 KiB8958

README.CYGWINH A D06-Jan-2014545 2618

README.INTERIXH A D06-Jan-2014512 2012

README.OSXH A D24-Jul-20144.2 KiB13281

README.QNXH A D06-Jan-20141.2 KiB7138

README.SOLARISH A D06-Jan-20141.4 KiB5438

README.VMSH A D06-Jan-20145.1 KiB139106

acinclude.m4H A D07-Jan-201424.9 KiB704681

aclocal.m4H A D06-Sep-202041.9 KiB1,1791,071

compileH A D06-Sep-20207.2 KiB348258

config.guessH A D06-Sep-202041.9 KiB1,4221,230

config.h.inH A D06-Sep-202012.5 KiB508343

config.subH A D06-Sep-202035.2 KiB1,8081,670

configureH A D06-Sep-2020581.9 KiB20,33416,973

configure.acH A D06-Sep-202017.3 KiB637535

depcompH A D06-Sep-202021.9 KiB757476

install-shH A D06-Sep-202014.3 KiB502327

ltmain.shH A D06-Sep-2020316.5 KiB11,1487,979

missingH A D06-Sep-20206.7 KiB216143

mkinstalldirsH A D06-Jan-2014733 4123

unixodbc_conf.h.inH A D06-Sep-202012.4 KiB506341

vmsbuild.comH A D06-Jan-20149.4 KiB266263

ylwrapH A D06-Jan-20146.1 KiB224124

README

1+-------------------------------------------------------------+
2| unixODBC                                                    |
3+-------------------------------------------------------------+
4
5README
6---------------------------------------------------------------
7
8Description:
9
10	unixODBC is an Open Source ODBC sub-system and an ODBC SDK
11	for Linux, Mac OSX, and UNIX.
12
13License:
14
15	All libraries are LGPL Version 2.1
16
17	All programs are GPL Version 2.1.
18
19Parts:
20	unixODBC includes the following;
21
22	- Driver Manager
23	- Installer Library and command line tool
24	- Command Line Tools to help install a driver and work with SQL
25
26
27How To Start:
28
29	Look for and read README files with extensions of interest. Then
30	read the INSTALL file.
31
32	You can also jump into the doc directory and browse information
33	there. And do not forget the online stuff.
34
35	Some documentation may be a bit out of date the vast majority of
36	it should be ok.
37
38Config Files:
39
40	The ODBC Installer Library is responsible for reading and writing
41	the unixODBC config files.
42
43	The savvy can look at;
44
45	_odbcinst_SystemINI.c
46	_odbcinst_UserINI.c
47
48	In any case; you can override where unixODBC looks for its system
49	config files by setting the ODBCSYSINI environment variable during
50	the use of unixODBC.
51
52Resources:
53
54        http://sourceforge.net/projects/unixodbc/
55

README.AIX

1Building on AIX
2===============
3
4Install
5=======
6
7AIX seems to ship with a install tool /usr/bin/bsdinstall, unfortunatly
8the version of autoconf that unixODBC uses doesn't seem to like this, so
9make sure it doesn't find this. It may be best to define INSTALL as a
10empty string before building, forcing it to use the builtin install-sh.
11
12Threads
13=======
14
15You need to decide to build with or without threads, if you want threads
16I would do this
17
18export CC=xlc_r
19export CXX=xlC_r
20./configure
21
22If you don't want threads, do this
23
24export CC=xlc
25export CXX=xlC
26./configure --enable-threads=no
27
28Shared Libs
29===========
30
31Because of the way that AIX builds its shared libs there are a couple of
32points to remember
33
341. All drivers need changing into .so
35
36The drivers will be build as a .a, containing a .so, BUT dlopen only is
37able to open a .so, so to fix this, for each driver that is needed, do
38the following (in this case the postgres driver).
39
40Go to the target lib directory
41
42	cd /usr/local/lib
43
44extract the .so from the .a
45
46	ar -x libodbcpsql.a
47
48This will create libodbcpsql.so.2
49
50The same will need doing for the seyup libs
51
52	ar -x libodbcpsqlS.a
53
542. Shared libs containing C++ are special
55
56This is only a issue with the libodbcinstQ.a lib that is opened by
57ODBCConfig. There are two things, first because libtool decides that
58shared libs ar lib*.a the code trys to load libodbcinstQ.a, and also
59we maye have to rebuild the lib using the IBM util makeC++SharedLib
60(the name gives its away :-)
61
62I have tried this with a current AIX, and it seems that all is needed is to extract the .so
63from the .a by running ar -x libodbcinstQ.a to get the .so
64
65If that doesn't help, or on older AIX's the following may need doing.
66
67After the make install is done, go into the odbcinstQ dir on thE
68build tree, and do the following
69
70	makeC++SharedLib -p 0 -o libodbcinstQ.so.1.0 -L$QTDIR/lib -lqt -L$PREFIX/lib -lodbc -lodbcinst  .libs/libodbcinstQ.lax/libodbcextraslc.al/strcasecmp.o  *.o ../ini/*.lo
71
72where QTDIR is set to the top of the qt tree, so $QTDIR/lib will contain libqt.a
73and PREFIX is set to the unixODBC install tree, so $PREFIX/lib contains libodbc.a.
74Ignore any duplicate symbol warnings they are due to the same things being in libodbc.a
75and libodbcinst.a
76
77this will then build a libodbcinstQ.so.1.0, we can copy that to the target lib dir,
78and delete the existing lib, and link it (again replace $PREFIX with the correct path
79
80	cp libodbcinstQ.so.1.0 $PREFIX/lib
81	cd $PREFIX/lib
82	rm libodbcinstQ.a
83	ln -s libodbcinstQ.so.1.0 libodbcinstQ.a
84
85Then all should be OK with ODBCConfig
86
87Nick Gorham
88
89

README.CYGWIN

1To build unixODBC on cygwin, all you need to do is to rerun the autoconf
2tools to create versions that seem to play on windows, then build as normal.
3
4Of course to do this you need to have installed the Cygwin development
5packages.
6
7So:
8
9	aclocal
10	automake --add-missing
11	automake
12	autoconf
13	libtoolize --copy --ltdl --force
14
15Then you can run configure as normal
16
17	./configure --enable-gui=no
18	make
19	make install
20
21At least that seems to work when I tried it... If you find problems
22just let me know.
23
24--
25Nick Gorham (nick.gorham@easysoft.com)
26

README.INTERIX

1Some notes on building UnixODBC on Microsoft Interix
2
3First use the modified configure and config.guess
4included in the Interix directory, copy them up into the main
5directory.
6
7Then build with the following line
8
9CFLAGS="-D_ALL_SOURCE -I/usr/local/include" CPPFLAGS="-D_ALL_SOURCE
10-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ./configure
11
12After running configure, copy libtool from the Interix directory
13into the build directory
14
15Thanks to the MS group for supplying this info.
16
17Thats all for now.
18
19Nick.
20

README.OSX

1+-------------------------------------------------------------+
2| unixODBC                                                    |
3| Mac OSX                                                     |
4+-------------------------------------------------------------+
5
6README
7---------------------------------------------------------------
8
9It seems at least with 10.5 of OSX, that we can just configure as
10normal (--enable-gui=no) and build, no special instructions are
11needed.
12
13---------------------------------------------------------------
14
15Building With GNU Auto Tools (by Nick):
16
17	It looks as if Darwin (Mac OSX) doesn't support the normal
18	dlopen type process that unixODBC requires. However help is
19	at hand in the form of dlcompat-20010831.tar.gz. This file
20	contains wrappers to emulate the calls. I have put this in
21
22	ftp://ftp.unixodbc.org/pub/beta/unixODBC/dlcompat-20010831.tar.gz
23
24	It should be downloaded, unpacked then run make install
25
26	This should be done before configuring unixODBC
27
28	This file was created by Christoph Pfisterer <cp@chrisp.de> and
29	the original copy can be found at
30
31	    http://fink.sourceforge.net
32
33	If you get a "ld: multiple definitions of symbol " error,
34	then you should edit the file libtool in the unixODBC base
35	directory and find the line
36
37	    whole_archive_flag_spec="-all_load \$convenience"
38
39	and replace it with
40
41	    whole_archive_flag_spec=
42
43	As at the time of writing, Qt is not available on OSX, its best to
44	disable the search for X libs that may fail, by configuring with
45
46	    ./configure --enable-gui=no
47
48Problems:
49
50    There is a problem it seems with libtool on OSX that incorrectly sets
51    the SHLIBEXT. The Driver Manager code will now report this if its used
52    in this condition. There are two solutions. Either after running configure
53    check config.h, and search for the string SHLIBEXT. It should look like this:
54
55#define SHLIBEXT ".dylib"
56
57    But may look like this:
58
59#define SHLIBEXT "test .$module = .yes && echo .so || echo .dylib"
60
61    If it does, then change it to the first definition.
62
63    The other fix is to change the configure script to find the correct value,
64    search for the line:
65
66shrext_cmds='test .$module = .yes && echo .so || echo .dylib'
67
68    And change to
69
70shrext_cmds=`test .$module = .yes && echo .so || echo .dylib`
71
72    Then rerun configure
73
74
75Building With Qt qmake (by Peter):
76
77	Qt is now availible for OSX but unixODBC may not detect your Qt
78	libs... worse yet you may not be able sort out the GNU auto-tools
79	required to build on OSX.
80
81	If you want to build using qmake then read README.qmake.
82
83
84Creating Install Packages:
85
86	unixODBC contains a number of directories and files to help create
87	OSX Packages. The process of doing so is not nearly as automated
88	as creating RPM files using the GNU auto tools. Look for the
89	mac-install and mac-package directories.
90
91Cursor LIB
92
93The cursor lilb needs a manual stage build to create it as a OSX bundle
94it needs to be like that so the DM can load it at run time.
95
96To do this, after the "make" and "make install" have finished, go to the
97cur directory in the build tree. Then there issue these commands
98
99cc -bundle -flat_namespace -undefined suppress -o libodbccr.1.0.0.so *.lo
100cp libodbccr.1.0.0.so /usr/local/lib/libodbccr.1
101
102Replace /usr/local/lib/ in the above with whatever your actual unixODBC
103lib path is.
104
105You may also have to do the same with any driver you build. You can check
106this by testing the type of the lib, for example.
107
108file /usr/local/lib/libodbcpsql.2.0.0.so
109/usr/local/lib/libodbcpsql.2.0.0.so: Mach-O dynamically linked shared library ppc
110
111This is not the correct type.
112
113So to get it as you need :-
114
115cd Drivers/Postgre7.1
116cc -bundle -flat_namespace -undefined suppress -o libodbcpsql.2.0.0.so *.lo
117cp libodbcpsql.2.0.0.so /usr/local/lib/libodbcpsql.2.0.0.so
118
119Now to check
120
121file /usr/local/lib/libodbcpsql.2.0.0.so
122/usr/local/lib/libodbcpsql.2.0.0.so: Mach-O bundle ppc
123
124Thats how it should be to work under the driver manager
125
126+-------------------------------------------------------------+
127| Peter Harvey <pharvey@codebydesign.com>                     |
128| Added to by Nick Gorham <nick@lurcher.org>                  |
129+-------------------------------------------------------------+
130
131
132

README.QNX

1Building unixODBC on QNX
2========================
3
4This has been tested on the QNX 6.1 x86 release.
5
61. unpack the distribution, and cd into the distribution dir
7
82. Add any missing files
9
10	automake --add-missing
11
123. Configure unixODBC
13
14	./configure --sysconfdir=/etc --enable-gui=no --prefix=/opt
15
164. run libtooloze using the QNX version of libtool, then update aclocal.m4
17
18	libtoolize --force
19	aclocal
20
215. We now need to alter the flags dlopen uses
22
23	cd libltdl
24	sed "s/RTLD_GLOBAL/RTLD_GROUP/" ltdl.c > ltdl.c.new
25	sed "s/RTLD_LAZY/RTLD_NOW/" ltdl.c.new > ltdl.c
26	cd ..
27
286. Force a reconfigure
29
30	rm config.cache
31
327. Make, then install
33
34	make
35	make install
36
37And with luck and a trailing wind, that should be that.
38
39EXTRA STUFF for QNX 6.2, if the wind is head on...
40
41If you find that it segfaults, its worth going into the libltdl
42directory, editing the Makefile, and changing the line
43
44CFLAGS = -g -O2
45
46to
47
48CFLAGS = -g -O2 -DPIC -fPIC
49
50then touch ltdl.c to force a rebuild
51
52You may also get a error when building in the exe directory, to
53fix this, go to the exe directory, edit Makefile, and change
54
55OBJEXT = @OBJEXT@
56
57to
58
59OBJEXT = o
60
61And
62
63EXEEXT = @EXEEXT@
64
65to
66
67EXEEXT =
68
69
70
71

README.SOLARIS

1Building unixODBC on Solaris
2----------------------------
3
4This should just work, however I have had the following helpfull
5hints sent to me by David Brown of Starquest. The suggested change
6has been made to the code in __info.c
7
8"Last fall, I had problems running on Solaris 7, because my system did have
9an iconv conversion between ISO8859-1 and UCS-2.
10
11I discovered two things:
12
13* the missing iconv tables are available by a patch for Solaris 7 (there is
14also a corresponding patch for Solaris 8, that fixes a lot in this area -
15seems recommended to use that as well)
16
17* Solaris uses the name 8859-1 in its tables rather than ISO8859-1 or
18ISO-8859-1.
19
20
21So what I've done is:
22
231) make the following change to DriverManager/__info.c:
24
25diff __info.c __info.c.orig
26385c385
27<     char *asc[] = { "char", "ISO8859-1", "ISO-8859-1", "8859-1", "ASCII", NULL
28 };
29 ---
30
31 >>     char *asc[] = { "char", "ISO8859-1", "ISO-8859-1", "ASCII", NULL };
32
33 2) tell customers to apply the following Solaris patches:
34
35 Solaris 7:
36 Patch-ID# 112689-02
37 Keywords: UTF-8 ICONV
38 Synopsis: SunOS 5.7: UTF-8 locale ICONV patch
39 Date: Aug/28/2002
40
41 Solaris 8:
42 Patch-ID# 113261-01
43 Keywords: UTF-8 ICONV
44 Synopsis: SunOS 5.8: UTF-8 locale ICONV patch
45 Date: Oct/11/2002
46
47 this has since been superceded by 11326-02, but I think unixODBC should
48 function fine with 113261-01
49
50 Patch-ID# 113261-02
51 Keywords: UTF-8 ICONV
52 Synopsis: SunOS 5.8: UTF-8 locale ICONV patch
53 Date: Feb/21/2003"
54

README.VMS

1Building unixODBC on OpenVMS (non-VAX only)
2=========================================
3
4Here's an initial go at building unixODBC on OpenVMS, at present this will
5only run on alpha and itanium, but if anyone requires use of this on VAX drop me an email
6(suypport@easysoft.com) and I'll do the necessary transfer vector macro's to export
7the required symbols from the two shared objects (ODBC.EXE and ODBCINST.EXE).
8
9Current components which have been built on OpenVMS
10
11LIBODBC.OLB 	   Driver manager as an OpenVMS static object library
12LIBODBCINST.OLB    ODBC installer / setup static object library
13LIBODBCPSQL.OLB    Postgres 6.5 driver static object library
14LIBODBC.EXE        Driver manager shareable image
15LIBODBCINST.EXE    ODBC installer / setup shareable image
16LIBODBCPSQL.EXE    Postgres 6.5 driver shareable image
17ISQL.EXE           Command line SQL tool
18DLTEST.EXE         Program to test loading shared libraries
19
20Additional components included to perform building on OpenVMS
21
22VMSBUILD.COM - DCL script which compiles, links and installs unixODBC
23[.EXTRAS]VMS.C  - Contains OpenVMS specific wrappers (dlopen, etc..)
24[.VMS]INSTALL_IMAGE.COM - DCL script to install shareable images
25[.VMS]ODBCINST_AXP.OPT - Linker options file for ODBC installer shared image
26[.VMS]ODBC_AXP.OPT - Linker options file for Driver manager shared image
27[.VMS]ODBC2_AXP.OPT - Linker options file for ODBC 2 drivers
28[.VMS]ODBC_SETUP.COM - DCL script to set up logicals and commands
29
30Building unixODBC on OpenVMS
31============================
32
33After unpacking the archive, change into the unixodbc directory and perform
34the following functions.
35
36COMPILING
37
38$ @vmsbuild COMPILE
39
40LINKING
41
42$ @vmsbuild LINK
43
44COPYING SHARED LIBRARIES TO THEIR INSTALLED LOCATION
45
46Define the logical name ODBC_LIBDIR to point to wherever you would like the
47libraries to reside and run the build procedure again with the "install" option
48as in the following example:
49
50$ define ODBC_LIBDIR DISK$DBSTUFF:[ODBCLIB]  ! will be created if it doesn't exist
51$ @vmsbuild install
52
53If the ODBC_LIBDIR logical is not defined, it will be defined for you
54and a [.odbclib] directory will be created under the top level of the
55source directory.
56
57Note that the build procedure can be run in batch if you prefer.  It is
58also possible to specify ALL as the parameter and do the compile, link,
59and install in one fell swoop.  For example:
60
61$ submit/noprint/param=all vmsbuild.com
62
63Post-installation tasks
64======================================
65
66To use the installed software, you need to run the command procedure
67ODBC_SETUP.COM, which will have been installed in the same directory as
68the libraries.  This procedure defines the ODBC_LIBDIR logical name and
69additional logical names that are needed for the image activator to
70locate the libraries.  It also defines the ISQL command.  Put a line
71similar to the following (with your own disk and directory
72specification) in your LOGIN.COM, or (to make the software available
73system-wide) in SYS$MANAGER:SYLOGIN.COM:
74
75$ @disk$dbstuff:[odbclib]odbc_setup
76
77N.B.  It may be tempting to simply dump the libraries into SYS$SHARE and
78depend on the image activator's default behavior to locate the images.
79That works, but it's the surest way to what is known on another popular
80platform as DLL hell.
81
82If you'll be programming with ODBC rather than just using ISQL, be sure
83to hang on to the contents of the [.include] and [.doc] directories.
84Look at the compiler flags and link commands in vmsbuild.com for
85examples of what you need to do to build programs using the libraries.
86
87For performance reasons it may be desireable to install the libraries as
88known images (which has nothing to do with "install" in the sense of
89copying software to its target location).  See the documentation to the
90INSTALL command or use the command procedure [.vms]install_image.com
91provided with this kit.  Installing the images with privileges is not
92recommended unless there is a compelling reason (Hint: failure to set up
93file permissions properly on your .ini files is not a compelling
94reason).
95
96Locations of ODBC.INI and ODBCINST.INI
97======================================
98
99After running the @VMSBUILD INSTALL command a blank odbc.ini and odbcinst.ini
100will be created in ODBC_LIBDIR. To override the default locations of the user
101odbc.ini or the directory where the system odbc.ini and odbcinst.ini reside
102define the following logicals.
103
104$ define/log ODBCINI "DKA100:[MYDIR.ODBC]ODBC.INI"
105$ define/log ODBCSYSINI "DKA100:[MYDIR.SYS]"
106
107Example Setup With Postgres 6.5
108===============================
109
110ODBC_LIBDIR:ODBCINST.INI
111
112[PostgreSQL]
113Description = Postgres SQL Driver
114Driver      = LIBODBCPSQL
115Setup       =
116FileUsage   = 1
117
118ODBC_LIBDIR:ODBC.INI
119[Postgres]
120Description         = Test to Postgres
121Driver              = PostgreSQL
122Trace               = No
123Database            = sample
124Servername          = myserver.mydomain.com
125UserName            = postgres
126Password            = password
127Port                = 5432
128Protocol            = 6.4
129ReadOnly            = No
130RowVersioning       = No
131ShowSystemTables    = No
132ShowOidColumn       = No
133FakeOidIndex        = No
134ConnSettings        =
135
136Jason
137
138last updated 12-Jul-2013 by Craig A. Berry -- craigberry@mac.com
139