[Csnd-dev] Running a local Windows build
Date | 2021-09-29 15:05 |
From | Dave Seidel |
Subject | [Csnd-dev] Running a local Windows build |
Now that I have the new build working (and it's working nicely), I'd like to understand how to run the resulting binary. I've been building and running Csound on Linux (including Raspberry Pi) for years, and am quite comfortable with that. But of course I can't just do "sudo make install" on Windows -- as far as I know. I've never built the Win installer and don't know how to do so.
When I execute csound.exe in my build/Release directory, I get no console output at all, regardless of which command line options I use (e.g. -v -h). I'm guessing that this is because the binary is not looking in the current directory for the dependent DLLs. So what is the procedure to run and/or install a local Win build? - Dave |
Date | 2021-09-29 16:31 |
From | Stephen Kyne |
Subject | Re: [Csnd-dev] Running a local Windows build |
Hi Dave,
The csound.exe binary should work in the output directory so that is strange. Is it silently crashing? It might be worth trying to launch/debug csound_bin in Visual Studio and see what happens. You should get more information via the IDE.
FYI you can do cmake installs which should work cross platform (on Linux it would be the same as 'make install'). Ideally our project would support building and installing with just
// generate project, build it and install it
cmake -B buildDir -S . -DCMAKE_BUILD_TYPE=Release
cmake --build
buildDir
cmake --install
This isn't fully working for Windows yet though. I'm trying to improve the cmake on Windows experience lately to help streamline the CI and in general.
Stephen
From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Dave Seidel <dave.seidel@GMAIL.COM>
Sent: Wednesday 29 September 2021 15:05 To: CSOUND-DEV@LISTSERV.HEANET.IE <CSOUND-DEV@LISTSERV.HEANET.IE> Subject: [Csnd-dev] Running a local Windows build Now that I have the new build working (and it's working nicely), I'd like to understand how to run the resulting binary. I've been building and running Csound on Linux (including Raspberry Pi) for years, and am quite comfortable with that. But
of course I can't just do "sudo make install" on Windows -- as far as I know. I've never built the Win installer and don't know how to do so.
When I execute csound.exe in my build/Release directory, I get no console output at all, regardless of which command line options I use (e.g. -v -h). I'm guessing that this is because the binary is not looking in the current directory for the dependent
DLLs. So what is the procedure to run and/or install a local Win build?
- Dave
|
Date | 2021-09-29 17:49 |
From | Dave Seidel |
Subject | Re: [Csnd-dev] Running a local Windows build |
Thanks, Stephen. It will be great to be able to install using cmake. In the meantime, I did a fresh debug build in VC, started it up using the debugger, and it died with this: Exception thrown at 0x00007FF88EAE1308 (ipmidi.dll) in csound.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF. There are no symbols for ipmidi.dll. On Wed, Sep 29, 2021 at 11:31 AM Stephen Kyne <stevek@outlook.ie> wrote:
|
Date | 2021-09-30 01:47 |
From | Dave Seidel |
Subject | Re: [Csnd-dev] Running a local Windows build |
Looks like it's picking up ipmidi.dll from it's installed location, rather than the local build: C:\Program Files\Csound6_x64\plugins64\ipmidi.dll On Wed, Sep 29, 2021 at 12:49 PM Dave Seidel <dave.seidel@gmail.com> wrote:
|
Date | 2021-09-30 02:19 |
From | Dave Seidel |
Subject | Re: [Csnd-dev] Running a local Windows build |
Sorry, it's just that OPCODE6DIR had been set by the previous installation. If I override that to point to the local build it works fine. On Wed, Sep 29, 2021 at 8:47 PM Dave Seidel <dave.seidel@gmail.com> wrote:
|
Date | 2021-09-30 13:46 |
From | Stephen Kyne |
Subject | Re: [Csnd-dev] Running a local Windows build |
This is a problem I ran into before as well. It might be nice to automatically pick up opcodes from the local folder in debug builds maybe. That might be something
we can add.
From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Dave Seidel <dave.seidel@GMAIL.COM>
Sent: Thursday 30 September 2021 02:19 To: CSOUND-DEV@LISTSERV.HEANET.IE <CSOUND-DEV@LISTSERV.HEANET.IE> Subject: Re: [Csnd-dev] Running a local Windows build Sorry, it's just that OPCODE6DIR had been set by the previous installation. If I override that to point to the local build it works fine.
On Wed, Sep 29, 2021 at 8:47 PM Dave Seidel <dave.seidel@gmail.com> wrote:
|
Date | 2021-09-30 14:23 |
From | Dave Seidel |
Subject | Re: [Csnd-dev] Running a local Windows build |
Maybe as simple as having the internal logic check the "current directory" (u.e., location of the main binary) before looking in other locations for the opcodes. And maybe a command-line switch to enable/disable that behavior. On Thu, Sep 30, 2021 at 8:46 AM Stephen Kyne <stevek@outlook.ie> wrote:
|
Date | 2021-09-30 14:27 |
From | Dave Seidel |
Subject | Re: [Csnd-dev] Running a local Windows build |
Alternatively, it would be great if we could run a local build in a Docker container, but I guess that's not possible on Windows (unless I'm wrong -- all my Docker experience is on Linux hosts). On Thu, Sep 30, 2021 at 9:23 AM Dave Seidel <dave.seidel@gmail.com> wrote:
|
Date | 2021-09-30 15:53 |
From | Stephen Kyne |
Subject | Re: [Csnd-dev] Running a local Windows build |
Afaik it's only possible to load the one opcode directory currently (whatever the env variable is). I would like a development solution though.
It is possible to run Docker on Windows also. This could be another possibility too. We have some images for the CI already for android and emscripten.
From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Dave Seidel <dave.seidel@GMAIL.COM>
Sent: Thursday 30 September 2021 14:27 To: CSOUND-DEV@LISTSERV.HEANET.IE <CSOUND-DEV@LISTSERV.HEANET.IE> Subject: Re: [Csnd-dev] Running a local Windows build Alternatively, it would be great if we could run a local build in a Docker container, but I guess that's not possible on Windows (unless I'm wrong -- all my Docker experience is on Linux hosts).
On Thu, Sep 30, 2021 at 9:23 AM Dave Seidel <dave.seidel@gmail.com> wrote:
|
Date | 2021-09-30 15:59 |
From | Dave Seidel |
Subject | Re: [Csnd-dev] Running a local Windows build |
Not proposing to load more than one opcode dir, simply to try the main binary's location first and use it if opcodes are present, otherwise use the one specified in the environment. On Thu, Sep 30, 2021 at 10:53 AM Stephen Kyne <stevek@outlook.ie> wrote:
|
Date | 2021-09-30 21:29 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] [EXTERNAL] Re: [Csnd-dev] Running a local Windows build |
The code is there to accept semicolon (win) or colon (elsewhere)-separated list. If it's not working, then it's a bug. Prof. Victor Lazzarini
Maynooth University
Ireland
On 30 Sep 2021, at 15:54, Stephen Kyne <stevek@outlook.ie> wrote:
|
Date | 2021-09-30 21:33 |
From | Dave Seidel |
Subject | Re: [Csnd-dev] [EXTERNAL] Re: [Csnd-dev] Running a local Windows build |
Good to know, I will test it out in a bit. On Thu, Sep 30, 2021 at 4:29 PM Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote:
|
Date | 2021-09-30 22:03 |
From | Dave Seidel |
Subject | Re: [Csnd-dev] [EXTERNAL] Re: [Csnd-dev] Running a local Windows build |
Works fine. I noticed that if the list of directories starts with one that is invalid, csound exits with an error. It might be friendlier if it tried the next directory in the list. Just a thought. On Thu, Sep 30, 2021 at 4:33 PM Dave Seidel <dave.seidel@gmail.com> wrote:
|