ruby-packer icon indicating copy to clipboard operation
ruby-packer copied to clipboard

Windows10 zlib.h not found

Open mini-nux opened this issue 4 years ago • 2 comments

Hi, thanks for ruby-packer. Great work!

I tried to compile a "hello World".

zlib.h was not found.

c:\temp> c:\temp>rubyc --v 2.7.1.dev

c:\temp>ruby -v ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x64-mingw32]

=> squashfs complete -> cd c:/temp => Building ruby for the 1st pass -> cd C:/Users/CHRIST~1/AppData/Local/Temp/rubyc/build_pass1 -> CI=true ENCLOSE_IO_USE_ORIGINAL_RUBY=true MAKE=nmake CL=/MP ENCLOSE_IO_RUBYC_1ST_PASS=true ENCLOSE_IO_RUBYC_2ND_PASS='' rc enclose_io_memfs.rc Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384 Copyright (C) Microsoft Corporation. All rights reserved.

-> CI=true ENCLOSE_IO_USE_ORIGINAL_RUBY=true MAKE=nmake CL=/MP ENCLOSE_IO_RUBYC_1ST_PASS=true ENCLOSE_IO_RUBYC_2ND_PASS='' call C:/Users/CHRIST~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev\win32\configure.bat --target=x64-mswin64 --disable-install-doc --with-openssl-dir=C:/Users/CHRIST~1/AppData/Local/Temp/rubyc/local --prefix=C:/Users/CHRIST~1/AppData/Local/Temp/rubyc/ruby_install Creating verconf.mk Creating Makefile.new "type `nmake' to make ruby." -> CI=true ENCLOSE_IO_USE_ORIGINAL_RUBY=true MAKE=nmake CL=/MP ENCLOSE_IO_RUBYC_1ST_PASS=true ENCLOSE_IO_RUBYC_2ND_PASS='' nmake

Microsoft (R) Program Maintenance Utility, Version 14.28.29335.0 Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

    BASERUBY = C:\RUBY27~1\bin\ruby.exe
    CC = cl -nologo
    LD = cl -nologo
    LDSHARED = cl -nologo -LD
    CFLAGS = -MD -Zi -W2 -wd4100 -wd4127 -wd4210 -wd4214 -wd4255 -wd4574  -wd4668 -wd4710 -wd4711 -wd4820 -wd4996  -we4028 -we4142 -we4047 -O2sy- -Zm600   -MD /Ox  -IC:/Users/CHRIST\~1/AppData/Local/Temp/rubyc/zlib -IC:/Users/CHRIST\~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev
    XCFLAGS = -DRUBY_EXPORT -I. -I.ext/include/x64-mswin64_140 -IC:/Users/CHRIST~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev/include -IC:/Users/CHRIST~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev -IC:/Users/CHRIST~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev/enc/unicode/12.1.0  -MD /Ox  -IC:/Users/CHRIST\~1/AppData/Local/Temp/rubyc/zlib -IC:/Users/CHRIST\~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev  -DCANONICALIZATION_FOR_MATHN
    CPPFLAGS =  -D_WIN32_WINNT=0x0600
    DLDFLAGS = -incremental:no -debug -opt:ref -opt:icf  -libpath:C:\\Users\\CHRIST\~1\\AppData\\Local\\Temp\\rubyc\\zlib C:/Users/CHRIST\~1/AppData/Local/Temp/rubyc/zlib/zlib.lib Advapi32.lib -dll
    SOLIBS =
    LANG =
    LC_ALL =
    LC_CTYPE =
    MFLAGS = -l

Creating config.h .ext\include\x64-mswin64_140\ruby\config.h updated Creating config.status compiling C:/Users/CHRIST~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev/main.c main.c C:\Users\CHRIST~1\AppData\Local\Temp\rubyc\build_pass1.ext\include\x64-mswin64_140\ruby/config.h(22): warning C4117: Makroname "_INTEGRAL_MAX_BITS" ist reserviert, "#define" wird ignoriert C:\Users\christiankasper\AppData\Local\Temp\rubyc\ruby-2.7.1.dev\enclose_io_win32.h(24): warning C4005: "stat": Makro-Neudefinition C:\Users\christiankasper\AppData\Local\Temp\rubyc\ruby-2.7.1.dev\include\ruby/win32.h(196): note: Siehe vorherige Definition von "stat" C:\Users\christiankasper\AppData\Local\Temp\rubyc\ruby-2.7.1.dev\enclose_io_win32.h(25): warning C4005: "fstat": Makro-Neudefinition C:\Users\christiankasper\AppData\Local\Temp\rubyc\ruby-2.7.1.dev\include\ruby/win32.h(203): note: Siehe vorherige Definition von "fstat" compiling C:/Users/CHRIST~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev/dmydln.c dmydln.c C:\Users\CHRIST~1\AppData\Local\Temp\rubyc\build_pass1.ext\include\x64-mswin64_140\ruby/config.h(22): warning C4117: Makroname "_INTEGRAL_MAX_BITS" ist reserviert, "#define" wird ignoriert compiling miniruby.rc generating C:/Users/CHRIST~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev/miniprelude.c C:/Users/CHRIST~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev/miniprelude.c updated compiling C:/Users/CHRIST~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev/miniinit.c miniinit.c C:\Users\CHRIST~1\AppData\Local\Temp\rubyc\build_pass1.ext\include\x64-mswin64_140\ruby/config.h(22): warning C4117: Makroname "_INTEGRAL_MAX_BITS" ist reserviert, "#define" wird ignoriert compiling C:/Users/CHRIST~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev/dmyext.c dmyext.c compiling C:/Users/CHRIST~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev/squash_cache.c squash_cache.c compiling C:/Users/CHRIST~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev/squash_decompress.c squash_decompress.c C:/Users/CHRIST~1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev/squash_decompress.c(28): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "zlib.h": No such file or directory NMAKE : fatal error U1077: ""C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64\cl.EXE"": Rückgabe-Code "0x2" Stop. Failed running [{"CI"=>"true", "ENCLOSE_IO_USE_ORIGINAL_RUBY"=>"true", "MAKE"=>"nmake", "CL"=>"/MP", "ENCLOSE_IO_RUBYC_1ST_PASS"=>"true", "ENCLOSE_IO_RUBYC_2ND_PASS"=>nil}, "nmake "]

mini-nux avatar Jan 10 '21 11:01 mini-nux

I too am running across this exact issue unfortunately. I am not quite sure, but I noticed at least with my folders, there was a "tilde" listed in the users directory causing problems, I noticed the developer has denoted this as a problem here and had to make a work around for his github actions build by providing a tmpdir argument to his ruby-packer build (which is subsequently being packed into an exe via ruby-packer; isn't bootstrapping fun!?):

https://github.com/pmq20/ruby-packer/issues/113

It looks like the tildes are in your directories as well but got picked up by Github as markdown syntax for crossing stuff out, so I'm assuming this tilde thing is causing both of our problems. I will report back with my findings

jpschafer avatar Apr 24 '22 00:04 jpschafer

Turns out that fixed it for me, so add the following to your rubyc command (the folder can be anything you want technically, pending Windows permissions and path interpreting weirdness of course):

rubyc --tmpdir C:\rubyc_tmp

jpschafer avatar Apr 24 '22 00:04 jpschafer