Skip to content
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

Packages for non Win32 platforms missing #286

Open
birbilis opened this issue Nov 19, 2024 · 12 comments
Open

Packages for non Win32 platforms missing #286

birbilis opened this issue Nov 19, 2024 · 12 comments

Comments

@birbilis
Copy link
Contributor

Please see screenshot:
image

at https://github.com/zoomicon/READCOM_App, I have a project group that contains some packages apart from the main app. Some of those packages need to be installed in the Delphi IDE (for Win32 platform that the IDE is running in, other platforms don't show Install at the popup menu for package projects).

Problem is at Zoomicon.Media.FMX package there that uses SVGIconImage, other platforms than Win32 don't build because the SVGIconImage and SVGIconImageList packages can't be found. I can add a conditional define to not include those packages on other platforms (in which case Delphi warns and tries to add those but I can tell it not do it when it pops up related message). Then units are implicitly imported (for Image32 etc.) when compiling for those platforms the package. That takes time and also emits warnings in Messages.

I've seen other GetIt packages (I think it was Abbrevia) compile (when you install them via GetIt) packages for all platforms (obviously they skip/warn on any platforms user doesn't have installed in the IDE at that moment). It would be nice if you did similarly

birbilis added a commit to Zoomicon/READCOM_App that referenced this issue Nov 19, 2024
…iguration (else wasn't finding FormMessage.pas which was set to only be included at IFDEF DEBUG)

- Included latest debug build executable
- Changed Targets for Release configurations to App Store for platforms that support it
- Changed Zoomicon.Media.FMX.dpk to not include SVGIconImage and SVGIconImageList at required clause for non-Win32 platforms. Seems SVGIconImageList from GetIt doesn't add packages for all platforms (see EtheaDev/SVGIconImageList#286)
@carloBarazzetta
Copy link
Contributor

There is a new Installer for SVGIconImageList: please try it and check if it's all OK

@birbilis
Copy link
Contributor Author

birbilis commented Jan 9, 2025

do you mean a standalone one? At GetIt I don't see something yet

image

@carloBarazzetta
Copy link
Contributor

Sorry but for the complicated procedure to publish a new version of the library on GetIt this repo is always one step beyond...
Now you can use the new installer provided here and check if there are you missing files...

@birbilis
Copy link
Contributor Author

Should I uninstall the GetIt version first or does it handle it automatically?
There is also an offline GetIt packages concept that was introduced in recent Delphi versions, but not sure if the installer uses that underneath or not

@carloBarazzetta
Copy link
Contributor

The new installer automatically uninstalla also getit packages...
https://ethea.it/docs/svgiconimagelist/Installation.html

@birbilis
Copy link
Contributor Author

thanks for the doc link
(at your comment above it goes to https://github.com/EtheaDev/SVGIconImageList/issues/url when clicked though [the text of the url is correct])

@carloBarazzetta
Copy link
Contributor

Sorry:
This page...

@birbilis
Copy link
Contributor Author

birbilis commented Jan 13, 2025

Indeed the downloaded installer said it was removing from GetIt.

Taking a look at precompiled packages for Delphi12 installed though (and according to the installer doc page you shared) there are still versions only for Windows 32/64-bit.

You can checkout
https://github.com/Zoomicon/Zoomicon.Media.FMX.Delphi for example

Trying to build the package for Android platform (and having commented-out as shown in the screenshot the conditional defines I was using as workaround in that .dpk), one gets the error that the packages are missing (whereas in Win32/Win64 it builds ok)

image

The conditional defines workaround I have there has its own issues since Delphi often removes those without warning:
https://embt.atlassian.net/servicedesk/customer/portal/1/RSS-2644

but there's another workaround mentioned there too for that issue:

by Peter Sonderegger (06/Jan/25 3:35 PM)
Workaround:
Create and use a 'dummy' unit and use the conditional defines in the 'USES' list of this unit.
The warning 'implicit imported unit' should be switched off for the package project.

@birbilis
Copy link
Contributor Author

birbilis commented Jan 13, 2025

A package I know tries to compile packages for all available platforms when installed via GetIt is Abbrevia btw.
https://getitnow.embarcadero.com/Abbrevia-12/
https://github.com/TurboPack/Abbrevia

@birbilis
Copy link
Contributor Author

birbilis commented Jan 13, 2025

btw, with my workaround

commenting out for other platforms at requires clause of my package's source [.dpk] the SVGImage32Package and SVGIconImageListFMX using a conditional {$IF DEFINED(MSWINDOWS)}...{$ENDIF}
doesn't seem to work when using the downloadable installer instead of GetIt to install SVGIconImageList for VCL/FMX

and instead I get error when building for non-Windows platform (say Android) that for example FMX.SVGIconImage is missing (whereas before I'd get a warning that several of related units where implicitly imported into my package)

image

my package does build/install fine for Windows though

does the installer fail to set unit search paths to point to the sources of those units? (whereas GetIt installer does set such as it seems)?

@birbilis
Copy link
Contributor Author

Btw, is it safe if I install again via GetIt the SVGIconImageList without first uninstalling the version installed by the downloaded installer? Or does it handle that case too?

@carloBarazzetta
Copy link
Contributor

For the rest of your check I'll check as soon as possible.
Tu uninstall the donwload installer use Control Panel and unistall it, before install from GetiIt...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants