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

dSPACE.Runtime.InteropServices.BuildTasks.Tools.targets does not create a target for 32-bit assemblies #247

Closed
jmorgan-habs opened this issue Apr 17, 2024 · 8 comments
Assignees
Labels
bug Something isn't working build issue A problem with the used github actions

Comments

@jmorgan-habs
Copy link

I'm trying to use the NuGet package to integrate TLB exports into my build process. For pure 32-bit libraries, it appears that there is a conditional statement here that is blocking a target for the export from being generated, despite lines earlier in the file which appear to be setting up the use of the 32-bit dscom.exe

<Target Name="DsComExportTypeLibraryAfterBuild"
AfterTargets="AfterBuild"
Inputs="$(_DsComExportTypeLibraryAssemblyFile)"
Outputs="$(_DsComExportTypeLibraryTargetFile)"
Condition="'$(Platform)' == 'x64' OR '$(Platform)' == 'AnyCPU'">

@jmorgan-habs
Copy link
Author

Apologies if I'm misunderstanding something here with regards to the pure 32-bit support. If the dscom library in the x86 folder is meant to only support AnyCPU libraries, can the dscom32 library also be added to the build targets package?

@carstencodes carstencodes self-assigned this Apr 17, 2024
@carstencodes carstencodes added question Further information is requested under investigation This item is under investigation labels Apr 17, 2024
@carstencodes
Copy link
Member

I'm Not Sure, If I will be able to Look at that tomorrow, but I should be able to Look at that on friday.

Regards

Carsten

@carstencodes
Copy link
Member

I had some issues with x86 based builds in the past, maybe That's the reason why IT accidently was Not added.

This is rather Strange. Maybe IT slipped through.

I'll Try to get it running with some of our Samples.

@carstencodes
Copy link
Member

Ok, I can confirm that, when I run the example script, it skips the x86 builds:

image

But runs this in x64

image

I'll correct that and run some tests with 32 bit based builds

carstencodes pushed a commit that referenced this issue Apr 26, 2024
@carstencodes carstencodes added bug Something isn't working build issue A problem with the used github actions and removed question Further information is requested under investigation This item is under investigation labels Apr 26, 2024
@carstencodes
Copy link
Member

I found an issue with the github workflow / actions.

On my local machine I have installed .NET 8 x86, but it seems not to be installed on the build machines.

Even though I am using a self-contained build.

I'll investigate it any further and keep you informed.

@carstencodes
Copy link
Member

@marklechtermann @SOsterbrink I am using self-contained=false in DsComPackaging.targets. The reason is

  1. It decreases the size of the NuGet packages
  2. It does not bundle the runtime which is better for (security) compliance reasons.

I have no idea, how to install the .NET 8 Runtime in 32 bit (x86) on the github runners.

I do two things:

  1. I can add dotnet runtime using a self-contained distribution
  2. I can disable the compatibility test for x86 during pull requests.

Both options are not really attractive. And honestly, I am reluctant to do any of this. I am more a fan of removing the root cause.

Do you have any idea, HOW to add the .NET RT 8.0 x86 to the agent?

@carstencodes
Copy link
Member

According to the installer script in the action the variable processor architecture could be used, but this is skipped.

@marklechtermann
Copy link
Member

I would temporarily deactivate the x86 check.
I don't know of any other solution.
If we come up with something better, we can release the x86 test later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working build issue A problem with the used github actions
Projects
None yet
Development

No branches or pull requests

3 participants