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

Reinier Olislagers reinierolislagers at gmail.com
Mon Jul 16 20:24:51 CEST 2012


On 16-7-2012 18:41, Mark Morgan Lloyd wrote:
> Reinier Olislagers wrote:
> 
>> 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.
> 
> In Solaris/SPARC,
> 
> ..
> Assembling oracleconnection
> Compiling ./fcl-db/src/sqldb/postgres/pqconnection.pp
> Writing Resource String Table file: pqconnection.rst
> Assembling pqconnection
> Compiling ./fcl-db/src/sqldb/postgres/pqeventmonitor.pp
> Writing Resource String Table file: pqeventmonitor.rst
> Assembling pqeventmonitor
> Compiling ./fcl-db/src/sqldb/mssql/mssqlconn.pp
> mssqlconn.pp(43,3) Fatal: Can't find unit dblib used by mssqlconn
> Fatal: Compilation aborted
> 
> gmake[2]: *** [all] Error 1
> gmake[2]: Leaving directory
> `/export/home/local-src/fpc/fpcbuild-2.7.1/fpcsrc/packages'
> gmake[1]: *** [packages_all] Error 2
> gmake[1]: Leaving directory
> `/export/home/local-src/fpc/fpcbuild-2.7.1/fpcsrc'
> gmake: *** [build-stamp.sparc-solaris] Error 2
> 
> Have I missed any stages out: applied patch successfully, make
> distclean, make all?

Blast, I'm sorry... missed the dblib unit that is required for FreeTDS...:

which requires adding solaris: from
  DBLibOSes         = [linux,freebsd,netbsd,openbsd,win32,win64,haiku];
to
  DBLibOSes         =
[linux,freebsd,netbsd,openbsd,solaris,win32,win64,haiku];


Going to have a look at Oracle and mysql units as well then.
Mysql: looked at packages\mysql; no idea what if anything to change there.

Oracle packages\oracle\fpmake.pp shows
P.OSes := AllUnixOSes+AllWindowsOSes-[qnx];
which sounds reasonable, so no changes
Likewise for packages\ODBC
Likewise for packages\ibase (Interbase/Firebird)
Likewise for packages\postgres
Likewise for packages\sqlite

Updated patch attached

Hope this one does the trick...

Regards,
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
Index: packages/dblib/fpmake.pp
===================================================================
--- packages/dblib/fpmake.pp	(revision 21920)
+++ packages/dblib/fpmake.pp	(working copy)
@@ -9,7 +9,7 @@
 procedure add_dblib;
 
 Const
-  DBLibOSes         = [linux,freebsd,netbsd,openbsd,win32,win64,haiku];
+  DBLibOSes         = [linux,freebsd,netbsd,openbsd,solaris,win32,win64,haiku];
 
 Var
   P : TPackage;
-------------- 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
Index: packages/dblib/fpmake.pp
===================================================================
--- packages/dblib/fpmake.pp	(revision 21920)
+++ packages/dblib/fpmake.pp	(working copy)
@@ -9,7 +9,7 @@
 procedure add_dblib;
 
 Const
-  DBLibOSes         = [linux,freebsd,netbsd,openbsd,win32,win64,haiku];
+  DBLibOSes         = [linux,freebsd,netbsd,openbsd,solaris,win32,win64,haiku];
 
 Var
   P : TPackage;


More information about the fpc-pascal mailing list