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

Hello Wagner,
I have the same error on Delphi 11, so I tried to open and compile Sparkle.dproj directly from IDE
and I noticed that this problem only occurs when I compile this project in DEBUG mode.
In RELEASE mode it compiles without issues.
The installer seems to attempt to compile this project in DEBUG mode by default and hence
I can see this issue.
I hope it helps a bit to nail the root cause down.
Fingers crossed.
Kind regards
Arek

All,
I have managed to install Sparkle and subseqently XData by applying the following WORKAROUND:

  1. Install Sparke for all available environemnts except Linux64.
  2. Open Sprakle.dproj in IDE
    The project file it typically located at:
    C:\Users<Your windows user name>\AppData\Local\tmssoftware\registered\TMS Sparkle\packages\d11
  3. Change Build Configuration from Debug to Release and set the Target to Linux64
  4. Click with the right button on the bplsparkle280.so file name and select Compile.
    It should compile without any issues.
  5. Go to c:\Users<Your Windows User Name>\AppData\Local\tmssoftware\registered\TMS Sparkle\packages\d11\Linux64
    and create a Debug directory (the Release directory should already be there)
  6. Copy all the files from Release directory into Debug directory
  1. Now you can start the TMSSubscriptionManager2 again and you can continue with
    the installation of XData and other packages from the BIZ category.

And don't forget: It's just a workaround - not a permanent solution.

Cheers
Arek

1 Like

I have mentioned before, but can all of you also open the SDK manager and run update of the Linux sdk and check if you get two error message:

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

Also before the update, the direvctories exists already, but is named
Directory does not exist: /usr/include/c++/($GCCVERSION)
Directory does not exist: /usr/include/x86_64-linux-gnu/c++//($GCCVERSION)

I suspect errors ocures because the tool find

/usr/include/c++/($GCCVERSION) <> /usr/include/c++/

and alike and thus fails addind something more hidden

This is really weird. We cannot reproduce the issue here. We can compile Linux64 projects with Sparkle in both Debug and Release mode.

I wonder what that means exactly, @Zelaya_Omar?

Maybe we need more *exact steps to reproduce the issue. A specific project, specific steps...
Maybe this is just a nasty bug in Delphi 11. I don't know.

Hello Wagner,

can you please check if you can compile Sparkle.dproj in relase and debug modes ?

When I applied a workaround described above I can also compile other projects which depend on XData/Sparkle components in release and debug mode (so it's not a problem).

The problem is Sparkle project itself.
An attempt to compile it in a debug mode fails under Delphi 11 (with the both patches installed that had been released to date).

Cheers
Arek

Yes, I can compile Sparkle.dproj package for Linux64 in both configuration. I don't have patches installed though, that's why I asked for feedback on this. But it seems there are other users without patch installed that have the same problem.

Wagner, if you go to the deployment and select update the SDK, do you get a message about missing paths (which is there already) ??

You mean clicking button "Update Local File Cache"? If yes, it tries to connect to the PAServer in the Ubuntu machine.

I was more thinking of executing the refresh/update and observe is there is a message about missing paths (shown in an earlier comment)
In case the update goes ok, maybe have another virrtual installation of RAD and install the BIZ tools and see if all goes ok with the two patches installed and see if everything goes ok
Or maybe purchase a nive litte microcomputer like Peppers Job computer and screen where you can put both in your bag or alike (I have three , one for Windows, another for Linux Ubuntu desktop 20.04 and a third for Linux Ubuntu Server 20.04 :-D

Yes, I tried updating the SDK, from a brand new Linux machine, a clean install of Delphi 11 (without patches). All works fine... I'm not sure if this is good or bad, but, well... :smiley:

Hello Wagner - is there any reason for not installing the patches ?

I have had the same problem, now that I have reinstalled my new laptop, however in the previous one if it gets Delphi 11 + Update Nov + Debian11 to work.

Now I have tried everything and cannot move forward.

Does anyone know exactly the problem?

Hi,

I have the same problem ... Delphi 11 with patch 2 ...

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&)'

The instalation make from scratch ... and all needed packages on Linux side were installed.
sudo apt-get install libcurl4-gnutls-dev
sudo apt-get install zlib1g-dev
sudo apt install g++

@wlandgraf do you think that is it Delphi 11 November patch 2 problem?
Many TMS users has the same problem ... what is the Support solution?

I confirmed that Patch 2 is the culprit. Installing it immediately breaks compilation of packages in DEBUG config, if the package uses some methods from System.ZLib. The simple package attached, without any TMS Sparkle or TMS BCL dependency, does not compile.

ZLibTest.zip (4.9 KB)

I have open an issue in Quality Portal. You can try to vote it in the hope they give it higher priority: https://quality.embarcadero.com/browse/RSP-36641.

There you go, see above.

Hi,

@wlandgraf thx for the info ... Guys/TMS Users ... let's vote for this https://quality.embarcadero.com/browse/RSP-36641

2 Likes

Why don't you use zip library instead of zlib ?

Why? What do you mean, exactly?

I meant if you use zip instead of zlib to be able to compile.