Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows10 zlib.h not found #146

Open
mini-nux opened this issue Jan 10, 2021 · 2 comments
Open

Windows10 zlib.h not found #146

mini-nux opened this issue Jan 10, 2021 · 2 comments

Comments

@mini-nux
Copy link

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/CHRIST1/AppData/Local/Temp/rubyc/ruby-2.7.1.dev\win32\configure.bat --target=x64-mswin64 --disable-install-doc --with-openssl-dir=C:/Users/CHRIST1/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/CHRIST1/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/CHRIST1/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/CHRIST1/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/CHRIST1/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/CHRIST1/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/CHRIST1/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 "]

@jpschafer
Copy link

jpschafer commented Apr 24, 2022

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!?):

#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
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants