New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lazarus compile errors when using FPC 3.0.4a (last and most common stable) #274
Comments
I assume you've a 64bit CPU while your FPC version is 32bit. Is this correct? Maybe it's an issue with old FPC + Catalina? Or caused by the new IFDEF added from EMBT? |
Been generating 64bit MacOS executables for a couple of years with my 64bit Mac computer using FPC/Lazarus. (Otherwise I would not even be able to run my apps on Catalina + not get 32bit warnings with my release builds. Apple started warning consumers about 32bit builds long time ago and AFAIK Catalina wont even run them.) However, I found this post
Also just "Trunked" FPC source - same issue. I will post output later when on Mac, but my guess is IFDEF added from EMBT? is the culprit :) |
The Compiler defines during compilation page from FPC says Mac OS is defined by |
fpc/bin/x86-64-darwin/ directory
fpcsrc directory
(which should be trunk revision AFAIK) ... If/when a new Indy version is released I will make sure to test it and report back :) |
I would love to confirm it works after making the change myself. But now I am getting the following error in idStackunix.pas (701,21) Error. Identfier not found "FIONBIO". Line: fpioctl(Result, FIONBIO, @lvalue); -- not sure if the error is related to the change in IDCompilerDefines.inc or just another error I have not discovered before |
Are you using the latest version of Indy? Should have been fixed with #273 |
I checked in a fix for the |
Is this still an open issue, or can it be closed now? |
After having updated to Catalina + newest Cocoa source, I updated Indy as well (due to strange new errors with TSLV1 I did not experience on Mojave, so wondering if something changed regarding that in Catalina besides notarization/entitlements/symlink issues... but that is for another post if problems persists updating and researching further) and encountered some compile time errors inside IdGlobal.pas ...
Quote
IdGlobal.pas(4607,57) Error: Typecast has different size (4 -> 8 ) in assignment
at
Code: Pascal [Select]
{$IFDEF THANDLE_64}
Result := THandle(InterlockedExchange64(Int64(VTarget), Int64(AValue)));
{$ENDIF}
and two of this
Quote
IdGlobal.pas(8523,17) Error: Identifier not found "PRawByteString"
at
Code: Pascal [Select]
SetCodePage(PRawByteString(@Result)^, GetEncodingCodePage(ADestEncoding), False);
...
When I run "svn up" on my fprsrc directory it says 43661
---Speculation--
I believe this is because Indy assumes one is using FPC trunk? (where PRawByteString is defined) And not the stable 3.0.4a release. I am a bit hesitant upgrading FPC to a non-stable release...
The PRawByteString is an easy "hotfix" oneself, but if Indy now assumes {$IFDEF THANDLE_64}
(maybe this changed in FPC 3.2.x / 3.3.x ?)
I guess that could leave to unforseen problems (by me) if not "hotfixed" correctly. Assuming this is a wontfix but I am not prepared to upgrade non-stable FPC, do you have recommendation if it is necessary to fix the define itself? Or just this one place in code?
The text was updated successfully, but these errors were encountered: