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

[install] cygwin #3179

Open
SabreRunner opened this issue Apr 21, 2024 · 3 comments
Open

[install] cygwin #3179

SabreRunner opened this issue Apr 21, 2024 · 3 comments

Comments

@SabreRunner
Copy link

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 SabreRunner added the topic/installation Installation difficulties label Apr 21, 2024
@flavorjones
Copy link
Member

@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?

https://cygwin.com/packages/summary/ruby-nokogiri.html

@flavorjones flavorjones changed the title [install] [install] cygwin Apr 21, 2024
@SabreRunner
Copy link
Author

I tried installing the libiconv package but that had a different problem.

@flavorjones
Copy link
Member

@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.

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

No branches or pull requests

2 participants