public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Re: libodbccp32.a
@ 2000-08-07 14:28 Danny Smith
  0 siblings, 0 replies; 17+ messages in thread
From: Danny Smith @ 2000-08-07 14:28 UTC (permalink / raw)
  To: cygwin

>From: "Charles S. Wilson" <cwilson@ece.gatech.edu>
>To: corrosion@connect.to
>CC: danny_r_smith@hotmail.com, cygwin@sourceware.cygnus.com
>Subject: Re: libodbccp32.a
>Date: Mon, 07 Aug 2000 09:23:14 -0400
>
>Neil Lunn wrote:
> >
> > >>
> > >>I seem not to have this in the 1.1 distribution. Is there another 
>valid
> > >>source?
> > >>
> > >>Neil
> > >>
> > >
> > >Well... here is a "last resort" case.  Try linking directly to 
>odbccp32.dll
> > >directly without an import lib but with *newest* binutils prerelease.
> > >Danny
> > >
> >
> > I only just got back to this! Any special flags for doing so. *now I 
>seem to
> > be at a last resort*
>
>It's not the 'newest binutils prerelease' anymore -- it's the newest
>official cygwin release of binutils: binutils-20000722-1.
>
>To link, add these flags: '-L/cygdrive/<SYSTEMDRIVE>/WINNT/system
>-lodbccp32'
>
>Hope it works.
>
>--Chuck

Did it work?
I've  since tried to use this option, and it works for DLL's with 'properly' 
decorated names but unfortunately *not* when __stdcall functions are 
exported only as PASCAL names (ie., without trailing @n).

Also tried  with --enable-stdcall-fixup switch to ld, but still undefined 
__stdcall symbols.

Danny
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: libodbccp32.a
@ 2000-08-10  8:00 Earnie Boyd
  0 siblings, 0 replies; 17+ messages in thread
From: Earnie Boyd @ 2000-08-10  8:00 UTC (permalink / raw)
  To: cygwin

--- Chris Faylor <cgf@cygnus.com> wrote:
> 
> I don't know why perl is expecting win32.h but this is not a standard windows
> header, AFAIK.  I don't think that cygwin has ever had a win32.h, either.
> 

IIRC, it's a perl specific header and should be found in one of perl's
subdirectories.  The problem is most likely due to the fact that both _WIN32
and unix macros are defined during the configuration and build processes.

Cheers,

=====
---
   Earnie Boyd: < mailto:earnie_boyd@yahoo.com >
            __Cygwin: POSIX on Windows__
Cygwin Newbies: < http://gw32.freeyellow.com/ >
           __Minimalist GNU for Windows__
  Mingw32 List: < http://www.egroups.com/group/mingw32/ >
    Mingw Home: < http://www.mingw.org/ >

__________________________________________________
Do You Yahoo!?
Kick off your party with Yahoo! Invites.
http://invites.yahoo.com/

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* RE: libodbccp32.a
@ 2000-08-10  7:06 Fifer, Eric
  0 siblings, 0 replies; 17+ messages in thread
From: Fifer, Eric @ 2000-08-10  7:06 UTC (permalink / raw)
  To: cygwin; +Cc: 'dbi-users@fugue.com', 'jurlwin@bellatlantic.net'

[-- Attachment #1: Type: text/plain, Size: 667 bytes --]

With the Cygwin Perl port I always find the #define WIN32
that comes from <windows.h> is always getting in the way
when porting/building Win32ish CPAN modules like DBD::ODBC
or Win32::OLE.

WIN32 is used by Perl for the native Win32 port, and
affects a lot of things, including the failure that
occurs with #include "win32.h".

Anyway, a #undef WIN32 shortly after the #include <windows.h>
usually does the trick.

In the case of DBD::ODBC the attached patch cleans up some
typos, removes the unnecessary -lodbccp32, adds #undef WIN32
and removes some obsolete stuff (including the README.cygwin).

It now builds cleanly and passes all tests.

Regards,

Eric Fifer



[-- Attachment #2: DBD-ODBC.patch --]
[-- Type: text/x-diff, Size: 4510 bytes --]

diff -urN DBD-ODBC-0.28.orig/MANIFEST DBD-ODBC-0.28/MANIFEST
--- DBD-ODBC-0.28.orig/MANIFEST	Thu Mar  9 03:45:03 2000
+++ DBD-ODBC-0.28/MANIFEST	Thu Aug 10 14:03:09 2000
@@ -3,7 +3,6 @@
 Makefile.PL
 README
 README.adabas
-README.cygwin
 ODBC.h
 ODBC.pm
 ODBC.xs
diff -urN DBD-ODBC-0.28.orig/Makefile.PL DBD-ODBC-0.28/Makefile.PL
--- DBD-ODBC-0.28.orig/Makefile.PL	Thu Mar  9 03:45:03 2000
+++ DBD-ODBC-0.28/Makefile.PL	Thu Aug 10 14:05:51 2000
@@ -74,7 +74,7 @@
     my $odbchome= $::opt_o || $ENV{ODBCHOME};
 
     # per patches from Teun Burgers
-    if (!$odbchome && $ENV{WINDIR} && $^O =~ /^cygwin/) {
+    if (!$odbchome && $ENV{WINDIR} && $^O eq 'cygwin') {
 	my $tmp_odbchome = $ENV{WINDIR};
 	$tmp_odbchome =~ s/^([A-Za-z]):*$/\/\/$1/;
 	$tmp_odbchome =~ s/\\/\//g;
@@ -108,7 +108,7 @@
 
     my $myodbc ='';	# edit and hack to suit!
 
-    $myodbc = 'MicroSoft ODBC'
+    $myodbc = 'Microsoft ODBC'
                  if (    -e "$odbchome/system/odbc32.dll" or
 			 -e "$odbchome/system32/odbc32.dll" or
                          -e "$odbchome/odbc32.dll");
@@ -142,14 +142,16 @@
 
     warn "\nUmm, this looks like a $myodbc type of driver manager.\n";
 
-    if ($myodbc =~ /^MicroSoft ODBC/) {
-	print "\nBuilding for MicroSoft under CygWin32\n";
-	$opts{LIBS} = "-lodbc32 -lodbccp32";
+    if ($myodbc eq 'Microsoft ODBC') {
+	print "\nBuilding for Microsoft under Cygwin\n";
+	$opts{LIBS} = "-lodbc32";
+        print SQLH "#include <windows.h>\n";
         print SQLH "#include <sql.h>\n";
         print SQLH "#include <sqlext.h>\n";
-        $opts{dynamic_lib} = {OTHERLDFLAGS => "-lodbc32 -lodbccp32"};
+        print SQLH "#undef WIN32\n";
+        $opts{dynamic_lib} = {OTHERLDFLAGS => "-lodbc32"};
     }
-    if ($myodbc eq 'iodbc') {
+    elsif ($myodbc eq 'iodbc') {
 	my $ilibdir = "$odbchome/lib"; 
 	my @ilibs = <$ilibdir/*iodbc*.*>;
 	@ilibs = grep { /\.($Config{so}|$Config{dlext}|a)$/ } @ilibs;
@@ -214,7 +216,7 @@
 	@ilibs = grep { /\.($Config{so}|$Config{dlext}|a)$/ } @ilibs;
 	die "That's odd, I can't see any esoobclient libs in $odbchome" unless @ilibs;
 	print "We expect to find the sql.h and sqlext.h files (which were\n";
-	print "supplied with esoobclient) in \$ODBCHOME\include directory alongside\n";
+	print "supplied with esoobclient) in \$ODBCHOME/include directory alongside\n";
 	print "the @ilibs library.\n\n";
 	my $ilibpath = $ilibs[0]; # XXX if both .so and .a, pick based on LINKTYPE?
 	my $ilibname = basename($ilibpath);
diff -urN DBD-ODBC-0.28.orig/README.cygwin DBD-ODBC-0.28/README.cygwin
--- DBD-ODBC-0.28.orig/README.cygwin	Thu Mar  9 03:45:04 2000
+++ DBD-ODBC-0.28/README.cygwin	Thu Jan  1 00:00:00 1970
@@ -1,61 +0,0 @@
-=head1 Introduction
-
-This document describes how to build DBD::ODBC
-for perl ported to the cygwin platform.
-
-=head1 Prerequisites
-
-To build DBD::ODBC you need the following in
-order of installation:
-
-=over 4
-
-=item The cygwin tools
-
-The cygwin tools provide a unix environment on top
-of windows 95 en windows NT. It include a port of
-gcc and the main unix program development tools.
-The most recent cygwin version (currently B20.1)
-is available at http://sourceware.cygnus.com/cygwin/
-
-=item perl 5.00503
-
-Perl 5.00503 does not compile out of the box for cygwin. There is
-a good binary distribution however of perl 5.00503 for cygwin B20.1
-at http://cygutils.netpedia.net/. This port has the ability to build
-dynamic extensions.
-
-=item Windows ODBC headers and import libraries
-
-A rather complete set of headers and import libraries for windows
-including those for ODBC by Anders Norlander can be found at
-http://www.acc.umu.se/~anorland/gnu-win32/ I used version 0.1.5.
-
-=item DBI-1.12 or later from CPAN.
-
-DBI will build out of the box. Compilation does yield harmless messages
-of incompatible compiler versions. Testing will yield taint errors in
-Cwd.pm called from F<t/examp.t>. F<t/examp.t> must be run with -T unset.
-
-=item This module (DBD::ODBC)
-
-Install as in README. Again compilation will yield harmless messages of
-incompatible compiler versions.  After configuring a suitable datasource
-in 32-bit ODBC from your configuration screen, make test should pass
-all tests succesfully. I use it for MS Access 97 databases and
-sofar this works fine.
-
-=back
-
-=head1 TODO
-
-Make both DBI and DBD::ODBC compile cleanly and
-make DBI pass all test cleanly on this platform.
-
-=head1 COLOFON
-
- Author: Teun Burgers
- E-mail: burgers@ecn.nl
- Date:   15-07-1999
-
-=cut


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: libodbccp32.a
@ 2000-08-09 21:53 Neil Lunn
  0 siblings, 0 replies; 17+ messages in thread
From: Neil Lunn @ 2000-08-09 21:53 UTC (permalink / raw)
  To: cwilson; +Cc: cygwin

>From: "Charles S. Wilson" <cwilson@ece.gatech.edu>
>
>But windows.h is already included:

Only because this Makefile.PL is already edited by me!

> > Thus #ifdef WIN32 get's true. Unless there's another way to do it!
>
>Sure. This is a major hack, but it ought to work:
>
>--- Makefile.PL.orig    Wed Aug  9 21:56:26 2000
>+       $opts{DEFINE} = "-mno-win32";


I'm not picky, that should work.

Time to post some patches. Thanks Chuck! (--got it right this time)


Neil
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: libodbccp32.a
  2000-08-09 18:38 libodbccp32.a Neil Lunn
@ 2000-08-09 19:12 ` Charles S. Wilson
  0 siblings, 0 replies; 17+ messages in thread
From: Charles S. Wilson @ 2000-08-09 19:12 UTC (permalink / raw)
  To: corrosion; +Cc: cygwin

Neil Lunn wrote:
> 
> >#ifdef WIN32
> >#  include "win32.h"
> >#endif
> >
> >That's "win32.h", not <win32.h>.  There's a file in
> ><perl-src>/win32/win32.h, which is probably copied up to the toplevel
> >during a win32-native configure. (I'm just guessing here)
> 
> That's about right!
> 
> >
> >The correct fix is probably to replace the #ifdef statement with:
> >
> >#if defined(WIN32) && !defined(__CYGWIN__)
> >
> 
> Agreed! or should win32.h copy in the perl build on cygwin? (read on)

No, I don't think so.

> 
> >But the presence of that #include "win32.h" has never cause me any build
> >trouble; it's odd that it would only cause difficulties when building
> >DBD::ODBC but not other modules.
> >
> Bit of a guess, isn't this a perl guts thing when creating the bootstrap for
> the module?
> 
> The typedefs in sqltype.h require windows.h so this include needs to be
> added to build of DBD::ODBC (Thus in Makefile.PL). Remembering this is the
> windows native ODBC driver manager being used and not a cygwin native.
> 

But windows.h is already included:

    if ($myodbc =~ /^MicroSoft ODBC/) {
        print "\nBuilding for MicroSoft under CygWin32\n";
        $opts{LIBS} = "";
        print SQLH "#include <windows.h>\n";
        print SQLH "#include <sql.h>\n";
        print SQLH "#include <sqlext.h>\n";
        $opts{dynamic_lib} = {OTHERLDFLAGS => "-lodbc32"};
    }

Do you get the "Building for MicroSoft under CygWin32" message when
doing "perl Makefile.PL" ?

> Thus #ifdef WIN32 get's true. Unless there's another way to do it!

Sure. This is a major hack, but it ought to work:

--- Makefile.PL.orig    Wed Aug  9 21:56:26 2000
+++ Makefile.PL Wed Aug  9 21:57:44 2000
@@ -79,6 +79,7 @@
        $tmp_odbchome =~ s/^([A-Za-z]):*$/\/\/$1/;
        $tmp_odbchome =~ s/\\/\//g;
        $odbchome = $tmp_odbchome if (-e "$tmp_odbchome/odbc.ini")
+       $opts{DEFINE} = "-mno-win32";
     }
 
     unless ($odbchome) {

Alternatively, you could say "-U_WIN32 -UWINNT" instead of "-mno-win32".

--Chuck

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: libodbccp32.a
@ 2000-08-09 18:38 Neil Lunn
  2000-08-09 19:12 ` libodbccp32.a Charles S. Wilson
  0 siblings, 1 reply; 17+ messages in thread
From: Neil Lunn @ 2000-08-09 18:38 UTC (permalink / raw)
  To: cwilson; +Cc: cygwin

[-- Attachment #1: Type: text/plain, Size: 1155 bytes --]

>#ifdef WIN32
>#  include "win32.h"
>#endif
>
>That's "win32.h", not <win32.h>.  There's a file in
><perl-src>/win32/win32.h, which is probably copied up to the toplevel
>during a win32-native configure. (I'm just guessing here)

That's about right!

>
>The correct fix is probably to replace the #ifdef statement with:
>
>#if defined(WIN32) && !defined(__CYGWIN__)
>

Agreed! or should win32.h copy in the perl build on cygwin? (read on)

>But the presence of that #include "win32.h" has never cause me any build
>trouble; it's odd that it would only cause difficulties when building
>DBD::ODBC but not other modules.
>
Bit of a guess, isn't this a perl guts thing when creating the bootstrap for 
the module?

The typedefs in sqltype.h require windows.h so this include needs to be 
added to build of DBD::ODBC (Thus in Makefile.PL). Remembering this is the 
windows native ODBC driver manager being used and not a cygwin native.

Thus #ifdef WIN32 get's true. Unless there's another way to do it!

Neil



________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com

[-- Attachment #2: Makefile.PL --]
[-- Type: text/x-perl, Size: 11961 bytes --]

#!/usr/local/bin/perl -sw
#
# $Id: Makefile.PL,v 1.11 1998/08/14 18:28:20 timbo Exp $
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
#
BEGIN { require 5.004 }	# 5.004 is required for Win32
use Config;
use ExtUtils::MakeMaker 5.16, qw(&WriteMakefile $Verbose);
use File::Basename;
use Getopt::Long;

use DBI 0.93;		# must be installed first
use DBI::DBD;
use strict;

my %opts = 
(
    NAME	=> 'DBD::ODBC',
    VERSION_FROM => 'ODBC.pm',
    clean	=> { FILES=> 'ODBC.xsi dbdodbc.h' },
    dist	=> {
	#DIST_DEFAULT=> 'clean distcheck disttest ci tardist',
	DIST_DEFAULT=> 'clean distcheck ci tardist',
	PREOP    => '$(MAKE) -f Makefile.old distdir',
	COMPRESS => 'gzip -v9', SUFFIX => 'gz'
    },
    OBJECT	=> '$(O_FILES)',
);
if ($ExtUtils::MakeMaker::VERSION >= 5.43) {
    $opts{AUTHOR} = 'Tim Bunce and Jeff Urlwin ( http://www.isc.org/dbi-lists.html )';
    $opts{ABSTRACT} = 'ODBC driver for the DBI module.';
    $opts{PREREQ_PM} = { DBI => 0 };
    $opts{CAPI} = 'TRUE' if $Config{archname} =~ /-object\b/i;
}

$::opt_g = 0;
$::opt_o = '';
GetOptions(qw(g! o=s)) or die "Invalid arguments";

$opts{OPTIMIZE} = '-g -O0' if $::opt_g;


print "\nConfiguring DBD::ODBC ...\n
>>>\tRemember to actually *READ* the README file!
   \tAnd re-read it if you have any problems.\n
";

my $dbi_dir      = dbd_dbi_dir();
my $dbi_arch_dir = dbd_dbi_arch_dir();

open(SQLH, ">dbdodbc.h") || die "Can't open dbdodbc.h: $!\n";
print SQLH "/* Do not edit this file. It is automatically written by Makefile.PL.\n";
print SQLH "   Any changes made here will be lost. \n*/\n\n";
print SQLH "#undef WORD /* from perly.y */\n";

if ($^O eq 'MSWin32') {
    my $extrainc = "";
    $extrainc = ";$Config{incpath}\\mfc" if $Config{cc} eq 'bcc32';
    $opts{SKIP} = ['processPL'];
    $opts{DEFINE}  = "";
    $opts{INC}  = "-I$dbi_arch_dir" . $extrainc;
    $opts{LIBS} = ["ODBC32.LIB"];
    $opts{macro}->{EXTRALIB} = 'ODBC32.LIB';
    print SQLH "#include <windows.h>\n";
    print SQLH "#include <sql.h> \n#include <sqlext.h>\n";
}
else {

    # for Adabas
    $ENV{ODBCHOME} = $ENV{DBROOT} if $ENV{DBROOT} && -f "$ENV{DBROOT}/lib/odbclib.a";

    my $odbchome= $::opt_o || $ENV{ODBCHOME};

    # per patches from Teun Burgers
    if (!$odbchome && $ENV{WINDIR} && $^O =~ /^cygwin/) {
	my $tmp_odbchome = $ENV{WINDIR};
	$tmp_odbchome =~ s/^([A-Za-z]):*$/\/\/$1/;
	$tmp_odbchome =~ s/\\/\//g;
	$odbchome = $tmp_odbchome if (-e "$tmp_odbchome/odbc.ini")
    }

    unless ($odbchome) {
	print "\n";
	print "The DBD::ODBC module needs to link with an ODBC 'Driver Manager'.\n";
	print "(The Driver Manager, in turn, needs one or more database specific ODBC drivers.\n";
	print "The DBD::ODBC module does _not_ include any ODBC drivers!)\n\n";
	print "You need to indicate where your ODBC Driver Manager is installed.\n";
	print "You can do this ether by setting the ODBCHOME environment variable\n";
	print "or by runing 'perl Makefile.PL -o odbcdir'.\n\n";
	print "If you do not have an ODBC Driver Manager you can try building\n";
	print "the free iODBC Driver Manager in the iodbcsrc directory.\n\n";
	die "Makefile.PL aborted.\n";
    }
    die "ODBCHOME environment variable ($odbchome) does not refer to a directory.\n"
	unless -d $odbchome;
    warn "Using ODBC in $odbchome\n";
    $opts{INC}  = "-I. -I$dbi_arch_dir";

    # Try to work out which driver manager is being used.
    # Feel free to come up with neat (or un-neat) hacks to get your's to build!

    my $lib_d1 = "$odbchome/lib";
    my $lib_d2 = "$odbchome/dlls";
    my $libs   = "odbc";
    $opts{LIBS} = " -L$lib_d1 -R$lib_d1 -L$lib_d2 -R$lib_d2 -l$libs";

    my $myodbc ='';	# edit and hack to suit!

    $myodbc = 'MicroSoft ODBC'
                 if (    -e "$odbchome/system/odbc32.dll" or
			 -e "$odbchome/system32/odbc32.dll" or
                         -e "$odbchome/odbc32.dll");
    # per patches from Nick Gorham
    $myodbc = 'unixodbc'
		if <$odbchome/lib/libodbc*>;

    $myodbc = 'iodbc'
		if (<$odbchome/*iodbc*> || <$odbchome/lib/*iodbc*>);

    $myodbc = 'esodbc'
		if <$odbchome/*esoobclient*>;

    $myodbc = 'empress'
		if <$odbchome/lib/libempodbc.*>;

    $myodbc = 'intersolve'
		if -f "$odbchome/include/qeodbc.h";

    $myodbc = 'adabas'
		if $ENV{DBROOT} && $odbchome eq $ENV{DBROOT} && -f "$odbchome/lib/odbclib.a";

    $myodbc = 'udbc'
    		if ($myodbc eq '' && <$odbchome/lib/libudbc.a>);

    $myodbc = 'easysoft'
	      if ($myodbc eq '' && -f "$odbchome/lib/libesoobclient.so");

    $myodbc = 'solid'
	      if ($myodbc eq '' && -f "$odbchome/lib/libsolcli.so");

    warn "\nUmm, this looks like a $myodbc type of driver manager.\n";

    if ($myodbc =~ /^MicroSoft ODBC/) {
	print "\nBuilding for MicroSoft under CygWin32\n";
	$opts{LIBS} = "";
    	print SQLH "#include <windows.h>\n";
        print SQLH "#include <sql.h>\n";
        print SQLH "#include <sqlext.h>\n";
        $opts{dynamic_lib} = {OTHERLDFLAGS => "-lodbc32"};
    }
    elsif ($myodbc eq 'iodbc') {
	my $ilibdir = "$odbchome/lib"; 
	my @ilibs = <$ilibdir/*iodbc*.*>;
	@ilibs = grep { /\.($Config{so}|$Config{dlext}|a)$/ } @ilibs;
	die "That's odd, I can't see any iodbc libs in $ilibdir" unless @ilibs;
	# This is a hack using Intersolve's free Solaris ODBC manager
	# Since it doesn't come with the sql header files (!) we get them from iODBC!
	# Note: we use DEFINE not INC for iODBC so we don't get its config.h
	print "\n";
	print "We expect to find the isql.h, isqlext.h and iodbc.h files (which were\n";
	print "supplied with iODBC) in \$ODBCHOME/include directory alongside\n";
	print "the @ilibs library.\n\n";
	my $ilibpath = $ilibs[0]; # XXX if both .so and .a, pick based on LINKTYPE?
	my $ilibname = basename($ilibpath);
	$opts{DEFINE} = "-I$odbchome/include";
	if ($ilibname =~ /^iodbc/) { # no "lib" prefix
	    $opts{LIBS} = "";
	    $opts{dynamic_lib} = { OTHERLDFLAGS => "$ilibpath" };
	}
	else {
	    # remove lib prefix and .so suffix so "-l" style link can be used
	    $ilibname =~ s/^lib(iodbc.*?)\.\w+$/$1/;
	    $opts{LIBS} = "-L$ilibdir -l$ilibname";

	    # changed /\Q$ilibpath/ to /\Q$ilibdir/ per recommendation
	    # by Ron Savage
	    warn "Warning: LD_LIBRARY_PATH doesn't include $odbchome/lib\n"
		unless $ENV{LD_LIBRARY_PATH} =~ /\Q$ilibdir/;
	}
	#print SQLH qq{#define FAR \n#define EXPORT \n#define CALLBACK \n};
	#print SQLH qq{#include <iodbc.h>\n};
	print SQLH qq{#include <isqlext.h>\n};
	print SQLH qq{#include <sql.h>\n};
	#print SQLH qq{#include "fixup_t.h"\n};
    }
    elsif ($myodbc eq 'unixodbc') {
	my @ilibs = <$odbchome/lib/*odbc*.*>;
	@ilibs = grep { /\.($Config{so}|$Config{dlext}|a)$/ } @ilibs;
	die "That's odd, I can't see any unixodbc libs in $odbchome" unless @ilibs;
	print "We expect to find the sql.h, sqlext.h and (which were\n";
	print "supplied with unixODBC) in \$ODBCHOME/include directory alongside\n";
	print "the @ilibs library. in \$ODBCHOME/lib\n\n";
	my $ilibpath = $ilibs[0]; # XXX if both .so and .a, pick based on LINKTYPE?
	my $ilibname = basename($ilibpath);
	$opts{DEFINE} = "-I$odbchome/include";
	if ($ilibname =~ /^odbc/) { # no "lib" prefix
	    $opts{LIBS} = "";
	    $opts{dynamic_lib} = { OTHERLDFLAGS => "$ilibpath" };
	}
	else {
	    # remove lib prefix and .so suffix so "-l" style link can be used
	    $ilibname =~ s/^lib(odbc.*?)\.\w+$/$1/;
	    $opts{LIBS} = "-L$odbchome/lib -l$ilibname";
	    warn "Warning: LD_LIBRARY_PATH doesn't include $odbchome\n"
		unless $ENV{LD_LIBRARY_PATH} =~ /\Q$odbchome\/lib/;
	}
	print SQLH qq{#include <sql.h>\n};
	print SQLH qq{#include <sqlext.h>\n};
    }
    elsif ($myodbc eq 'esodbc') {
	my @ilibs = <$odbchome/*esoobclient.*>;
	print "Located library @ilibs\n";
	@ilibs = grep { /\.($Config{so}|$Config{dlext}|a)$/ } @ilibs;
	die "That's odd, I can't see any esoobclient libs in $odbchome" unless @ilibs;
	print "We expect to find the sql.h and sqlext.h files (which were\n";
	print "supplied with esoobclient) in \$ODBCHOME\include directory alongside\n";
	print "the @ilibs library.\n\n";
	my $ilibpath = $ilibs[0]; # XXX if both .so and .a, pick based on LINKTYPE?
	my $ilibname = basename($ilibpath);
	print "Using library $ilibname\n";
	$opts{DEFINE} = "-I$odbchome/include";
	if ($ilibname =~ /^esoobclient/) { # no "lib" prefix
	    $opts{LIBS} = "";
	    $opts{dynamic_lib} = { OTHERLDFLAGS => "$ilibpath" };
	}
	else {
	    # remove lib prefix and .so suffix so "-l" style link can be used
	    $ilibname =~ s/^lib(esoobclient.*?)\.\w+$/$1/;
	    $opts{LIBS} = "-L$odbchome -l$ilibname";
	    warn "Warning: LD_LIBRARY_PATH doesn't include $odbchome\n"
		unless $ENV{LD_LIBRARY_PATH} =~ /\Q$odbchome/;
	}
	print SQLH qq{#define FAR \n#define EXPORT \n#define CALLBACK \n};
	print SQLH qq{#include <sqlext.h>\n};
	print SQLH qq{#include <sql.h>\n};
    }    
    elsif ($myodbc eq 'intersolve') {
	$opts{DEFINE}  = "";
  	print SQLH qq{#include <qeodbc.h>\n};
	if (-f "$odbchome/include/sql.h") {
	    print "You seem to have the official header files.\n";
	    $opts{INC} .= " -I$odbchome/include";
	    print SQLH qq{#include <sql.h> \n#include <sqlext.h>\n};
	}
	else {
	    # This is common on Solaris
	    print "You don't seem to have the official header files,\n";
	    print "so I'll use the iODBC ones instead.\n";
	    $opts{INC} .= " -I$odbchome/include -Iiodbcsrc";
	    print SQLH qq{#include <isql.h> \n#include <isqlext.h>\n};
	}
    }
    elsif ($myodbc eq 'empress') {
	$opts{INC} .= " -I$odbchome/include";
	$opts{DEFINE}  = "";
	print SQLH qq{#include <odbcsys.h>\n};
	print SQLH qq{#include <sql.h>\n#include <sqlext.h>\n};
	$opts{LIBS} = "-L$odbchome/lib -R$odbchome/lib -lempodbc";
    }
    elsif ($myodbc eq 'adabas') {
	print SQLH "#define FAR \n#define EXPORT \n#define CALLBACK \n";
	print SQLH "#include <WINDOWS.H>\n";
	print SQLH "#include <sql.h>\n";
	print SQLH "#include <sqlext.h>\n";
	$opts{INC} .= " -I$odbchome/incl";
	$opts{LIBS} = "-L$odbchome/lib -lsqlrte -lsqlptc";
	$opts{LDFROM} = "\$(OBJECT) $odbchome/lib/odbclib.a";
    }
    elsif ($myodbc eq 'udbc') {
        print SQLH qq{#include <libudbc.h>\n};
        $opts{INC} .= " -I$odbchome/include";
        $opts{DEFINE}  = "";
        $opts{LIBS} = "-L$odbchome/lib -R$odbchome/lib -ludbc";
    }
    elsif ($myodbc eq 'easysoft') {
        $opts{INC} .= " -I$odbchome/include";
        $opts{LIBS} = "-L$odbchome/lib -lesoobclient";
        print SQLH qq{#include <sql.h>\n#include <sqlext.h>\n};
    }
    elsif ($myodbc eq 'solid') {
        $opts{INC} .= " -I$odbchome/include";
        $opts{LIBS} = "-L$odbchome/lib -lsolcli";
	# Solid does not support DataSources
	print SQLH qq{#define DBD_ODBC_NO_DATASOURCES\n};
	# Solid does not support DataSources
	print SQLH qq{#define DBD_ODBC_NO_SQLDRIVERCONNECT\n};
        print SQLH qq{#include <cli0cli.h>\n};
    }
    else {
	print "\n*** WARNING ***\a\n";
	print "Unknown driver manager. Using default build process.\n";
	print "This will almost certainly fail at some point.\n";
	print "In which case you will need to edit/hack the Makefile.PL\n";
	print "to suit your needs. (Specifically to locate your odbc\n";
	print "library and header files.)\n\n";
	$opts{DEFINE}  = "";
	print SQLH qq{#include <sql.h> \n#include <sqlext.h>\n};
    }
}
print SQLH qq{\n};
print SQLH qq{#include "fixup_c.h"\n};
print SQLH qq{\n};
close(SQLH);

print "\n";
WriteMakefile(%opts);

local($^W)=0;
print qq{
The DBD::ODBC tests will use these values for the database connection:
    DBI_DSN=$ENV{DBI_DSN}		e.g. dbi:ODBC:demo
    DBI_USER=$ENV{DBI_USER}
    DBI_PASS=$ENV{DBI_PASS}
};
print "Warning: not all required environment variables are set.\n"
	unless ($ENV{DBI_DSN} && $ENV{DBI_USER} && $ENV{DBI_PASS});
print "Warning: DBI_DSN ($ENV{DBI_DSN}) doesn't start with 'dbi:ODBC:'\n"
	if ($ENV{DBI_DSN} && $ENV{DBI_DSN} !~ m/^dbi:ODBC:/);
print "\n";


sub MY::postamble {
    return dbd_postamble(@_);
}

__END__



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: libodbccp32.a
  2000-08-08 21:01 ` libodbccp32.a Chris Faylor
@ 2000-08-08 21:58   ` Charles S. Wilson
  0 siblings, 0 replies; 17+ messages in thread
From: Charles S. Wilson @ 2000-08-08 21:58 UTC (permalink / raw)
  To: cygwin; +Cc: cygwin

Chris Faylor wrote:
> >
> >Exactly right! Sometimes it takes someone else to state the obvious
> >before I see the problem.  Thanks Danny, Thanks Chris!
> 
> I think you mean Chuck, not Chris.

Whatever. 'sokay.

> 
> >The only thing is that this build was looking picked up a reference to
> >win32.h from perl.h. win32.h is not defined on a stock cygwin configuration,
> >I actually edited perl.h but I guess a symlink to windows.h would be just as
> >good.

No. perl.h has the following stanza:

#ifdef WIN32
#  include "win32.h"
#endif

That's "win32.h", not <win32.h>.  There's a file in
<perl-src>/win32/win32.h, which is probably copied up to the toplevel
during a win32-native configure. (I'm just guessing here)

The correct fix is probably to replace the #ifdef statement with:

#if defined(WIN32) && !defined(__CYGWIN__)

But the presence of that #include "win32.h" has never cause me any build
trouble; it's odd that it would only cause difficulties when building
DBD::ODBC but not other modules.

> >
> >Should that be standard in cygwin? Should this be an issue for the perl
> >porters? Or is this just another README!
> 
> I don't know why perl is expecting win32.h but this is not a standard windows
> header, AFAIK.  I don't think that cygwin has ever had a win32.h, either.

--Chuck

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: libodbccp32.a
  2000-08-08 20:49 libodbccp32.a Neil Lunn
@ 2000-08-08 21:01 ` Chris Faylor
  2000-08-08 21:58   ` libodbccp32.a Charles S. Wilson
  0 siblings, 1 reply; 17+ messages in thread
From: Chris Faylor @ 2000-08-08 21:01 UTC (permalink / raw)
  To: cygwin

On Wed, Aug 09, 2000 at 01:49:15PM -0500, Neil Lunn wrote:
>>All the symbols are from odbc32.dll, but in odbc32.dll they are exported as
>>aliases. This may be the problem:
>
>>The linker is trying to use /cygdrive/c/winnt/system32/odbc32.dll
>>instead of /usr/lib/libodbc32.a If so, the only thing visible in
>>odbc32.dll are the aliased names, without trailing @n.  Try -v to see
>>what libs are being linked in.
>
>Exactly right! Sometimes it takes someone else to state the obvious
>before I see the problem.  Thanks Danny, Thanks Chris!

I think you mean Chuck, not Chris.

>The only thing is that this build was looking picked up a reference to 
>win32.h from perl.h. win32.h is not defined on a stock cygwin configuration, 
>I actually edited perl.h but I guess a symlink to windows.h would be just as 
>good.
>
>Should that be standard in cygwin? Should this be an issue for the perl 
>porters? Or is this just another README!

I don't know why perl is expecting win32.h but this is not a standard windows
header, AFAIK.  I don't think that cygwin has ever had a win32.h, either.

cgf

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: libodbccp32.a
@ 2000-08-08 20:49 Neil Lunn
  2000-08-08 21:01 ` libodbccp32.a Chris Faylor
  0 siblings, 1 reply; 17+ messages in thread
From: Neil Lunn @ 2000-08-08 20:49 UTC (permalink / raw)
  To: danny_r_smith, cwilson; +Cc: cygwin

>All the symbols are from odbc32.dll, but in odbc32.dll they are exported as
>aliases. This may be the problem:

>The linker is trying to use /cygdrive/c/winnt/system32/odbc32.dll instead 
>of
>/usr/lib/libodbc32.a  If so, the only thing visible in odbc32.dll are the
>aliased names, without trailing @n.   Try -v to see what libs are being
>linked in.

Exactly right! Sometimes it takes someone else to state the obvious before I 
see the problem. Thanks Danny, Thanks Chris!

Don't even need libodbccp32, not for my purposes anyway. Of course all the 
functions should be defined in the odbc32 lib. I just wasn't looking at it. 
The present README.cygwin and Makefile patches are supplied by a user of an 
older distribution who just stuck in libodbccp32 because it was there.

No one seems to have mentioned this, so it's off to the DBI mailing list 
with patches and a new README. At least there be a note in the Archive.

The only thing is that this build was looking picked up a reference to 
win32.h from perl.h. win32.h is not defined on a stock cygwin configuration, 
I actually edited perl.h but I guess a symlink to windows.h would be just as 
good.

Should that be standard in cygwin? Should this be an issue for the perl 
porters? Or is this just another README!


I may come back to looking at linking to DLL's come the weekend, for now 
though that's another perl module down and done anyway.

Thanks All!
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: libodbccp32.a
@ 2000-08-08 14:42 Danny Smith
  0 siblings, 0 replies; 17+ messages in thread
From: Danny Smith @ 2000-08-08 14:42 UTC (permalink / raw)
  To: corrosion, cwilson; +Cc: cygwin

<SNIP>

>dllwrap --dllname ODBC.dll --driver-name gcc --dlltool dlltool
>--export-all-symbols --as as --output-def libODBC.def --output-lib 
>libODBC.a
>\
>-L/usr/local/lib ODBC.o dbdimp.o -lodbc32 -L/cygdrive/c/winnt/system32
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>-lodbccp32 /usr/local/lib/perl5/5.6.0/cygwin/CORE/libperl5_6_0.a -lodbc32
>dllwrap: no export definition file provided
>dllwrap: creating one, but that may not be what you want
>ODBC.o(.text+0x3800):ODBC.c: undefined reference to `SQLGetFunctions@12'
>ODBC.o(.text+0x39ce):ODBC.c: undefined reference to `SQLAllocEnv@4'
>ODBC.o(.text+0x3a5d):ODBC.c: undefined reference to `SQLDataSources@32'
<MORE OF SAME>


All the symbols are from odbc32.dll, but in odbc32.dll they are exported as 
aliases. This may be the problem:

The linker is trying to use /cygdrive/c/winnt/system32/odbc32.dll instead of 
/usr/lib/libodbc32.a  If so, the only thing visible in odbc32.dll are the 
aliased names, without trailing @n.   Try -v to see what libs are being 
linked in.

As I indicate earlier linking directly against dll only seems to work for 
__cdecl symbols, for *unaliased* __stdcall symbols, or for G++ symbols in 
all there mangled glory.

Regards
Danny



________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: libodbccp32.a
  2000-08-08  0:59 libodbccp32.a Neil Lunn
@ 2000-08-08  9:20 ` Charles S. Wilson
  0 siblings, 0 replies; 17+ messages in thread
From: Charles S. Wilson @ 2000-08-08  9:20 UTC (permalink / raw)
  To: corrosion; +Cc: danny_r_smith, cygwin, efifer

Neil Lunn wrote:
> 
> >It's not the 'newest binutils prerelease' anymore -- it's the newest
> >official cygwin release of binutils: binutils-20000722-1.
> >
> >To link, add these flags: '-L/cygdrive/<SYSTEMDRIVE>/WINNT/system
> >-lodbccp32'
> >
> >Hope it works.
> >
> >--Chuck
> 
> It wouldn't appear to be working!
> 
> I tried this out with trying to build the DBD::ODBC extention for Perl.
> After numerous hacks at the Makefile.PL (missing reference to windows.h) and
> even perl.h (scary, no cygwin! and a reference to win32.h that doesn't
> exist) I just get the great big list of undefined symbols.
> 
> Chuck, have you tried this and had better luck. 

No, I haven't tried to link to the 'regular' windows dll's. However, it
appears that all of your missing symbols are defined, complete with @N
decorations, in /usr/lib/libodbc32.a (the import lib).

> Be good to get this to work.

Sure. But I dunno how -- and my system isn't setup for building perl
modules just now. Eric, do you have any ideas?

I found out the following, though: on my NT system, I have the following
libraries: 
  odbccp32.dll
  odbccr32.dll
  odbcjt32.dll

It's 'odbcjt32.dll' that contains the symbols you're looking for.

On my W2K system, I have the following:

  odbc16gt.dll
  odbc32.dll
  odbc32gt.dll
  odbcbcp.dll
  odbcconf.dll
  odbccp32.dll
  odbccr32.dll
  odbccu32.dll
  odbcint.dll
  odbcji32.dll
  odbcjt32.dll
  odbctrac.dll
  sqlsodbc.dll
  vfpodbc.dll

At least, odbc32.dll *AND* odbcjt32.dll both contain the symbols you're
looking for. (Possibly there are others; use 'objdump -x My.dll' and
look in the '[Ordinal/Name Pointer] Table')

I do not know which of these dll's you *really* need to use. I'd imagine
you'll need to do some investigating at support.microsoft.com.  I
suspect that you want to install odbc32.dll on your system, so that
linking to libodbc32.a 'does the right thing'. 

> Makefiles and DOCS for DBD::ODBC could do with a cleanup.

Yup; however, perl module makefiles are usually generated by MakeMaker
-- so they're not too concerned about how 'pretty' they are.

--Chuck

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: libodbccp32.a
@ 2000-08-08  0:59 Neil Lunn
  2000-08-08  9:20 ` libodbccp32.a Charles S. Wilson
  0 siblings, 1 reply; 17+ messages in thread
From: Neil Lunn @ 2000-08-08  0:59 UTC (permalink / raw)
  To: cwilson, danny_r_smith; +Cc: cygwin

>It's not the 'newest binutils prerelease' anymore -- it's the newest
>official cygwin release of binutils: binutils-20000722-1.
>
>To link, add these flags: '-L/cygdrive/<SYSTEMDRIVE>/WINNT/system
>-lodbccp32'
>
>Hope it works.
>
>--Chuck

It wouldn't appear to be working!

I tried this out with trying to build the DBD::ODBC extention for Perl. 
After numerous hacks at the Makefile.PL (missing reference to windows.h) and 
even perl.h (scary, no cygwin! and a reference to win32.h that doesn't 
exist) I just get the great big list of undefined symbols.

Chuck, have you tried this and had better luck. Be good to get this to work. 
Makefiles and DOCS for DBD::ODBC could do with a cleanup.


Neil





mkdir blib
mkdir blib/lib
mkdir blib/lib/DBD
mkdir blib/arch
mkdir blib/arch/auto
mkdir blib/arch/auto/DBD
mkdir blib/arch/auto/DBD/ODBC
mkdir blib/lib/auto
mkdir blib/lib/auto/DBD
mkdir blib/lib/auto/DBD/ODBC
mkdir blib/man3
cp ODBC.pm blib/lib/DBD/ODBC.pm
/usr/local/bin/perl -p -e "s/~DRIVER~/ODBC/g" < 
/usr/local/lib/perl5/site_perl/5.6.0/cygwin/auto/DBI/Driver.xst > ODBC.xsi
/usr/local/bin/perl -I/usr/local/lib/perl5/5.6.0/cygwin 
-I/usr/local/lib/perl5/5.6.0 /usr/local/lib/perl5/5.6.0/ExtUtils/xsubpp  
-typemap /usr/local/lib/perl5/5.6.0/ExtUtils/typemap ODBC.xs > ODBC.xsc && 
mv ODBC.xsc ODBC.c
gcc -c -I. -I/usr/local/lib/perl5/site_perl/5.6.0/cygwin/auto/DBI 
-fno-strict-aliasing -I/usr/local/include -DUSEIMPORTLIB -O     
-DVERSION=\"0.28\" -DXS_VERSION=\"0.28\"  
-I/usr/local/lib/perl5/5.6.0/cygwin/CORE  ODBC.c
gcc -c -I. -I/usr/local/lib/perl5/site_perl/5.6.0/cygwin/auto/DBI 
-fno-strict-aliasing -I/usr/local/include -DUSEIMPORTLIB -O     
-DVERSION=\"0.28\" -DXS_VERSION=\"0.28\"  
-I/usr/local/lib/perl5/5.6.0/cygwin/CORE  dbdimp.c
Running Mkbootstrap for DBD::ODBC ()
chmod 644 ODBC.bs
LD_RUN_PATH="/usr/lib" ld2 -o blib/arch/auto/DBD/ODBC/ODBC.dll  
-L/usr/local/lib ODBC.o dbdimp.o -lodbc32 -L/cygdrive/c/winnt/system32 
-lodbccp32  /usr/local/lib/perl5/5.6.0/cygwin/CORE/libperl5_6_0.a -lodbc32
dllwrap --dllname ODBC.dll --driver-name gcc --dlltool dlltool 
--export-all-symbols --as as --output-def libODBC.def --output-lib libODBC.a 
\
-L/usr/local/lib ODBC.o dbdimp.o -lodbc32 -L/cygdrive/c/winnt/system32 
-lodbccp32 /usr/local/lib/perl5/5.6.0/cygwin/CORE/libperl5_6_0.a -lodbc32
dllwrap: no export definition file provided
dllwrap: creating one, but that may not be what you want
ODBC.o(.text+0x3800):ODBC.c: undefined reference to `SQLGetFunctions@12'
ODBC.o(.text+0x39ce):ODBC.c: undefined reference to `SQLAllocEnv@4'
ODBC.o(.text+0x3a5d):ODBC.c: undefined reference to `SQLDataSources@32'
ODBC.o(.text+0x3ad3):ODBC.c: undefined reference to `SQLFreeEnv@4'
dbdimp.o(.text+0x15c):dbdimp.c: undefined reference to `SQLFreeStmt@8'
dbdimp.o(.text+0x1a4):dbdimp.c: undefined reference to `SQLRowCount@8'
dbdimp.o(.text+0x524):dbdimp.c: undefined reference to `SQLAllocEnv@4'
dbdimp.o(.text+0x567):dbdimp.c: undefined reference to `SQLAllocConnect@8'
dbdimp.o(.text+0x59c):dbdimp.c: undefined reference to `SQLFreeEnv@4'
dbdimp.o(.text+0x60e):dbdimp.c: undefined reference to `SQLDriverConnect@32'
dbdimp.o(.text+0x658):dbdimp.c: undefined reference to `SQLError@32'
dbdimp.o(.text+0x701):dbdimp.c: undefined reference to `SQLConnect@28'
dbdimp.o(.text+0x730):dbdimp.c: undefined reference to `SQLFreeConnect@4'
dbdimp.o(.text+0x749):dbdimp.c: undefined reference to `SQLFreeEnv@4'
dbdimp.o(.text+0x76b):dbdimp.c: undefined reference to 
`SQLSetConnectOption@12'
dbdimp.o(.text+0x79a):dbdimp.c: undefined reference to `SQLFreeConnect@4'
dbdimp.o(.text+0x7b3):dbdimp.c: undefined reference to `SQLFreeEnv@4'
dbdimp.o(.text+0x8c3):dbdimp.c: undefined reference to `SQLDisconnect@4'
dbdimp.o(.text+0x8ee):dbdimp.c: undefined reference to `SQLFreeConnect@4'
dbdimp.o(.text+0x90d):dbdimp.c: undefined reference to `SQLFreeEnv@4'
dbdimp.o(.text+0x94f):dbdimp.c: undefined reference to `SQLTransact@12'
dbdimp.o(.text+0x9af):dbdimp.c: undefined reference to `SQLTransact@12'
dbdimp.o(.text+0xe22):dbdimp.c: undefined reference to `SQLError@32'
dbdimp.o(.text+0x14c7):dbdimp.c: undefined reference to `SQLAllocStmt@8'
dbdimp.o(.text+0x1566):dbdimp.c: undefined reference to `SQLTables@36'
dbdimp.o(.text+0x15d6):dbdimp.c: undefined reference to `SQLFreeStmt@8'
dbdimp.o(.text+0x1675):dbdimp.c: undefined reference to `SQLAllocStmt@8'
dbdimp.o(.text+0x16ca):dbdimp.c: undefined reference to `SQLPrepare@12'
dbdimp.o(.text+0x16f4):dbdimp.c: undefined reference to `SQLFreeStmt@8'
dbdimp.o(.text+0x1d4b):dbdimp.c: undefined reference to `SQLNumResultCols@8'
dbdimp.o(.text+0x1eb2):dbdimp.c: undefined reference to `SQLDescribeCol@36'
dbdimp.o(.text+0x1ef9):dbdimp.c: undefined reference to 
`SQLColAttributes@28'
dbdimp.o(.text+0x1f2d):dbdimp.c: undefined reference to 
`SQLColAttributes@28'
dbdimp.o(.text+0x2166):dbdimp.c: undefined reference to `SQLDescribeCol@36'
dbdimp.o(.text+0x21cf):dbdimp.c: undefined reference to `SQLBindCol@24'
dbdimp.o(.text+0x235d):dbdimp.c: undefined reference to `SQLExecute@4'
dbdimp.o(.text+0x2378):dbdimp.c: undefined reference to `SQLParamData@8'
dbdimp.o(.text+0x23cd):dbdimp.c: undefined reference to `SQLPutData@12'
dbdimp.o(.text+0x240b):dbdimp.c: undefined reference to `SQLRowCount@8'
dbdimp.o(.text+0x269b):dbdimp.c: undefined reference to `SQLFetch@4'
dbdimp.o(.text+0x26f9):dbdimp.c: undefined reference to `SQLGetFunctions@12'
dbdimp.o(.text+0x274d):dbdimp.c: undefined reference to `SQLMoreResults@4'
dbdimp.o(.text+0x2ace):dbdimp.c: undefined reference to `SQLFreeStmt@8'
dbdimp.o(.text+0x2ba2):dbdimp.c: undefined reference to `SQLFreeStmt@8'
dbdimp.o(.text+0x2f89):dbdimp.c: undefined reference to 
`SQLDescribeParam@24'
dbdimp.o(.text+0x314a):dbdimp.c: undefined reference to 
`SQLBindParameter@40'
dbdimp.o(.text+0x366d):dbdimp.c: undefined reference to `SQLGetData@24'
dbdimp.o(.text+0x394c):dbdimp.c: undefined reference to 
`SQLSetConnectOption@12'
dbdimp.o(.text+0x3aec):dbdimp.c: undefined reference to 
`SQLGetConnectOption@12'
dbdimp.o(.text+0x401f):dbdimp.c: undefined reference to 
`SQLGetCursorName@16'
dbdimp.o(.text+0x422d):dbdimp.c: undefined reference to `SQLGetInfo@20'
dbdimp.o(.text+0x4419):dbdimp.c: undefined reference to `SQLAllocStmt@8'
dbdimp.o(.text+0x4487):dbdimp.c: undefined reference to `SQLStatistics@36'
dbdimp.o(.text+0x4579):dbdimp.c: undefined reference to `SQLAllocStmt@8'
dbdimp.o(.text+0x45e0):dbdimp.c: undefined reference to `SQLPrimaryKeys@28'
dbdimp.o(.text+0x46dd):dbdimp.c: undefined reference to `SQLAllocStmt@8'
dbdimp.o(.text+0x4757):dbdimp.c: undefined reference to 
`SQLSpecialColumns@40'
dbdimp.o(.text+0x4859):dbdimp.c: undefined reference to `SQLAllocStmt@8'
dbdimp.o(.text+0x490c):dbdimp.c: undefined reference to `SQLForeignKeys@52'
dbdimp.o(.text+0x49a2):dbdimp.c: undefined reference to `SQLDescribeCol@36'
dbdimp.o(.text+0x4a5b):dbdimp.c: undefined reference to `SQLAllocStmt@8'
dbdimp.o(.text+0x4aeb):dbdimp.c: undefined reference to `SQLGetTypeInfo@8'
dbdimp.o(.text+0x4b2a):dbdimp.c: undefined reference to `SQLFreeStmt@8'
dbdimp.o(.text+0x4ba5):dbdimp.c: undefined reference to `SQLCancel@4'
dbdimp.o(.text+0x4d86):dbdimp.c: undefined reference to 
`SQLColAttributes@28'
dbdimp.o(.text+0x4fd0):dbdimp.c: undefined reference to `SQLAllocStmt@8'
dbdimp.o(.text+0x5140):dbdimp.c: undefined reference to `SQLColumns@36'
dbdimp.o(.text+0x51d6):dbdimp.c: undefined reference to `SQLFreeStmt@8'
/usr/lib/libcygwin.a(_cygwin_crt0_common.o)(.text+0xde):_cygwin_crt0_common.cc: 
undefined reference to `GetModuleHandleA@4'
collect2: ld returned 1 exit status
dllwrap: gcc exited with status 1
perlld: *** system() failed to execute
dllwrap --dllname ODBC.dll --driver-name gcc --dlltool dlltool 
--export-all-symbols --as as --output-def libODBC.def --output-lib libODBC.a 
\
-L/usr/local/lib ODBC.o dbdimp.o -lodbc32 -L/cygdrive/c/winnt/system32 
-lodbccp32 /usr/local/lib/perl5/5.6.0/cygwin/CORE/libperl5_6_0.a -lodbc32

make: *** [blib/arch/auto/DBD/ODBC/ODBC.dll] Error 1



________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: libodbccp32.a
  2000-08-07  3:03 libodbccp32.a Neil Lunn
@ 2000-08-07  6:24 ` Charles S. Wilson
  0 siblings, 0 replies; 17+ messages in thread
From: Charles S. Wilson @ 2000-08-07  6:24 UTC (permalink / raw)
  To: corrosion; +Cc: danny_r_smith, cygwin

Neil Lunn wrote:
> 
> >>
> >>I seem not to have this in the 1.1 distribution. Is there another valid
> >>source?
> >>
> >>Neil
> >>
> >
> >Well... here is a "last resort" case.  Try linking directly to odbccp32.dll
> >directly without an import lib but with *newest* binutils prerelease.
> >Danny
> >
> 
> I only just got back to this! Any special flags for doing so. *now I seem to
> be at a last resort*

It's not the 'newest binutils prerelease' anymore -- it's the newest
official cygwin release of binutils: binutils-20000722-1.

To link, add these flags: '-L/cygdrive/<SYSTEMDRIVE>/WINNT/system
-lodbccp32'

Hope it works.

--Chuck

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: libodbccp32.a
@ 2000-08-07  3:03 Neil Lunn
  2000-08-07  6:24 ` libodbccp32.a Charles S. Wilson
  0 siblings, 1 reply; 17+ messages in thread
From: Neil Lunn @ 2000-08-07  3:03 UTC (permalink / raw)
  To: danny_r_smith, corrosion, cygwin

>>
>>I seem not to have this in the 1.1 distribution. Is there another valid
>>source?
>>
>>Neil
>>
>
>Well... here is a "last resort" case.  Try linking directly to odbccp32.dll
>directly without an import lib but with *newest* binutils prerelease.
>Danny
>

I only just got back to this! Any special flags for doing so. *now I seem to 
be at a last resort*

Neil

________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: libodbccp32.a
@ 2000-07-24 12:59 Danny Smith
  0 siblings, 0 replies; 17+ messages in thread
From: Danny Smith @ 2000-07-24 12:59 UTC (permalink / raw)
  To: corrosion, cygwin

>From: "Neil Lunn" <corrosion99@hotmail.com>
>Reply-To: corrosion@connect.to
>To: cygwin@sourceware.cygnus.com
>Subject: libodbccp32.a
>Date: Mon, 24 Jul 2000 21:35:19 EST
>
>I seem not to have this in the 1.1 distribution. Is there another valid
>source?
>
>Neil
>

Well... here is a "last resort" case.  Try linking directly to odbccp32.dll 
directly without an import lib but with *newest* binutils prerelease.
Danny

>
>________________________________________________________________________
>Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com
>
>
>--
>Want to unsubscribe from this list?
>Send a message to cygwin-unsubscribe@sourceware.cygnus.com
>

________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* libodbccp32.a
@ 2000-07-24  4:35 Neil Lunn
  0 siblings, 0 replies; 17+ messages in thread
From: Neil Lunn @ 2000-07-24  4:35 UTC (permalink / raw)
  To: cygwin

I seem not to have this in the 1.1 distribution. Is there another valid 
source?

Neil


________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* RE: libodbccp32.a
@ 2000-05-16 12:41 Mark Schoenberg
  0 siblings, 0 replies; 17+ messages in thread
From: Mark Schoenberg @ 2000-05-16 12:41 UTC (permalink / raw)
  To: cygwin

reproduced below:

     What happened to the library libodbccp32.a that existed in B20?  Is it no
longer necessary in 1.1.0?  I don't seem to have it in my 1.1.0 installation.


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2000-08-10  8:00 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-08-07 14:28 libodbccp32.a Danny Smith
  -- strict thread matches above, loose matches on Subject: below --
2000-08-10  8:00 libodbccp32.a Earnie Boyd
2000-08-10  7:06 libodbccp32.a Fifer, Eric
2000-08-09 21:53 libodbccp32.a Neil Lunn
2000-08-09 18:38 libodbccp32.a Neil Lunn
2000-08-09 19:12 ` libodbccp32.a Charles S. Wilson
2000-08-08 20:49 libodbccp32.a Neil Lunn
2000-08-08 21:01 ` libodbccp32.a Chris Faylor
2000-08-08 21:58   ` libodbccp32.a Charles S. Wilson
2000-08-08 14:42 libodbccp32.a Danny Smith
2000-08-08  0:59 libodbccp32.a Neil Lunn
2000-08-08  9:20 ` libodbccp32.a Charles S. Wilson
2000-08-07  3:03 libodbccp32.a Neil Lunn
2000-08-07  6:24 ` libodbccp32.a Charles S. Wilson
2000-07-24 12:59 libodbccp32.a Danny Smith
2000-07-24  4:35 libodbccp32.a Neil Lunn
2000-05-16 12:41 libodbccp32.a Mark Schoenberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).