[Scons-users] Specify Toolchain for Windows

Bill Deegan bill at baddogconsulting.com
Tue May 23 12:32:00 EDT 2017


Can you pastebin the error you're seeing?
Even better your build log.
Chances are its something simple if you're just seeing a linking issue.
-Bill

On Tue, May 23, 2017 at 9:18 AM, R0b0t1 <r030t1 at gmail.com> wrote:

> On Fri, May 19, 2017 at 7:33 PM, Bill Deegan <bill at baddogconsulting.com>
> wrote:
> > I installed on my machine.. base install path slightly different.
> > But almost same as yours.
> >
> > I've created something that works for me with same version of mingw.
> > Please give it a try and let us know.
> >
> > https://bitbucket.org/bdbaddog/scons-mingw64-sample/src
> >
> > -Bill
> >
> >
> > On Fri, May 19, 2017 at 12:57 PM, R0b0t1 <r030t1 at gmail.com> wrote:
> >>
> >> On Fri, May 19, 2017 at 2:54 PM, R0b0t1 <r030t1 at gmail.com> wrote:
> >> > On Fri, May 19, 2017 at 10:40 AM, Bill Deegan
> >> > <bill at baddogconsulting.com> wrote:
> >> >>
> >> >>
> >> >> On Fri, May 19, 2017 at 8:06 AM, R0b0t1 <r030t1 at gmail.com> wrote:
> >> >>>
> >> >>> On Thu, May 18, 2017 at 2:03 PM, Zarko Berberski (Aditi Staffing
> LLC)
> >> >>> via Scons-users <scons-users at scons.org> wrote:
> >> >>> > Are you launching scons.py from some command shell/script ?
> >> >>> >
> >> >>> > The setup I'm working with uses cygwin64 and the build script adds
> >> >>> > "C:\cygwin64\usr\x86_64-w64-mingw32\sys-root\mingw\bin" (and the
> >> >>> > whole slew
> >> >>> > of others) so scons.py already has it and doesn't need build.
> >> >>> >
> >> >>> > When I need to invoke scons.py standalone (like form a debugger) I
> >> >>> > inject a file by adding something like:
> >> >>> >
> >> >>> > Import os, sys
> >> >>> > SconsStarter = os.path.join( os.path.dirname(__file__),
> >> >>> > "SconsStarter.py")
> >> >>> > execfile(SconsStarter)
> >> >>> >
> >> >>> > to the very beginning of scons.py and SconsStarter.py adds all
> paths
> >> >>> > I
> >> >>> > need, like:
> >> >>> >
> >> >>> >
> >> >>> > ------------------------------------------------------------
> ----------------
> >> >>> > BuildRoot = r"C:\cygwin64\home\v-zaberb"
> >> >>> >
> >> >>> > BuildPath = [
> >> >>> >               r"C:\ocamlmgw64\bin",
> >> >>> >               r"C:\PROGRA~2\MICROS~1.0\VC\bin\amd64",
> >> >>> >               r"C:\PROGRA~2\MICROS~1.0\VC\bin",
> >> >>> >               r"C:\PROGRA~2\MICROS~4\F#\4.0\FRAMEW~1\v4.0/",
> >> >>> >
> >> >>> > r"C:\cygwin64\usr\x86_64-w64-mingw32\sys-root\mingw\bin"
> >> >>> > ]
> >> >>> >
> >> >>> > SconsPath = [ join(sys.prefix, 'scons'),    # throwaway, scons.py
> >> >>> > eats
> >> >>> > sys.path[0]
> >> >>> >               join(sys.prefix, 'Lib', 'site-packages',
> >> >>> > 'scons-2.5.0'),
> >> >>> >               join(sys.prefix, 'Lib', 'site-packages',
> >> >>> > 'scons-2.5.0',
> >> >>> > 'scons')
> >> >>> >               ]
> >> >>> >
> >> >>> > sys.path = SconsPath + BuildPath + sys.path
> >> >>> >
> >> >>> >
> >> >>> > ------------------------------------------------------------
> ----------------
> >> >>> >
> >> >>> > Oh and you do need to put one extra path at the top of your
> sys.path
> >> >>> > since scons.py is just going to eat it :-) Not kidding:
> >> >>> >
> >> >>> >
> >> >>> >
> >> >>> > https://bitbucket.org/scons/scons/src/
> f34900d9bfd84fd3c44ebe5763dfad0e8bb1e247/src/script/scons.
> py?at=default&fileviewer=file-view-default#scons.py-68
> >> >>> >
> >> >>>
> >> >>> I am running SCons from PowerShell:
> >> >>>
> >> >>> `C:\Python27\python.exe "C:\Python27\Scripts\scons.py"`
> >> >>
> >> >>
> >> >> Typically modern pythons install the py.exe which you can use as
> >> >> follows:
> >> >>
> >> >> py -2 "C:\Python27\Scripts\scons.py"`
> >> >> (and soon when scons 3.0)
> >> >> py -3 "C:\Python27\Scripts\scons.py"`
> >> >>
> >> >> Also in your case you can do the following:
> >> >>
> >> >> (from powershell)
> >> >> $ENV:PATH += ";C:\Python27\Scripts\"
> >> >>
> >> >> Then just run scons. (there should be a scons.bat installed there as
> >> >> well.
> >> >>
> >> >
> >> > Yes, this works, thanks.
> >> >
> >> >>>
> >> >>>
> >> >>> The Python 2.7 installer didn't add itself to my path, and it
> >> >>> conflicts with Python 3.6. Consequently I run SCons by referencing
> >> >>> both locations explicitly.
> >> >>>
> >> >>> This seems to work, but SCons is using a MinGW installation that was
> >> >>> either installed alongside Python 2.7 or incidentally by some other
> >> >>> POSIX-software-for-Windows package.
> >> >>>
> >> >>> I tried to duplicate the path as you recommended, but SCons is still
> >> >>> trying to use the old toolchain:
> >> >>>
> >> >>> ```Python
> >> >>> path = ['C:/MinGW/x86_64-6.3.0-posix-seh-rt_v5-rev2/mingw64/bin',
> >> >>>         'C:/MinGW/x86_64-6.3.0-posix-seh-rt_v5-rev2/mingw64/bin']
> >> >>>
> >> >>> environ = Environment(tools=[])
> >> >>> environ.PrependENVPath('PATH', path)
> >> >>> environ.Tool('default')
> >> >>>
> >> >>> shooter = environ.Program(target=target, source=sources,
> >> >>>     PATH=path, LIBS=libraries, CPPPATH=incpath, LIBPATH=libpath)
> >> >>> ```
> >> >>>
> >> >>
> >> >> Point me to the installation kit you used for mingw and I'll try it
> on
> >> >> my
> >> >> machine.
> >> >> The above should work. If not likely there's a bug to be filed/fixed.
> >> >>
> >> >> Remove PATH from your Program(). Not needed.
> >> >>
> >> >
> >> > I've removed it the explicit setting of PATH. I installed Python
> >> > 2.7.13 from the installed found on the drop-down menu on
> >> > https://python.org labelled "Download." I installed MinGW-w64 from
> the
> >> > installer located at https://sourceforge.net/projects/mingw-w64/ -
> the
> >> > string "x86_64-6.3.0-posix-seh-rt_v5-rev2" specifies the options
> which
> >> > need selected.
> >> >
> >> > I installed MinGW manually some time ago but have since removed it, I
> >> > am not precisely sure what reinstalled it.
> >> >
> >>
> >> My apologies, I forgot to add - it is installed into C:\MinGW,
> >> everything looks like it was left at the defaults.
> >>
> >> >>>
> >> >>> I appreciate the discussion and can't complain about the quality of
> >> >>> the help, but my experience with SCons on Windows indicates to me
> that
> >> >>> there is *no* build system that is easy to use on Windows. If SCons
> >> >>> worked, it would be easier to configure than CMake (far easier), but
> >> >>> as it is it doesn't seem to work and I may need to move back to
> CMake.
> >> >>
> >> >>
> >> >> Works for me and many others.
> >> >> Windows is a first class platform for SCons.
> >> >>
> >> >> -Bill
> >> >>
> >> >
> >> > I don't want this to go sour but "works for me" doesn't make my
> >> > computer disobey the laws of physics and begin working. There are many
> >> > projects which claim to support Windows when really they support the
> >> > developer's installation of Windows, and may or may not work
> >> > elsewhere.
> >> >
> >> > Why? Still trying to find out.
> >> _______________________________________________
> >> Scons-users mailing list
> >> Scons-users at scons.org
> >> https://pairlist4.pair.net/mailman/listinfo/scons-users
> >
> >
> >
> > _______________________________________________
> > Scons-users mailing list
> > Scons-users at scons.org
> > https://pairlist4.pair.net/mailman/listinfo/scons-users
> >
>
> I appreciate the effort but it still doesn't work. I wasn't able to
> clone the repository however I added the changes to my existing
> SContruct file and they should be equivalent. I can paste the
> environment if you'd like.
>
> It's possible I am only seeing the error because I am trying to link
> against 64 bit libraries. If I were not, SCons may have been able to
> use the 32 bit toolchain without my knowledge.
>
> I'll still follow along but I think I need to use a different build
> system for now.
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20170523/ae33fd1b/attachment-0001.html>


More information about the Scons-users mailing list