IndySockets / Indy

Indy - Internet Direct
https://www.indyproject.org
449 stars 153 forks source link

Packages not building on Delphi 10.2 with FullC_Tokyo.bat #371

Closed AndreasDDi closed 3 years ago

AndreasDDi commented 3 years ago

Hi, I'm trying to replace the standard Indy components from Delphi 10.2 with de latest version from GitHub. Until now I had no luck with that. First I assumed that the FullC_Tokyo.bat wil only work for C++ Builder and tried to compile the 250 packages with dcc32. The packages where building, but I could not replace the bpl's in Delphi (Delphi would not startup afterwards). Than I tried to compile a project with the sources from .\Lib\Core ect., but the project wil not compile. Than I found that FullC_Tokyo.bat uses msbuild, and just tried that. And I'm getting the same error.

Is this version op indy still supporting Delphi 10.2?

Here the output of FullC_Tokyo.bat:

Microsoft (R) Build Engine Version 3.5.30729.9141 [Microsoft .NET Framework, Version 2.0.50727.9151] Copyright (C) Microsoft Corporation 2007. All rights reserved.

Build started 30-7-2021 15:04:34. Project "D:\Workspace\Components\Indy\C25\IndySystem250.dproj" on node 0 (Rebuild target(s)). Deleting file "IndySystem250.res". CreateProjectDirectories: Creating directory "..\Output\HPP\Win32\Release\". Creating directory "..\Output\OBJ\Win32\Release\". Creating directory "..\Output\BPI\Win32\Release\". BuildVersionResource: CodeGear Resource Compiler/Binder Version 1.2.2 Copyright (c) 2008-2012 Embarcadero Technologies Inc.

Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0

Copyright (C) Microsoft Corporation. All rights reserved.

Deleting file "IndySystem250.vrc". _PasCoreCompile: Embarcadero Delphi for Win32 compiler version 32.0 Copyright (c) 1983,2017 Embarcadero Technologies, Inc. IdStackWindows.pas(712): error E2003: Undeclared identifier: 'PIP_ADAPTER_ADDRESSES' IdStackWindows.pas(771): error E2005: 'PIP_ADAPTER_ADDRESSES' is not a type identifier IdStackWindows.pas(777): error E2005: 'PIP_ADAPTER_ADDRESSES' is not a type identifier IdStackWindows.pas(1364): error E2007: Constant or type identifier expected IdStackWindows.pas(1365): error E2003: Undeclared identifier: 'PIP_ADAPTER_UNICAST_ADDRESS' IdStackWindows.pas(1382): error E2008: Incompatible types IdStackWindows.pas(1387): error E2003: Undeclared identifier: 'GAA_FLAG_SKIP_ANYCAST' IdStackWindows.pas(1387): error E2003: Undeclared identifier: 'GAA_FLAG_SKIP_MULTICAST' IdStackWindows.pas(1387): warning W1024: Combining signed and unsigned types - widened both operands IdStackWindows.pas(1387): error E2003: Undeclared identifier: 'GAA_FLAG_SKIP_DNS_SERVER' IdStackWindows.pas(1387): error E2003: Undeclared identifier: 'GAA_FLAG_SKIP_FRIENDLY_NAME' IdStackWindows.pas(1408): error E2008: Incompatible types IdStackWindows.pas(1423): error E2029: ')' expected but identifier 'IfType' found IdStackWindows.pas(1426): error E2017: Pointer type required IdStackWindows.pas(1427): error E2015: Operator not applicable to this operand type IdStackWindows.pas(1429): error E2017: Pointer type required IdStackWindows.pas(1431): error E2017: Pointer type required IdStackWindows.pas(1433): error E2017: Pointer type required IdStackWindows.pas(1433): error E2029: '(' expected but ')' found IdStackWindows.pas(1433): error E2029: 'END' expected but ',' found IdStackWindows.pas(1437): error E2066: Missing operator or semicolon IdStackWindows.pas(1439): error E2017: Pointer type required IdStackWindows.pas(1439): error E2029: 'END' expected but ')' found IdStackWindows.pas(1440): error E2029: 'END' expected but 'ELSE' found IdStackWindows.pas(1441): error E2066: Missing operator or semicolon IdStackWindows.pas(1453): error E2017: Pointer type required IdStackWindows.pas(1453): error E2029: 'END' expected but ')' found IdStackWindows.pas(1456): error E2029: ':=' expected but ':' found IdStackWindows.pas(1458): error E2017: Pointer type required IdStackWindows.pas(1458): error E2029: '(' expected but ')' found IdStackWindows.pas(1458): error E2029: 'END' expected but ',' found IdStackWindows.pas(1461): error E2066: Missing operator or semicolon IdStackWindows.pas(1462): error E2017: Pointer type required IdStackWindows.pas(1464): error E2029: 'UNTIL' expected but 'END' found IdStackWindows.pas(1465): error E2125: EXCEPT or FINALLY expected IdStackWindows.pas(1467): error E2017: Pointer type required IdStackWindows.pas(1468): error E2125: EXCEPT or FINALLY expected IdStackWindows.pas(1470): error E2029: Declaration expected but identifier 'Adapter' found IdStackWindows.pas(1475): error E2029: Declaration expected but 'FINALLY' found IdStackWindows.pas(1477): error E2029: '.' expected but ';' found IdStackWindows.pas(1478): warning W1011: Text after final 'END.' - ignored by compiler IdStackWindows.pas(208): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.FDSelect' IdStackWindows.pas(210): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.GetItem' IdStackWindows.pas(212): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.Add' IdStackWindows.pas(213): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.Remove' IdStackWindows.pas(214): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.Count' IdStackWindows.pas(215): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.Clear' IdStackWindows.pas(216): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.Clone' IdStackWindows.pas(217): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.ContainsSocket ' IdStackWindows.pas(218): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.GetFDSet' IdStackWindows.pas(219): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.SetFDSet' IdStackWindows.pas(220): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.Select' IdStackWindows.pas(222): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.SelectRead' IdStackWindows.pas(223): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.SelectReadList ' IdStackWindows.pas(229): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.WSQuerryIPv6Route' IdStackWindows.pas(231): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.WriteChecksumIPv6' IdStackWindows.pas(233): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.HostByName' IdStackWindows.pas(241): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.WSShutdown' IdStackWindows.pas(258): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.SetBlocking' IdStackWindows.pas(259): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.WouldBlock' IdStackWindows.pas(270): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.ReceiveMsg' IdStackWindows.pas(278): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.WSTranslateSocketEr rorMsg' IdStackWindows.pas(284): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.Connect' IdStackWindows.pas(288): error E2226: Compilation terminated; too many errors Done Building Project "D:\Workspace\Components\Indy\C25\IndySystem250.dproj" (Rebuild target(s)) -- FAILED.

Build FAILED.

"D:\Workspace\Components\Indy\C25\IndySystem250.dproj" (Rebuild target) (1) -> (_PasCoreCompile target) -> IdStackWindows.pas(1387): warning W1024: Combining signed and unsigned types - widened both operands IdStackWindows.pas(1478): warning W1011: Text after final 'END.' - ignored by compiler

"D:\Workspace\Components\Indy\C25\IndySystem250.dproj" (Rebuild target) (1) -> (_PasCoreCompile target) -> IdStackWindows.pas(712): error E2003: Undeclared identifier: 'PIP_ADAPTER_ADDRESSES' IdStackWindows.pas(771): error E2005: 'PIP_ADAPTER_ADDRESSES' is not a type identifier IdStackWindows.pas(777): error E2005: 'PIP_ADAPTER_ADDRESSES' is not a type identifier IdStackWindows.pas(1364): error E2007: Constant or type identifier expected IdStackWindows.pas(1365): error E2003: Undeclared identifier: 'PIP_ADAPTER_UNICAST_ADDRESS' IdStackWindows.pas(1382): error E2008: Incompatible types IdStackWindows.pas(1387): error E2003: Undeclared identifier: 'GAA_FLAG_SKIP_ANYCAST' IdStackWindows.pas(1387): error E2003: Undeclared identifier: 'GAA_FLAG_SKIP_MULTICAST' IdStackWindows.pas(1387): error E2003: Undeclared identifier: 'GAA_FLAG_SKIP_DNS_SERVER' IdStackWindows.pas(1387): error E2003: Undeclared identifier: 'GAA_FLAG_SKIP_FRIENDLY_NAME' IdStackWindows.pas(1408): error E2008: Incompatible types IdStackWindows.pas(1423): error E2029: ')' expected but identifier 'IfType' found IdStackWindows.pas(1426): error E2017: Pointer type required IdStackWindows.pas(1427): error E2015: Operator not applicable to this operand type IdStackWindows.pas(1429): error E2017: Pointer type required IdStackWindows.pas(1431): error E2017: Pointer type required IdStackWindows.pas(1433): error E2017: Pointer type required IdStackWindows.pas(1433): error E2029: '(' expected but ')' found IdStackWindows.pas(1433): error E2029: 'END' expected but ',' found IdStackWindows.pas(1437): error E2066: Missing operator or semicolon IdStackWindows.pas(1439): error E2017: Pointer type required IdStackWindows.pas(1439): error E2029: 'END' expected but ')' found IdStackWindows.pas(1440): error E2029: 'END' expected but 'ELSE' found IdStackWindows.pas(1441): error E2066: Missing operator or semicolon IdStackWindows.pas(1453): error E2017: Pointer type required IdStackWindows.pas(1453): error E2029: 'END' expected but ')' found IdStackWindows.pas(1456): error E2029: ':=' expected but ':' found IdStackWindows.pas(1458): error E2017: Pointer type required IdStackWindows.pas(1458): error E2029: '(' expected but ')' found IdStackWindows.pas(1458): error E2029: 'END' expected but ',' found IdStackWindows.pas(1461): error E2066: Missing operator or semicolon IdStackWindows.pas(1462): error E2017: Pointer type required IdStackWindows.pas(1464): error E2029: 'UNTIL' expected but 'END' found IdStackWindows.pas(1465): error E2125: EXCEPT or FINALLY expected IdStackWindows.pas(1467): error E2017: Pointer type required IdStackWindows.pas(1468): error E2125: EXCEPT or FINALLY expected IdStackWindows.pas(1470): error E2029: Declaration expected but identifier 'Adapter' found IdStackWindows.pas(1475): error E2029: Declaration expected but 'FINALLY' found IdStackWindows.pas(1477): error E2029: '.' expected but ';' found IdStackWindows.pas(208): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.FDSelect' IdStackWindows.pas(210): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.GetItem' IdStackWindows.pas(212): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.Add' IdStackWindows.pas(213): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.Remove' IdStackWindows.pas(214): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.Count' IdStackWindows.pas(215): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.Clear' IdStackWindows.pas(216): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.Clone' IdStackWindows.pas(217): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.ContainsSock et' IdStackWindows.pas(218): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.GetFDSet' IdStackWindows.pas(219): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.SetFDSet' IdStackWindows.pas(220): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.Select' IdStackWindows.pas(222): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.SelectRead' IdStackWindows.pas(223): error E2065: Unsatisfied forward or external declaration: 'TIdSocketListWindows.SelectReadLi st' IdStackWindows.pas(229): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.WSQuerryIPv6Route ' IdStackWindows.pas(231): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.WriteChecksumIPv6 ' IdStackWindows.pas(233): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.HostByName' IdStackWindows.pas(241): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.WSShutdown' IdStackWindows.pas(258): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.SetBlocking' IdStackWindows.pas(259): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.WouldBlock' IdStackWindows.pas(270): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.ReceiveMsg' IdStackWindows.pas(278): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.WSTranslateSocket ErrorMsg' IdStackWindows.pas(284): error E2065: Unsatisfied forward or external declaration: 'TIdStackWindows.Connect' IdStackWindows.pas(288): error E2226: Compilation terminated; too many errors

2 Warning(s)
62 Error(s)

Time Elapsed 00:00:00.68 Error!

rlebeau commented 3 years ago

First I assumed that the FullC_Tokyo.bat wil only work for C++ Builder

Yes, it is meant for C++Builder, hence the 'C' in the filename.

Is this version op indy still supporting Delphi 10.2?

It is supposed to, yes. Indy supports all the way back to Delphi 5. However, I haven't tried compiling Indy in any modern versions lately, so if there are compiler errors then I haven't seen them yet.

IdStackWindows.pas(712): error E2003: Undeclared identifier: 'PIP_ADAPTER_ADDRESSES'

That (and all of the other IPHelper API identifiers that are being complained about) have been defined in the RTL's Winapi.IpTypes unit since XE2. Unless Embarcadero has (re)moved them in recent versions, I don't know. Do you have a copy of Winapi.IpTypes.pas (and Winapi.IpHlpApi.pas) in your IDE installation so I can look at them?

The rest of the errors are just side effects, and will likely clear up when the identifiers are fixed.

AndreasDDi commented 3 years ago

This was caused by a second IpTypes unit of a installed package. After removing the package Indy compiled just fine. It took me a while to find it.