[fpc-pascal] Errors compiling fixes_2.6 on win64: forgot to include dblib for mssqlconn?

Marco van de Voort marcov at stack.nl
Mon Apr 23 10:48:30 CEST 2012

In our previous episode, Reinier Olislagers said:
> Running fpcup (64 bit) on my Windows machine gives errors with fpc
> fixes_2.6 (r21000/21001):
> C:/development/fpc/compiler/ppcx64.exe -Ur -Xs -O2 -n -S2
> -FuC:/development/fpc/rtl/units/x86_64-win64
> -FuC:/development/fpc/packages/dblib
> -FuC:/development/fpc/packages/fcl-base/units/x86_64-win64 -FE.
> -FUC:/development/fpc/packages/fcl-db/units/x86_64-win64 -dx86_64
> -dRELEASE mssqlconn.pp
> mssqlconn.pp(43,3) Fatal: Can't find unit dblib used by mssqlconn
> Fatal: Compilation aborted
> make.exe[5]: *** [mssqlconn.ppu] Error 1
> make.exe[5]: Leaving directory
> `C:/development/fpc/packages/fcl-db/src/sqldb/mssql'
> Perhaps some of these revisions in trunk could be backported:
> r20692 | marco | 2012-04-02 13:46:51 +0200 (ma, 02 apr 2012) | 2 lines

It is hard because 2.6.x uses a different makefile system compared to trunk,
which is harder to tune for specific OSes.

fpmake is a pain sometimes, but at least it killed the packages/Makefile.fpc

I think dblib is compiled even, but the packages/Makefile.fpc dependencies
of fcl-db are complex, and win64 is a special case for some reason (and I
have to find out why.

There are three groups
1. linux freebsd openbsd netbsd win32 beos haiku
  -> have dependencies on all database client libs.
2. win64 wince solaris darwin iphonesim
   -> have dependencies on all database client libs except for paradox
3. (ELSE) Have no dependencies on clientlibs at all.

I added dblib only to the first group.

possible solutions:
1. add dblib also to second group
   con: also enabled it for the others in that group.
2. move win64 to first group.
   con: does pxlib run on win64?
3. refactor everything.
> may be sufficient... but simply running make in the top level dir
> doesn't seem to take it into account... so presumably there is some step
> needed to regenerate them...

In 2.6.x only two packages are fpmake built (as test case, one of them being
fcl-web).  Migration of the rest has stalled since fpmake is still not
trouble free in trunk.

So merging anything that touches makefiles and dependencies requires manual
work when merging from 2.7.x to 2.6.x

More information about the fpc-pascal mailing list