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

Reinier Olislagers reinierolislagers at gmail.com
Mon Jul 16 16:53:53 CEST 2012


On 16-7-2012 15:58, Reinier Olislagers wrote:
> 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

Whoopsie, error in the patch: this:
> - 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
wasn't true... I had mixed some very similar but different paths.
New patches attached.

FPC trunk compiles for me with this patch (x86) on Windows.

Sorry,
Reinier
-------------- next part --------------
Index: packages/fcl-db/fpmake.pp
===================================================================
--- packages/fcl-db/fpmake.pp	(revision 21920)
+++ 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
@@ -46,7 +47,7 @@
     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');
@@ -71,7 +72,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 +420,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 +638,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 21920)
+++ 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
@@ -46,7 +47,7 @@
     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');
@@ -71,7 +72,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 +420,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 +638,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