Thread overview
dub dustmite struggles
Jan 20, 2020
DanielG
Jan 20, 2020
FeepingCreature
Jan 20, 2020
DanielG
Jan 20, 2020
Andre Pany
Jan 20, 2020
DanielG
January 20, 2020
I can't seem to figure out what dub's dustmite command is looking for with its regexes. No matter what I try - no matter how simple - the initial test fails.

I am able to run dustmite standalone just fine with the following test script:

cd example
dub 2>&1 | grep -F "ScrollView6__initZ+0xd8): undefined reference to \`internal'"

However, when I attempt using 'dub dustmite' with --linker-regex (or --linker-status, even), the initial test always fails. I've also tried simplifying the regex on the assumption that I'm not escaping things properly - to no avail.

Is it perhaps something to do with my project structure? My project is a library containing an /example subfolder, containing an application dub project, and that's where my linker error occurs, not in the library itself. So that's where I'm attempting to run dub dustmite as well.

January 20, 2020
On Monday, 20 January 2020 at 06:48:08 UTC, DanielG wrote:
> I can't seem to figure out what dub's dustmite command is looking for with its regexes. No matter what I try - no matter how simple - the initial test fails.
>
> I am able to run dustmite standalone just fine with the following test script:
>
> cd example
> dub 2>&1 | grep -F "ScrollView6__initZ+0xd8): undefined reference to \`internal'"
>
> However, when I attempt using 'dub dustmite' with --linker-regex (or --linker-status, even), the initial test always fails. I've also tried simplifying the regex on the assumption that I'm not escaping things properly - to no avail.
>
> Is it perhaps something to do with my project structure? My project is a library containing an /example subfolder, containing an application dub project, and that's where my linker error occurs, not in the library itself. So that's where I'm attempting to run dub dustmite as well.

I don't know how `dub dustmite` works, but my advice would be to use standalone dustmite and write a shellscript that handles your success/fail condition with an exit code. That's always worked for me, and it makes it easier to externally check what's happening.
Ie. test.sh:

---
#!/bin/sh
dub 2>&1 |grep -F "ScrollView6__initZ+0xd8): undefined
> reference to \`internal'"
---

dustmite example ../test.sh

Then if you have to recurse into a dub project, just copy it into your example folder so it's compiled in, and repeat.
January 20, 2020
On Monday, 20 January 2020 at 07:14:24 UTC, FeepingCreature wrote:
> dustmite example ../test.sh

Right, that's what I'm already doing now. However, the process is extremely slow (takes 10+ hours for the current project, when I've done this in the past) so I am hoping to speed things up a bit by using dub's dustmite directly (vs. the test script invoking dub anew on each run).

January 20, 2020
On Monday, 20 January 2020 at 06:48:08 UTC, DanielG wrote:
> I can't seem to figure out what dub's dustmite command is looking for with its regexes. No matter what I try - no matter how simple - the initial test fails.
>
> I am able to run dustmite standalone just fine with the following test script:
>
> cd example
> dub 2>&1 | grep -F "ScrollView6__initZ+0xd8): undefined reference to \`internal'"
>
> However, when I attempt using 'dub dustmite' with --linker-regex (or --linker-status, even), the initial test always fails. I've also tried simplifying the regex on the assumption that I'm not escaping things properly - to no avail.
>
> Is it perhaps something to do with my project structure? My project is a library containing an /example subfolder, containing an application dub project, and that's where my linker error occurs, not in the library itself. So that's where I'm attempting to run dub dustmite as well.

In general dub Dustmite works fine, I used it several times. Maybe it has to do s.th. with your project structure. Please create a dub issue with an example zip.

But yes, it could take also with dub a lot of time.

One thing which caused me a lot of headaches, dmd is lies about the error message if coloured output is on. Then the error text lacks some characters.

Kind regards
Andre
January 20, 2020
On Monday, 20 January 2020 at 15:04:32 UTC, Andre Pany wrote:
> In general dub Dustmite works fine, I used it several times. Maybe it has to do s.th. with your project structure. Please create a dub issue with an example zip.

I've created a minimal nested project with a similar structure (library with nested app project), and dub-dustmite works fine there. So it must be something peculiar to my real project.

Once the standalone dustmite finishes running, I'll spend some time manually reducing my project structure to something repeatable to file an issue with.

Thanks!