[fpc-pascal] Re: RE : Database problem on Solaris SPARC

Reinier Olislagers reinierolislagers at gmail.com
Mon Jul 16 15:58:38 CEST 2012


On 16-7-2012 15:15, michael.vancanneyt-0Is9KJ9Sb0A at public.gmane.org wrote:
> 
> 
> On Mon, 16 Jul 2012, Mark Morgan Lloyd wrote:
> 
>> michael.vancanneyt-0Is9KJ9Sb0A at public.gmane.org wrote:
>>
>>>> On a side note:
>>>> My quoted paragraph doesn't mention FreeBSD, but I have successfully
>>>> ran Firebird Server & clients under FreeBSD 9.0 on x86, and there are
>>>> FreeBSD downloads on the Firebird website for 2.1.x and older. So just
>>>> because the latest version doesn't contain a download for a specific
>>>> OS+CPU, doesn't make it "not supported".  Firebird rocks! :)
>>>
>>> That means we should compile & distribute IBase and ibconnection in FPC,
>>> because I think currently they are not.
>>
>> On a Solaris SPARC system, looking at /usr/local/lib/fpc,
<snip>
>> i.e. it's in 2.6.1 but isn't being built in 2.7.1 (trunk).
<snip>
> Apparently, it is available for your platform too.
> 
> Strange that it was removed from trunk, though. We'll need to re-enable it.
> Maybe it is the switch to fpmake that caused this.
> 
> Michael.

Not sure if this is where I should be looking but:
Trunk
\packages\fcl-db
SqldbConnectionOSes =
[beos,haiku,linux,freebsd,win32,win64,wince,darwin,iphonesim,netbsd,openbsd,aix];
SqldbWithoutPostgresOSes = [win64];

Mmmm... no solaris in there?!? Suggesting no PostgreSQL, Interbase at
all for solaris in trunk!??!

later on
P.SourcePath.Add('src/sqldb/postgres',
SqldbConnectionOSes-SqldbWithoutPostgresOSes);
and
P.SourcePath.Add('src/sqldb/interbase', SqldbConnectionOSes);
... suggesting that if you have postgresql, you should have
interbase/firebird (except on windows64)


Patch attached that adds solaris to SQLDBConnectionOSes [3], but no idea
if it fixes the issue... and if the resulting additional database
drivers/code, e.g.:
examples
src/sqldb/mysql
src/sqldb/odbc
would be correct

Note: FreeTDS can probably also be built for Solaris [1]; an older
binary release for both Solaris and x86 indicates it must at least have
been possible [2]
If so, adding this makes sense in order to get Sybase ASE and MS SQL
Server support (the latter obviously client-only). Even if you don't
have freetds, compiling the mssqlconn unit won't hurt, I'd think.

Also:
- cleaned up throwing in Oracle with PostgreSQL: separated constant
- sorted constants lines so it's easier to see what OSes get what
- added mssqlconn support (added solaris to MSSQLOSes)
- merged
P.SourcePath.Add('src/sqldb/sqlite', SqldbConnectionOSes);
P.SourcePath.Add('src/sqldb/sqlite', SqliteOSes);
into
P.SourcePath.Add('src/sqldb/sqlite', SqldbConnectionOSes+SqliteOSes);
for clarity on who gets sqlite


Question: shouldn't this line
P.SourcePath.Add('src/dbase');
be changed into
P.SourcePath.Add('src/dbase', DBaseOSes);
or do other units also depend on code in src/dbase


[1]
http://stackoverflow.com/questions/704631/access-sql-server-from-solaris
[2]
http://www.ibiblio.org/pub/packages/solaris/sparc/
[3]
Both original (DOS EOL) and Unix line ending versions
-------------- next part --------------
Index: packages/fcl-db/fpmake.pp
===================================================================
--- packages/fcl-db/fpmake.pp	(revision 21919)
+++ packages/fcl-db/fpmake.pp	(working copy)
@@ -9,11 +9,12 @@
 
 const
   ParadoxOSes         = [beos,haiku,linux,freebsd,netbsd,openbsd,win32];
-  DatadictOSes        = [beos,haiku,linux,freebsd,win32,win64,wince,darwin,aix];
-  SqldbConnectionOSes = [beos,haiku,linux,freebsd,win32,win64,wince,darwin,iphonesim,netbsd,openbsd,aix];
-  SqliteOSes          = [beos,haiku,linux,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,win32,wince,aix];
-  DBaseOSes           = [beos,haiku,linux,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,win32,win64,wince,aix];
-  MSSQLOSes           = [beos,haiku,linux,freebsd,netbsd,openbsd,win32,win64];
+  DatadictOSes        = [aix,beos,darwin,haiku,linux,freebsd,win32,win64,wince];
+  SqldbConnectionOSes = [aix,beos,haiku,linux,freebsd,darwin,iphonesim,netbsd,openbsd,solaris,win32,win64,wince];
+  SqliteOSes          = [aix,beos,haiku,linux,freebsd,darwin,iphonesim,netbsd,openbsd,solaris,win32,wince];
+  DBaseOSes           = [aix,beos,haiku,linux,freebsd,darwin,iphonesim,netbsd,openbsd,solaris,win32,win64,wince];
+  MSSQLOSes           = [beos,haiku,linux,freebsd,netbsd,openbsd,solaris,win32,win64];
+  SqldbWithoutOracleOSes   = [win64];
   SqldbWithoutPostgresOSes = [win64];
 
 Var
@@ -41,12 +42,12 @@
     P.SourcePath.Add('src/paradox', ParadoxOSes);
     P.SourcePath.Add('src/sqldb');
     P.SourcePath.Add('src/sqldb/postgres', SqldbConnectionOSes-SqldbWithoutPostgresOSes);
-    P.SourcePath.Add('src/sqldb/sqlite', SqldbConnectionOSes);
+    P.SourcePath.Add('src/sqldb/sqlite', SqldbConnectionOSes+SqliteOSes);
     P.SourcePath.Add('src/sqldb/interbase', SqldbConnectionOSes);
     P.SourcePath.Add('src/sqldb/mysql', SqldbConnectionOSes);
     P.SourcePath.Add('src/sqldb/odbc', SqldbConnectionOSes);
     P.SourcePath.Add('src/sqldb/examples', SqldbConnectionOSes);
-    P.SourcePath.Add('src/sqldb/oracle', SqldbConnectionOSes-SqldbWithoutPostgresOSes);
+    P.SourcePath.Add('src/sqldb/oracle', SqldbConnectionOSes-SqldbWithoutOracleOSes);
     P.SourcePath.Add('src/sqldb/mssql', MSSQLOSes);
     P.SourcePath.Add('src/sdf');
     P.SourcePath.Add('src/json');
@@ -54,7 +55,6 @@
     P.SourcePath.Add('src/memds');
     P.SourcePath.Add('src/codegen', DatadictOSes);
     P.SourcePath.Add('src/export', DatadictOSes);
-    P.SourcePath.Add('src/sqlite', SqliteOSes);
     P.SourcePath.Add('src/dbase');
     P.IncludePath.Add('src/base');
     P.IncludePath.Add('src/sqldb');
@@ -71,7 +71,7 @@
     P.Dependencies.Add('ibase', SqldbConnectionOSes);
     P.Dependencies.Add('mysql', SqldbConnectionOSes);
     P.Dependencies.Add('odbc', SqldbConnectionOSes);
-    P.Dependencies.Add('oracle', SqldbConnectionOSes-SqldbWithoutPostgresOSes);
+    P.Dependencies.Add('oracle', SqldbConnectionOSes-SqldbWithoutOracleOSes);
     P.Dependencies.Add('postgres', SqldbConnectionOSes-SqldbWithoutPostgresOSes);
     P.Dependencies.Add('sqlite', SqldbConnectionOSes+SqliteOSes);
     P.Dependencies.Add('dblib', MSSQLOSes);
@@ -419,7 +419,7 @@
           AddUnit('fpddsqldb');
           AddUnit('odbcconn');
         end;
-    T:=P.Targets.AddUnit('fpddoracle.pp', DatadictOSes-SqldbWithoutPostgresOSes);
+    T:=P.Targets.AddUnit('fpddoracle.pp', DatadictOSes-SqldbWithoutOracleOSes);
       with T.Dependencies do
         begin
           AddUnit('sqldb');
@@ -637,7 +637,7 @@
           AddUnit('bufdataset');
           AddUnit('dbconst');
         end;
-    T:=P.Targets.AddUnit('oracleconnection.pp', SqldbConnectionOSes-SqldbWithoutPostgresOSes);
+    T:=P.Targets.AddUnit('oracleconnection.pp', SqldbConnectionOSes-SqldbWithoutOracleOSes);
     T.ResourceStrings:=true;
       with T.Dependencies do
         begin
-------------- next part --------------
Index: packages/fcl-db/fpmake.pp
===================================================================
--- packages/fcl-db/fpmake.pp	(revision 21919)
+++ packages/fcl-db/fpmake.pp	(working copy)
@@ -9,11 +9,12 @@
 
 const
   ParadoxOSes         = [beos,haiku,linux,freebsd,netbsd,openbsd,win32];
-  DatadictOSes        = [beos,haiku,linux,freebsd,win32,win64,wince,darwin,aix];
-  SqldbConnectionOSes = [beos,haiku,linux,freebsd,win32,win64,wince,darwin,iphonesim,netbsd,openbsd,aix];
-  SqliteOSes          = [beos,haiku,linux,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,win32,wince,aix];
-  DBaseOSes           = [beos,haiku,linux,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,win32,win64,wince,aix];
-  MSSQLOSes           = [beos,haiku,linux,freebsd,netbsd,openbsd,win32,win64];
+  DatadictOSes        = [aix,beos,darwin,haiku,linux,freebsd,win32,win64,wince];
+  SqldbConnectionOSes = [aix,beos,haiku,linux,freebsd,darwin,iphonesim,netbsd,openbsd,solaris,win32,win64,wince];
+  SqliteOSes          = [aix,beos,haiku,linux,freebsd,darwin,iphonesim,netbsd,openbsd,solaris,win32,wince];
+  DBaseOSes           = [aix,beos,haiku,linux,freebsd,darwin,iphonesim,netbsd,openbsd,solaris,win32,win64,wince];
+  MSSQLOSes           = [beos,haiku,linux,freebsd,netbsd,openbsd,solaris,win32,win64];
+  SqldbWithoutOracleOSes   = [win64];
   SqldbWithoutPostgresOSes = [win64];
 
 Var
@@ -41,12 +42,12 @@
     P.SourcePath.Add('src/paradox', ParadoxOSes);
     P.SourcePath.Add('src/sqldb');
     P.SourcePath.Add('src/sqldb/postgres', SqldbConnectionOSes-SqldbWithoutPostgresOSes);
-    P.SourcePath.Add('src/sqldb/sqlite', SqldbConnectionOSes);
+    P.SourcePath.Add('src/sqldb/sqlite', SqldbConnectionOSes+SqliteOSes);
     P.SourcePath.Add('src/sqldb/interbase', SqldbConnectionOSes);
     P.SourcePath.Add('src/sqldb/mysql', SqldbConnectionOSes);
     P.SourcePath.Add('src/sqldb/odbc', SqldbConnectionOSes);
     P.SourcePath.Add('src/sqldb/examples', SqldbConnectionOSes);
-    P.SourcePath.Add('src/sqldb/oracle', SqldbConnectionOSes-SqldbWithoutPostgresOSes);
+    P.SourcePath.Add('src/sqldb/oracle', SqldbConnectionOSes-SqldbWithoutOracleOSes);
     P.SourcePath.Add('src/sqldb/mssql', MSSQLOSes);
     P.SourcePath.Add('src/sdf');
     P.SourcePath.Add('src/json');
@@ -54,7 +55,6 @@
     P.SourcePath.Add('src/memds');
     P.SourcePath.Add('src/codegen', DatadictOSes);
     P.SourcePath.Add('src/export', DatadictOSes);
-    P.SourcePath.Add('src/sqlite', SqliteOSes);
     P.SourcePath.Add('src/dbase');
     P.IncludePath.Add('src/base');
     P.IncludePath.Add('src/sqldb');
@@ -71,7 +71,7 @@
     P.Dependencies.Add('ibase', SqldbConnectionOSes);
     P.Dependencies.Add('mysql', SqldbConnectionOSes);
     P.Dependencies.Add('odbc', SqldbConnectionOSes);
-    P.Dependencies.Add('oracle', SqldbConnectionOSes-SqldbWithoutPostgresOSes);
+    P.Dependencies.Add('oracle', SqldbConnectionOSes-SqldbWithoutOracleOSes);
     P.Dependencies.Add('postgres', SqldbConnectionOSes-SqldbWithoutPostgresOSes);
     P.Dependencies.Add('sqlite', SqldbConnectionOSes+SqliteOSes);
     P.Dependencies.Add('dblib', MSSQLOSes);
@@ -419,7 +419,7 @@
           AddUnit('fpddsqldb');
           AddUnit('odbcconn');
         end;
-    T:=P.Targets.AddUnit('fpddoracle.pp', DatadictOSes-SqldbWithoutPostgresOSes);
+    T:=P.Targets.AddUnit('fpddoracle.pp', DatadictOSes-SqldbWithoutOracleOSes);
       with T.Dependencies do
         begin
           AddUnit('sqldb');
@@ -637,7 +637,7 @@
           AddUnit('bufdataset');
           AddUnit('dbconst');
         end;
-    T:=P.Targets.AddUnit('oracleconnection.pp', SqldbConnectionOSes-SqldbWithoutPostgresOSes);
+    T:=P.Targets.AddUnit('oracleconnection.pp', SqldbConnectionOSes-SqldbWithoutOracleOSes);
     T.ResourceStrings:=true;
       with T.Dependencies do
         begin


More information about the fpc-pascal mailing list