Error triying to install/compile Sparkle for Linux on RAD 11

Hi,

I'm getting the following error when installing/compile the Linux64 package for Sparkle.

"E:\Components\TMS\Sparkle\packages\d11\sparkle.dproj" (Build destino) (1) ->
(_PasCoreCompile destino) ->
C:\Program Files (x86)\Embarcadero\Studio\22.0\Bin\CodeGear.Delphi.Targets(407,5): error E2597: Sparkle.Middleware.Compress.pas:320: error: undefined reference to 'System::Zlib::deflate(System::Zlib::z_stream&, int)' [E:\Components\TMS\Sparkle\packages\d11\sparkle.dproj]
C:\Program Files (x86)\Embarcadero\Studio\22.0\Bin\CodeGear.Delphi.Targets(407,5): error F2588: Linker error code: 1 ($00000001) [E:\Components\TMS\Sparkle\packages\d11\sparkle.dproj]

0 Advertencia(s)
2 Errores

Any hints,

Thanks in advance,

Omar Zelaya

1 Like

I got the same error, but guess the solution is mentioned here:

https://www.google.no/search?q=linux+ubuntu+20.04+zlib+install

Try to install it :-D

1 Like

I tried the installation guid, but the zlib package was already installed in manual mode, whatever that means

Try this solution:

Hi,

I have already done that. The strange thig is that I can run and compile(included source code dirs to project) apache and linux tremotedb apps with components created by code.

Thanks in Advance,

Omar Zelaya

Maybe your library path or project's search path is not correct? Pointing to different, outdated files, or to binary ones? Is your Linux SDK updated?

Hi,

I also tried to install reinstall SDK from local WSL2 and new VMWARE Ubuntu 20.04 LTS, but the same error appears:

[DCC Error] E2597 Sparkle.Middleware.Compress.pas:320: error: undefined reference to 'System::Zlib::deflate(System::Zlib::z_stream&, int)'
Sparkle.Middleware.Compress.pas:278: error: undefined reference to 'System::Zlib::deflate(System::Zlib::z_stream&, int)'
Sparkle.Middleware.Compress.pas:291: error: undefined reference to 'System::Zlib::deflateEnd(System::Zlib::z_stream&)'
Sparkle.Middleware.Compress.pas:291: error: undefined reference to 'System::Zlib::deflateEnd(System::Zlib::z_stream&)'
Sparkle.ZLib.pas:65: error: undefined reference to 'System::Zlib::inflate(System::Zlib::z_stream&, int)'
Sparkle.ZLib.pas:72: error: undefined reference to 'System::Zlib::inflateEnd(System::Zlib::z_stream&)'
[DCC Fatal Error] F2588 Linker error code: 1 ($00000001)

Thank you,
Vojko Cendak

Strangely enough,

we opened FMXlinux demo CustomFont, which runs on Ubuntu 20.04.
Then we added System.zlib, Sparkle.Middleware.Compress units and played with
var FS := TMemoryStream.Create();
var FS2 := TZDecompressionStream.Create(FS);
var FC3 := TZCompressionStream.Create(FS);
and works ok.

having same errors, I tried to delete the sdk-file and made a new one.
When updating. I get two errors:

Directory does not exist: /usr/include/c++
And /usr/include/xx86_64-linux-gnu/c++/

The log I got is this:

Deleting file "sparkle.vrc".
del "sparkle.vrc"
PasCoreCompile:
C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\dcclinux64.exe -$O- -$R+ -$Q+ -NX..\xml --no-config -B -Q -Z -TX.so -AGenerics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults -DDEBUG -E.\Linux64\Debug -I"C:\Program Files (x86)\Embarcadero\Studio\22.0\lib\Linux64\debug";"C:\Program Files (x86)\Embarcadero\Studio\22.0\lib\Linux64\release";"C:\TMS
\TMS Busines Core Library\packages\d11.\Linux64\Debug";"C:\TMS_\TMS Busines Core Library\packages\d11..\bpl\Linux64";"C:\TMS_\TMS Sparkle\packages\d11.\Linux64\Debug";"C:\TMS_\TMS Sparkle\packages\d11..\bpl\Linux64" -LE..\bpl\Linux64 -LN.\Linux64\Debug -NU.\Linux64\Debug -NSSystem;Xml;Data;Datasnap;Web;Soap;;(Default) -O"c:\program files (x86)\embarcadero\studio\22.0\lib\Linux64\release";C:\Users\achristo\Documents\Embarcadero\Studio\22.0\Imports;"C:\Program Files (x86)\Embarcadero\Studio\22.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\Linux64;"C:\Program Files (x86)\Embarcadero\Studio\22.0\include";"C:\Program Files (x86)\Embarcadero\Studio\22.0\redist\Linux64";C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\Linux64;C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\FmxLinux-1.68\Lib\Release;C:\Repos_22\QuickLib-2.3;C:\Repos_22\QuickLogger-1.45-2021;C:\Repos_22\Abbrevia-2021.09-Alexandria\source;C:\TMS_\FlexCelVCLNT\Packages\d11\Linux64\Release;C:\TMS_\FlexCelVCLNT\ThirdParty\Skia\Linux64;"C:\TMS_\TMS Busines Core Library\packages\d11.\Linux64\Release";"C:\TMS_\TMS Busines Core Library\source\extra";"C:\TMS_\TMS Busines Core Library\packages\d11..\bpl\Linux64";"C:\TMS_\TMS Aurelius\packages\d11.\Linux64\Release";"C:\TMS_\TMS Aurelius\source\drivers";"C:\TMS_\TMS Aurelius\packages\d11..\bpl\Linux64" -R"c:\program files (x86)\embarcadero\studio\22.0\lib\Linux64\release\EN";"c:\program files (x86)\embarcadero\studio\22.0\lib\Linux64\release";C:\Users\achristo\Documents\Embarcadero\Studio\22.0\Imports;"C:\Program Files (x86)\Embarcadero\Studio\22.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\Linux64;"C:\Program Files (x86)\Embarcadero\Studio\22.0\include";"C:\Program Files (x86)\Embarcadero\Studio\22.0\redist\Linux64";C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\Linux64;C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\FmxLinux-1.68\Lib\Release;C:\Repos_22\QuickLib-2.3;C:\Repos_22\QuickLogger-1.45-2021;C:\Repos_22\Abbrevia-2021.09-Alexandria\source;C:\TMS_\FlexCelVCLNT\Packages\d11\Linux64\Release;C:\TMS_\FlexCelVCLNT\ThirdParty\Skia\Linux64;"C:\TMS_\TMS Busines Core Library\packages\d11.\Linux64\Release";"C:\TMS_\TMS Busines Core Library\source\extra";"C:\TMS_\TMS Busines Core Library\packages\d11..\bpl\Linux64";"C:\TMS_\TMS Aurelius\packages\d11.\Linux64\Release";"C:\TMS_\TMS Aurelius\source\drivers";"C:\TMS_\TMS Aurelius\packages\d11..\bpl\Linux64" -U"C:\Program Files (x86)\Embarcadero\Studio\22.0\lib\Linux64\debug";"C:\Program Files (x86)\Embarcadero\Studio\22.0\lib\Linux64\release";"C:\TMS_\TMS Busines Core Library\packages\d11.\Linux64\Debug";"C:\TMS_\TMS Busines Core Library\packages\d11..\bpl\Linux64";"C:\TMS_\TMS Sparkle\packages\d11.\Linux64\Debug";"C:\TMS_\TMS Sparkle\packages\d11..\bpl\Linux64" --syslibroot:C:\Users\achristo\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk --libpath:C:\Users\achristo\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk\usr\lib\gcc\x86_64-linux-gnu\9;C:\Users\achristo\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk\usr\lib\x86_64-linux-gnu;C:\Users\achristo\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk\lib\x86_64-linux-gnu -V -VN --description:"TMS Sparkle - Core Package" -NH.\Linux64\Debug -NO.\Linux64\Debug sparkle.dpk
Embarcadero Delphi for Linux 64 bit compiler version 35.0
Copyright (c) 1983,2021 Embarcadero Technologies, Inc.
Linker command line: "C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\ld-linux.exe" -o ..\bpl\Linux64\bplsparkle280.so -e ZN7Sparkle14initializationEv --gc-sections --version-script ..\bpl\Linux64\sparkle.vsr -shared --no-undefined --export-dynamic -z noexecstack -z relro --build-id --eh-frame-hdr -m elf_x86_64 --dynamic-linker /lib64/ld-linux-x86-64.so.2 --sysroot C:\Users\achristo\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk -L "C:\TMS\TMS Busines Core Library\packages\d11\..\bpl\Linux64" -L "c:\program files (x86)\embarcadero\studio\22.0\lib\Linux64\release" -L C:\Users\achristo\Documents\Embarcadero\Studio\22.0\Imports -L "C:\Program Files (x86)\Embarcadero\Studio\22.0\Imports" -L C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\Linux64 -L "C:\Program Files (x86)\Embarcadero\Studio\22.0\include" -L "C:\Program Files (x86)\Embarcadero\Studio\22.0\redist\Linux64" -L C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\Linux64 -L C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\FmxLinux-1.68\Lib\Release -L C:\Repos_22\QuickLib-2.3 -L C:\Repos_22\QuickLogger-1.45-2021 -L C:\Repos_22\Abbrevia-2021.09-Alexandria\source -L C:\TMS_\FlexCelVCLNT\Packages\d11\Linux64\Release -L C:\TMS_\FlexCelVCLNT\ThirdParty\Skia\Linux64 -L "C:\TMS_\TMS Busines Core Library\packages\d11\.\Linux64\Release" -L "C:\TMS_\TMS Busines Core Library\source\extra" -L "C:\TMS_\TMS Aurelius\packages\d11\.\Linux64\Release" -L "C:\TMS_\TMS Aurelius\source\drivers" -L "C:\TMS_\TMS Aurelius\packages\d11\..\bpl\Linux64" -L C:\Users\achristo\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk\usr\lib\gcc\x86_64-linux-gnu\9 -L C:\Users\achristo\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk\usr\lib\x86_64-linux-gnu -L C:\Users\achristo\Documents\Embarcadero\Studio\SDKs\ubuntu20.04.sdk\lib\x86_64-linux-gnu @..\bpl\Linux64\sparkle.lnk -lgcc_s -lrtlhelper_PIC -lc -ldl -lpthread -lz -l:bplrtl280.so -l:bpltmsbcl280.so -l:bpldbrtl280.so -l:bplIndyCore280.so -l:bplIndyProtocols280.so -l:bplIndySystem280.so -rpath $ORIGIN
C:\Program Files (x86)\Embarcadero\Studio\22.0\Bin\CodeGear.Delphi.Targets(407,5): error E2597: Sparkle.Middleware.Compress.pas:320: error: undefined reference to 'System::Zlib::deflate(System::Zlib::z_stream&, int)' [C:\TMS_\TMS Sparkle\packages\d11\sparkle.dproj]
Sparkle.Middleware.Compress.pas:278: error: undefined reference to 'System::Zlib::deflate(System::Zlib::z_stream&, int)'
Sparkle.Middleware.Compress.pas:291: error: undefined reference to 'System::Zlib::deflateEnd(System::Zlib::z_stream&)'
Sparkle.Middleware.Compress.pas:291: error: undefined reference to 'System::Zlib::deflateEnd(System::Zlib::z_stream&)'
Sparkle.ZLib.pas:65: error: undefined reference to 'System::Zlib::inflate(System::Zlib::z_stream&, int)'
Sparkle.ZLib.pas:72: error: undefined reference to 'System::Zlib::inflateEnd(System::Zlib::z_stream&)'
C:\Program Files (x86)\Embarcadero\Studio\22.0\Bin\CodeGear.Delphi.Targets(407,5): error F2588: Linker error code: 1 ($00000001) [C:\TMS_\TMS Sparkle\packages\d11\sparkle.dproj]
Done Building Project "C:\TMS_\TMS Sparkle\packages\d11\sparkle.dproj" (Build target(s)) -- FAILED.

By the way, installation of the 10.4.2 version, Sydney works ok

Can you (all) please provide the exact version of your Delphi IDE? The one you get from the about dialog? In addition to that, have you updated Patch 1 or Patch 2?

Installation works ok with last version of RAD studio Architect Sydney with all updates

RAD Studio Alexandria with all updates do fail.

As far as I see there is no difference btw insstalled sdk files.

Have not yet cheched what the variable $GCCVERSION is. Maybe there is some differencies there

First of all, no compiler defines the variable $GCCVERSION
Processing: reg_BDS_22_0_ubuntu20_04_sdk.reg...
Processing: reg_BDS_21_0_ubuntu20_04_sdk.reg...
Neither the sdk files nor registry is differeent except Displayname

Is the problem a Delphi error?
The mentioned lacking directories exists already, but named with ($GCCVERSION) as subdirectory
/usr/include/c++/($GCCVERSION) etc

Maybe I found a difference btw Delphi 11 and Delphi 10.4.2

After reading about another having problems on installing Sparkle, I checked the files added to setup.

In the package list, all these are lacking:
C:\TMS_\TMS Sparkle\packages\dsydney.\Linux64\Release
C:\TMS_\TMS Sparkle\source\extra
C:\TMS_\TMS Sparkle\packages\dsydney..\bpl\Linux64

and
the source files didn't hav any referenced in both compiler

The first and third directory are created by Delphi compiler automatically. If you are not able to compile with Linux, then those will not be generated. The second one should be present, if it's not maybe you are using an old TMS Sparkle version.

None of you (@Alf_Christophersen, @Zelaya_Omar, @Vojko_Cendak) interested in this thread answered my question: Can you (all) please provide the exact version of your Delphi IDE? The one you get from the about dialog? In addition to that, have you updated Patch 1 or Patch 2?

RAD Studio 11.0 Version 28.0.42600.6491 patch 2

Thanks.

Omar Zelaya

Embarcadero® RAD Studio 11.0 Version 28.0.42600.6491
Windows version 10.0, build 19044, 64 bit edition.

I see only RAD Studio November Patch installed (no patch 1 or patch 2)

Embarcadero® RAD Studio 11.0 Version 28.0.42600.6491
I ran the updates, but seem not to be able to start again