swcarpentry / windows-installer

Software Carpentry installer for Windows.
MIT License
21 stars 17 forks source link

swc-windows-installer.py: Install GNU Make from gnuwin32 #35

Closed wking closed 8 years ago

wking commented 8 years ago

The Make binary in msysGit doesn't work with the MSys2-based Git for Windows, raising:

The program can't start because msys-1.0.dll is missing from your
computer.

The gnuwin32 binaries are built from GNU Make v3.81 (2006-04-01), but they run without crashing.

ethanwhite commented 8 years ago

I'm still getting:

ethanwhite@IF-WEC-EW1 MINGW64 ~
$ make
/c/Users/ethanwhite/.swc/lib/make/bin/make.exe: error while loading shared libra
ries: ?: cannot open shared object file: No such file or directory

with the associated

The program can't start because libintl3.dll is missing from your computer.

This is a different missing dependency than before. I wonder if we may need the dependencies zip as well?

If you download the package as Zip files, then you must download and install the dependencies zip file yourself.

wking commented 8 years ago

On Thu, Nov 19, 2015 at 10:36:31AM -0800, Ethan White wrote:

If you download the package as Zip files, then you must download and install the dependencies zip file yourself.

Ah, that's probably what's going on. Do we have to unpack that dependencies zip somewhere special? If you unpack it to the same make_dir (so libintl3.dll and libiconv2.dll are in the same directory as the new make.exe), does that work?

ethanwhite commented 8 years ago

If you unpack it to the same make_dir (so libintl3.dll and libiconv2.dll are in the same directory as the new make.exe), does that work?

Yep, looks like that took care of it.

wking commented 8 years ago

On Thu, Nov 19, 2015 at 10:53:16AM -0800, Ethan White wrote:

If you unpack it to the same make_dir (so libintl3.dll and libiconv2.dll are in the same directory as the new make.exe), does that work?

Yep, looks like that took care of it.

Ok, should be fixed in 87d509d (although note that the security on the dependency tarball is questionable. See the commit message for details).

ethanwhite commented 8 years ago

Now getting:

ethanwhite@IF-WEC-EW1 MINGW64 ~
$ python swc-windows-installer.py
Preparing your Software Carpentry awesomeness!
installer version 0.2
create nosetests entrypoint C:\Users\ethanwhite\.swc\bin\nosetests
installing http://downloads.sourceforge.net/project/gnuwin32/make/3.81/make-3.81
-bin.zip into C:\Users\ethanwhite\.swc\lib\make
installing http://downloads.sourceforge.net/project/gnuwin32/make/3.81/make-3.81
-dep.zip into C:\Users\ethanwhite\.swc\lib\make
Traceback (most recent call last):
  File "swc-windows-installer.py", line 324, in <module>
    main()
  File "swc-windows-installer.py", line 290, in main
    install_make(install_directory=make_dir)
  File "swc-windows-installer.py", line 163, in install_make
    path=os.path.join(install_directory, 'bin', 'libiconv2.dll'))
  File "swc-windows-installer.py", line 145, in zip_install
    except FileExistsError:
NameError: global name 'FileExistsError' is not defined
ethanwhite commented 8 years ago

That error is on Python 2.7.10.

wking commented 8 years ago

On Thu, Nov 19, 2015 at 11:58:45AM -0800, Ethan White wrote:

NameError: global name 'FileExistsError' is not defined

Thanks, I'd only tested with Python 3. Should be fixed with 5b74c6c (and the Python 3 docs only mention the super-class OSError 1, even though I get the subclass FileExistsError with my local 3.4.3).

ethanwhite commented 8 years ago
ethanwhite@IF-WEC-EW1 MINGW64 ~
$ python swc-windows-installer.py
  File "swc-windows-installer.py", line 54
    if sys.version_info >imp= (3, 0):  # Python 3
                            ^
SyntaxError: invalid syntax
wking commented 8 years ago

On Fri, Nov 20, 2015 at 06:07:50AM -0800, Ethan White wrote:

if sys.version_info >imp= (3, 0):  # Python 3

Grr, sloppy, sloppy. Should be fixed with 8107c0d.

ethanwhite commented 8 years ago

That one did it. Thanks. I'll try to find time to get a new release rolled in the next couple of days

wking commented 8 years ago

On Fri, Nov 20, 2015 at 08:13:37AM -0800, Ethan White wrote:

That one did it. Thanks. I'll try to find time to get a new release rolled in the next couple of days

Merging the python branch into master should be easy to do now, and I can handle that and tagging if you want. I'll leave building a new Inno Setup installer and attaching it to the release to you ;).

ethanwhite commented 8 years ago

Sounds good.

wking commented 8 years ago

On Fri, Nov 20, 2015 at 10:56:19AM -0800, Ethan White wrote:

Sounds good.

Version bumped to v0.3, merged to master, and master is tagged. Once you've got the installer built, attach it here 1.