[install] cygwin
SabreRunner opened this issue · 3 comments
The environment I'm running in is Unity's Build Automation. I need it to work for Mac/ios and Windows/Android builds but I'm currently focusing on Android in Cygwin. Since I don't control the environment, I don't know if I can even break out of cygwin. If there's any other commands I can try and get more info, let me know. Of course, attached below, is all the info I have.
Have you read and followed the installation tutorial at http://www.nokogiri.org/tutorials/installing_nokogiri.html?
- [✔] Yes!
What is the complete output of gem install
or bundle install
?
[warning] /home/buildbot/.rvm/rubies/ruby-2.7.4/lib/ruby/2.7.0/net/http.rb:1122: warning: The environment variable HTTP_PROXY is discouraged. Use http_proxy.
[error] ERROR: Error installing nokogiri:
[error] ERROR: Failed to build gem native extension.
current directory: /home/buildbot/.rvm/gems/ruby-2.7.4/gems/nokogiri-1.15.6/ext/nokogiri
/home/buildbot/.rvm/rubies/ruby-2.7.4/bin/ruby.exe -I /home/buildbot/.rvm/rubies/ruby-2.7.4/lib/ruby/2.7.0 -r ./siteconf20240418-1477-1ldb5wh.rb extconf.rb
checking for whether -std=c99 is accepted as CFLAGS... yes
checking for whether -Wno-declaration-after-statement is accepted as CFLAGS... yes
checking for whether -O2 is accepted as CFLAGS... yes
checking for whether -g is accepted as CFLAGS... yes
checking for whether -Winline is accepted as CFLAGS... yes
checking for whether -Wmissing-noreturn is accepted as CFLAGS... yes
checking for whether -Wconversion -Wno-sign-conversion is accepted as CFLAGS... yes
Building nokogiri using packaged libraries.
Static linking is enabled.
Cross build is disabled.
Using mini_portile version 2.8.6
checking for iconv... no
-----
extconf.rb:425:in `iconv_configure_flags'
extconf.rb:899:in `block in <main>'
libiconv is missing. Please locate mkmf.log to investigate how it is failing.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/home/buildbot/.rvm/rubies/ruby-2.7.4/bin/$(RUBY_BASE_NAME)
--help
--clean
--prevent-strip
--enable-system-libraries
--disable-system-libraries
--use-system-libraries
--enable-system-libraries
--disable-system-libraries
--use-system-libraries
--enable-static
--disable-static
--enable-cross-build
--disable-cross-build
--enable-cross-build
--disable-cross-build
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
--with-xml2-source-dir
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/home/buildbot/.rvm/gems/ruby-2.7.4/extensions/x86_64-cygwin/2.7.0/nokogiri-1.15.6/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /home/buildbot/.rvm/gems/ruby-2.7.4/gems/nokogiri-1.15.6 for inspection.
Results logged to /home/buildbot/.rvm/gems/ruby-2.7.4/extensions/x86_64-cygwin/2.7.0/nokogiri-1.15.6/gem_make.out
If installation completed but is broken, what is the complete output from nokogiri -v
?
Not available.
If installation failed during compilation, what are the complete contents of the mkmf.log
file generated during the failed installation?
::::::::::::::
/home/buildbot/.rvm/gems/ruby-2.7.4/extensions/x86_64-cygwin/2.7.0/nokogiri-1.15.6/mkmf.log
::::::::::::::
block in append_cflags: checking for whether -std=c99 is accepted as CFLAGS... -------------------- yes
"gcc -o conftest.exe -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/x86_64-cygwin -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -D_XOPEN_SOURCE -D_GNU_SOURCE -g -O2 conftest.c -L. -L/home/buildbot/.rvm/rubies/ruby-2.7.4/lib -L. -fstack-protector-strong -lruby270 "
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return !!argv[argc];
6: }
/* end */
"gcc -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/x86_64-cygwin -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -D_XOPEN_SOURCE -D_GNU_SOURCE -g -O2 -std=c99 -Werror -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return !!argv[argc];
6: }
/* end */
--------------------
block in append_cflags: checking for whether -Wno-declaration-after-statement is accepted as CFLAGS... -------------------- yes
"gcc -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/x86_64-cygwin -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -D_XOPEN_SOURCE -D_GNU_SOURCE -g -O2 -std=c99 -Wno-declaration-after-statement -Werror -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return !!argv[argc];
6: }
/* end */
--------------------
block in append_cflags: checking for whether -O2 is accepted as CFLAGS... -------------------- yes
"gcc -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/x86_64-cygwin -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -D_XOPEN_SOURCE -D_GNU_SOURCE -g -O2 -std=c99 -Wno-declaration-after-statement -O2 -Werror -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return !!argv[argc];
6: }
/* end */
--------------------
block in append_cflags: checking for whether -g is accepted as CFLAGS... -------------------- yes
"gcc -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/x86_64-cygwin -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -D_XOPEN_SOURCE -D_GNU_SOURCE -g -O2 -std=c99 -Wno-declaration-after-statement -O2 -g -Werror -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return !!argv[argc];
6: }
/* end */
--------------------
block in append_cflags: checking for whether -Winline is accepted as CFLAGS... -------------------- yes
"gcc -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/x86_64-cygwin -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -D_XOPEN_SOURCE -D_GNU_SOURCE -g -O2 -std=c99 -Wno-declaration-after-statement -O2 -g -Winline -Werror -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return !!argv[argc];
6: }
/* end */
--------------------
block in append_cflags: checking for whether -Wmissing-noreturn is accepted as CFLAGS... -------------------- yes
"gcc -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/x86_64-cygwin -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -D_XOPEN_SOURCE -D_GNU_SOURCE -g -O2 -std=c99 -Wno-declaration-after-statement -O2 -g -Winline -Wmissing-noreturn -Werror -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return !!argv[argc];
6: }
/* end */
--------------------
block in append_cflags: checking for whether -Wconversion -Wno-sign-conversion is accepted as CFLAGS... -------------------- yes
"gcc -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/x86_64-cygwin -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -D_XOPEN_SOURCE -D_GNU_SOURCE -g -O2 -std=c99 -Wno-declaration-after-statement -O2 -g -Winline -Wmissing-noreturn -Wconversion -Wno-sign-conversion -Werror -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return !!argv[argc];
6: }
/* end */
--------------------
try_link_iconv: checking for iconv... -------------------- no
"gcc -o conftest.exe -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/x86_64-cygwin -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -D_XOPEN_SOURCE -D_GNU_SOURCE -g -O2 -std=c99 -Wno-declaration-after-statement -O2 -g -Winline -Wmissing-noreturn -Wconversion -Wno-sign-conversion conftest.c -L. -L/home/buildbot/.rvm/rubies/ruby-2.7.4/lib -L. -fstack-protector-strong -lruby270 "
[error] conftest.c:4:10: fatal error: iconv.h: No such file or directory
4 | #include <iconv.h>
compilation terminated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <stdlib.h>
4: #include <iconv.h>
5: int main(void)
6: {
7: iconv_t cd = iconv_open("", "");
8: iconv(cd, NULL, NULL, NULL, NULL);
9: return EXIT_SUCCESS;
10: }
/* end */
"gcc -o conftest.exe -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/x86_64-cygwin -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/home/buildbot/.rvm/rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -D_XOPEN_SOURCE -D_GNU_SOURCE -g -O2 -std=c99 -Wno-declaration-after-statement -O2 -g -Winline -Wmissing-noreturn -Wconversion -Wno-sign-conversion conftest.c -L. -L/home/buildbot/.rvm/rubies/ruby-2.7.4/lib -L. -fstack-protector-strong -lruby270 -liconv "
[error] conftest.c:4:10: fatal error: iconv.h: No such file or directory
4 | #include <iconv.h>
compilation terminated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <stdlib.h>
4: #include <iconv.h>
5: int main(void)
6: {
7: iconv_t cd = iconv_open("", "");
8: iconv(cd, NULL, NULL, NULL, NULL);
9: return EXIT_SUCCESS;
10: }
/* end */
--------------------
"pkg-config --exists libiconv"
package configuration for libiconv is not found
Tell us about your system!
What is the output from ruby -v
?
x86_64-cygwin
ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-cygwin]
What is the output from gem -v
?
Unknown switches "-v"
What is the output from gem env
?
[the output of "gem env" output goes here
](bundler: failed to load command: gem (/home/buildbot/.rvm/rubies/ruby-2.7.4/bin/gem))
If you're using Bundler:
- what is the output from
bundle version
?- Bundler version 2.1.4
- what is the output from
bundle config
? (Take care to redact any credentials)
Settings are listed in order of priority. The top value will be used.
If Windows, please note:
- whether you're installing the precompiled gems, or compiling yourself with DevKit
- Since I don't control the cloud environment, I don't know.
- the version of RubyInstaller you've installed
- Same reason, don't know.
- or if you're not using RubyInstaller, how did you install Ruby?
- Came with the machine.
@SabreRunner Hi. I'll try to help you get this installed.
From your mkmf.log:
[error] conftest.c:4:10: fatal error: iconv.h: No such file or directory
It seems like iconv isn't installed on this machine. Cygwin seems to have a package that you may be able to install:
https://www.cygwin.com/packages/summary/libiconv.html
But alternatively, there is also a cygwin package available for nokogiri that you may want to try installing instead and avoid the entire compilation step?
I tried installing the libiconv package but that had a different problem.
@SabreRunner You may want to try to ask this question on a cywin-specific forum. I'm not sure I can help you without more information.