Page 1 of 1

Error installing on Lazarus 1.1

Posted: 06.05.2012, 15:53
by patyit
Hi all !

I just upgraded Lazarus & Zeos7 and can't compile ZeosLib, I have fallowing error :

../ZAbstractDataset.pas(476,13) Error: Incompatibile types: got "AnsiString" expected "Pointer"
BM := Bookamark;
../ZAbstractDataset.pas(484,19) Error: Incompatibile types for arg no. 1: got "Pointer", expected "AnsiString"
BookMark:=BM;

os: Ubuntu 11.04 32bit
I have clean install of Lazarus 1.1 latest svn & fpc 2.6.1 Zeos7 latest svn testing-egonhugeist.
(performed build clean all etc ...)
On other computer i try to install trunk but with the same error ...

Posted: 06.05.2012, 16:01
by ism
Lazarus 1.1 development version and not zeos on it is not obliged to work
in release Lazarus all ok

Posted: 06.05.2012, 16:07
by EgonHugeist
patyit,

Lazarus isn't the problem here. Which means you can use the 1.1 Snapshot + FPC2.6.0.

The fpc 2.6.1 and 2.7+ are making trouble actually, that i know for sure from our german users.
Zeos isn't the problem here.

Michael

Posted: 06.05.2012, 19:59
by patyit
Thanks for answer, I'll go back to FPC 2.6.0 !

Posted: 15.05.2012, 09:37
by marcov
In 2.6.1 the old situation has been restored, and "bookmark" property is of type bookmarkstr again.

In 2.7.1 the situation is D2009+, bookmark property is of type TBytes.

The 2.7.1 situation will be merged to the 2.6 series only AFTER 2.6.2, to give depending projects more time to adjust.

Compared to 2.6.0 both 2.6.1 and 2.7.1 have changed buffer pointers to TRecordBuffer, but the definition of Trecordbuffer is still pansichar. (not pbyte, like in D2009+). Again to give some time for adjustment.

Posted: 15.05.2012, 10:43
by miab3
For Lazarus 1.1.0 Source from SVN 20-4-2012 Rev 36942
FreePascal 2.7.1 Source from SVN 20-4-2012 Rev 20936

I add: {$UNDEF WITH_TBOOKMARK}

unit ZAbstractDataset;

interface

{$I ZComponent.inc}
{$UNDEF WITH_TBOOKMARK}
uses

and now it compiles

Michal Abramczyk

Posted: 15.05.2012, 12:56
by marcov
Strange, testing works for me without that change. But that is the testing branch, not egon's.

Posted: 15.05.2012, 13:12
by EgonHugeist
Realy strange, Marco. The Bookmark handling is exacly the same, which you have introduced in \testing. No differences. Other peoples have the same trouble with the 2.x.1 releases and \trunk or \testing.

How did you manage this? The patch of miab3 seems for me possibilty one. The second: you have undifined the WITH_TBOOKMARK define in the Zeos/Lazarus.inc! No way around. Or did you patch something i don't know about?

Michael

Posted: 15.05.2012, 13:49
by marcov
EgonHugeist wrote:Realy strange, Marco. The Bookmark handling is exacly the same, which you have introduced in \testing. No differences. Other peoples have the same trouble with the 2.x.1 releases and \trunk or \testing.
Please keep your versioning straight. 2.6.1 and 2.7.1 are _totally_ different things (with 1376 SVN commits not merged from 2.7.1 to 2.6.1)

2.7.1 has tbookmark in D2009 style, 2.6.1 not. Both are "running" versions that change by the day. Such a version without a date indication is essentially useless.
How did you manage this?
There is not much to manage; Zeos SVN is clean (no files edited). FPC 2.7.1 was built from source yesterday.

zeoslazarus.inc contains:

{$IF FPC_FULLVERSION>20600} // will be introduced in 2.6.2 (and up to date 2.6.1)
{$DEFINE WITH_TRECORDBUFFER}
{$DEFINE WITH_TBOOKMARK} // Have TBookmark
{$IFEND}

Which is correct for 2.7.1, but not for 2.6.1 (should be changed too > 20602 probably, since merging has been postponed to AFTER 2.6.2 instead of before). Commmitted this to zeoslib testing r1286
The patch of miab3 seems for me possibilty one. The second: you have undifined the WITH_TBOOKMARK define in the Zeos/Lazarus.inc! No way around.
I've no idea, unless miab3 is mixing up versions or using severely outdated ones. Or there are differences between egon and testing.

Posted: 15.05.2012, 14:07
by EgonHugeist
Nope, no differences concerning the TBookmark. Absolutly the same.

Trank you for that *.inc update. I'll merge it to egon this evening too or you do it.

Michael