Author Topic: vsbuild path error when using cygwin bash build shell  (Read 2325 times)

dab

  • Junior Community Member
  • Posts: 2
  • Hero Points: 0
vsbuild path error when using cygwin bash build shell
« on: April 28, 2011, 04:22:03 pm »
I am using SE 15.0.1.3 in Windows 7. I have the build shell (def_ntshell) configured as Cygwin bash. I have also configured build commands in "project properties" => "Tools".

If I execute vsbuild directly from the build window command line, the build occurs and I get the benefits of the "next compile error" functionality. However, the lines with compile errors are not visually tagged, nor are files in the project automatically saved before the build starts. "project-build" must perform that magic???

So - the real problem - when using CTRL+M to initiate the build, I get the following bash shell error:
   
bash: C:\Program Files (x86)\SlickEditV15.0.1\win\vsbuild: command not found

I have set the bash shell variable nodosfilewarning=1.

I have searched this forum unsuccessfully to determine how to solve this path problem - I am sure it's simple but it eludes me at the moment.

Lee

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 1161
  • Hero Points: 107
Re: vsbuild path error when using cygwin bash build shell
« Reply #1 on: April 28, 2011, 04:41:20 pm »
Depending on how your project was created, the build (& rebuild) command in the project file probably look something like this:

"%(VSLICKBIN1)vsbuild" "%w" "%r" -t build

where VSLICKBIN is an environment variable created by SlickEdit that points to bin\win directory.

As one workaround, you would need to go through your project file (.vpj) and change the CmdLine for all the targets that reference "%(VSLICKBIN1)vsbuild" to a path cygwin can deal with (/cygdrive/c/Program Files (x86)/SlickEditV15.0.1/win/vsbuild).  Or just make your own environment variable with the cygwin path and substitute VSLICKBIN1 with your own.


dab

  • Junior Community Member
  • Posts: 2
  • Hero Points: 0
Re: vsbuild path error when using cygwin bash build shell
« Reply #2 on: April 28, 2011, 07:09:15 pm »
Lee - I am using a user generated makefile, so the project file definition of build looks like:

            <Target
                Name="Build"
                MenuCaption="&amp;Build"
                CaptureOutputWith="ProcessBuffer"
                Deletable="0"
                SaveOption="SaveWorkspaceFiles"
                ClearProcessBuffer="1">
                <Exec CmdLine="make PRODUCT=swan TYPE=debug"/>
            </Target>

The call to vsbuild isn't exposed in the .vpj file. However, because the build shell (now a bash shell) knows where vsbuild is because I can invoke vsbuild directly from the command line, I set the VSLICKBIN and VSLICKBIN1 env vars to null - to no avail. So the vsbuild command line must be explicitly generated somewhere?

Thanks!

Lee

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 1161
  • Hero Points: 107
Re: vsbuild path error when using cygwin bash build shell
« Reply #3 on: April 28, 2011, 07:44:45 pm »
That case is much more problematic, as the vsbuild command is sort of implied there.  The command is built on the fly and shelled out from macros.  We do not a supported solution for this.

You can bypass vsbuild step altogether for this case by adding a NoVSBUILD="1" attribute to the Build target, and the command is directly invoked by the shell.  However, in doing this, you lose the ability to automatically trigger the Message List and auto-generated error markers.  Next and prev error commands will still work fine.

Setting VSLICKBIN and VSLICKBIN1 to null is a whole other can of worms that I don't recommend it.  A lot of macros and internals depend on those being set correctly to be able to invoke background processes.