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

Disable DEBUG for Windows nightly #757

Closed
rgaudin opened this issue Sep 17, 2024 · 8 comments · Fixed by #779
Closed

Disable DEBUG for Windows nightly #757

rgaudin opened this issue Sep 17, 2024 · 8 comments · Fixed by #779
Assignees
Labels

Comments

@rgaudin
Copy link
Member

rgaudin commented Sep 17, 2024

⚠️ It's at the frontier of bug/feature.

On Windows, binaries cl-compiled with _DEBUG require the debug version of the runtime libraries (MSVCRT).

Currently, our nightlies use _DEBUG and thus require nightly users to install specific development tools to use them.

After discussing it with @kelson42 it appears nightlies main role is to allow power users to test the current state of projects and is not a developer/debug tool.

We should thus remove _DEBUG from nightlies.

What it entails is unclear at this stage ; this is in reaction of testing a kiwix-desktop. I dont know the state of shared dependencies.

On kiwix-desktop, at least there is:

        @property
        def make_targets(self):
            if platform.system() == "Windows":
                yield "release-all" if option("make_release") else "debug-all"
            else:
                yield from super().make_targets

        @property
        def make_install_targets(self):
            if platform.system() == "Windows":
                yield "release-install" if option("make_release") else "debug-install"
            else:
                yield "install"
@kelson42
Copy link
Contributor

@veloman-yunkan This impact I believe all the repositories and make the nightly buiilds almost totally unusable. Do you believe this is easily fixable?

@kelson42
Copy link
Contributor

@veloman-yunkan Any news here? I kind of though there was a test version somewhere but can 't find it anymore.

@veloman-yunkan
Copy link
Collaborator

I worked on this issue a couple of weeks ago but never published a test version. I switched to kiwix-desktop 2.4 release tasks since then.

One thing that I figured out back then was that disabling DEBUG for Windows nightly builds will result in disabling DEBUG for Windows CI builds too. I don't think that it is a big problem.

The other problem that I noticed was that kiwix-desktop.exe in the Windows native_static build doesn't seem to be a statically linked executable.

@veloman-yunkan
Copy link
Collaborator

veloman-yunkan commented Oct 31, 2024

On Windows, binaries cl-compiled with _DEBUG require the debug version of the runtime libraries (MSVCRT).

Currently, our nightlies use _DEBUG and thus require nightly users to install specific development tools to use them.

Can't we address that problem by simply bundling the debug version of the runtime libraries with the artifacts of the nightly builds?

@kelson42
Copy link
Contributor

On Windows, binaries cl-compiled with _DEBUG require the debug version of the runtime libraries (MSVCRT).

Currently, our nightlies use _DEBUG and thus require nightly users to install specific development tools to use them.

Can't we address that problem by simply bundling the debug version of the runtime libraries with the artifacts of the nightly builds?

I would really like to avoid this.

@veloman-yunkan
Copy link
Collaborator

On Windows, binaries cl-compiled with _DEBUG require the debug version of the runtime libraries (MSVCRT).
Currently, our nightlies use _DEBUG and thus require nightly users to install specific development tools to use them.

Can't we address that problem by simply bundling the debug version of the runtime libraries with the artifacts of the nightly builds?

I would really like to avoid this.

Why? How is this different from bundling other dynamic libraries?

@rgaudin
Copy link
Member Author

rgaudin commented Nov 1, 2024

We are not allowed to do this. It's a licensing issue.

@kelson42
Copy link
Contributor

kelson42 commented Nov 3, 2024

On Windows, binaries cl-compiled with _DEBUG require the debug version of the runtime libraries (MSVCRT).
Currently, our nightlies use _DEBUG and thus require nightly users to install specific development tools to use them.

Can't we address that problem by simply bundling the debug version of the runtime libraries with the artifacts of the nightly builds?

I would really like to avoid this.

Why? How is this different from bundling other dynamic libraries?

First of all I don't want to have other libraries in DLL either, we have many issues around this topic. DLL add a level of hassle and considering we deal with FOSS, we can avoid this. The only place where we have (for good reasons) to deal with DLL is the libzim... and maybe at some point with the libkiwix.

Then, here we don't need the debig symbols in nightlirs, therefore no reason to conplexify everything for this.

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

Successfully merging a pull request may close this issue.

3 participants