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

Reduce compilation annoyances w.r.t. vibe #36

Open
3 tasks
pheerai opened this issue Jan 11, 2019 · 2 comments
Open
3 tasks

Reduce compilation annoyances w.r.t. vibe #36

pheerai opened this issue Jan 11, 2019 · 2 comments

Comments

@pheerai
Copy link
Member

pheerai commented Jan 11, 2019

Summary

This is a meta task for tracking and discussing the current state of dub builds.

Occuring problems

With requests pulling vibe-d as (unused) dependency, the following two things happen:

  1. vibe-d:http takes ages to compile on the RPi3B, taking up 90% of RAM and up to 750 M of swap space (for a total consumption of approx. 1.7 GB)
  2. Same goes for linking
  3. vibe-d:tls even has to be specified as an explicit dependency, otherwise the necessary subconfiguration for running with openssl1.1 is not applied and linking fails.

Configuration and environment

  • Version: ~develop
  • OS and version of OS: ArchLinuxARM, current as of 2019/01/10
  • Architecture: (x86, x86_64, armv7h etc.) armv7h

Other things to be mentioned

(List of links to related GH issues will be added soon)

@ghost91-
Copy link
Contributor

ghost91- commented Aug 21, 2020

Unfortunately, this is a limitation of dub and there isn't really a way around it without extracting the vibe.d functionality of requests to a separate package.

See dlang/dub#1706, dlang/dub#1148, https://github.com/dlang/dub/wiki/FAQ

@Geod24
Copy link

Geod24 commented Sep 14, 2020

Just stumbled upon this. You guys commit your dub.selections.json, so here's a workaround for you:

  1. Create a library folder if you don't have one (I use submodules);
  2. Identify all dependencies that are unused;
  3. For each of them, create a folder (e.g. submodules/vibe.d) and add a dummy file such as this.
  4. Change your dub.selections.json to point your unused dependency, such as this.

And voila. In our case we use git submodule only for dependency, but we came up with the same problem (dub trying to pull things it shouldn't). This hack lets it believe it already has them, and you'll never get an error since the configuration is not used.

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

No branches or pull requests

3 participants