Coder Social home page Coder Social logo

asdf-ruby's Introduction

asdf-ruby

Build Status

Ruby plugin for asdf version manager

Install

asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git

Please make sure you have the required system dependencies installed before trying to install Ruby. It is also recommended that you remove other ruby version managers before using asdf-ruby

Use

Check asdf readme for instructions on how to install & manage versions of Ruby.

When installing Ruby using asdf install, you can pass custom configure options with the env vars supported by ruby-build.

Under the hood, asdf-ruby uses ruby-build to build and install Ruby, check its README for more information about build options and the troubleshooting wiki section for any issues encountered during installation of ruby versions.

You may also apply custom patches before building with RUBY_APPLY_PATCHES, e.g.

RUBY_APPLY_PATCHES=$'dir/1.patch\n2.patch\nhttp://example.com/3.patch' asdf install ruby 2.4.1
RUBY_APPLY_PATCHES=$(curl -s https://raw.githubusercontent.com/rvm/rvm/master/patchsets/ruby/2.1.1/railsexpress) asdf install ruby 2.1.1

NOTE: This plugin does not automatically fetch new Ruby versions. Running asdf plugin-update ruby will update asdf-ruby and ensure the latest versions of Ruby are available to install.

By default asdf-ruby uses a recent release of ruby-build, however instead you can choose your own branch/tag through the ASDF_RUBY_BUILD_VERSION variable:

ASDF_RUBY_BUILD_VERSION=master asdf install ruby 2.6.4

Default gems

asdf-ruby can automatically install a set of default gems right after installing a Ruby version. To enable this feature, provide a $HOME/.default-gems file that lists one gem per line, for example:

bundler
pry
gem-ctags

You can specify a non-default location of this file by setting a ASDF_GEM_DEFAULT_PACKAGES_FILE variable.

Migrating from another Ruby version manager

.ruby-version file

asdf uses the .tool-versions for auto-switching between software versions. To ease migration, you can have it read an existing .ruby-version file to find out what version of Ruby should be used. To do this, add the following to $HOME/.asdfrc:

legacy_version_file = yes

If you are migrating from version manager that supported fuzzy matching in .ruby-version like rvm or chruby, note that you might have to change .ruby-version to include full version (e.g. change 2.6 to 2.6.1).

Troubleshooting

NOTE: The most common issue reported for this plugin is a missing Ruby version. If you are not seeing a recent Ruby version in the list of available Ruby versions it's likely due to having an older version of this plugin. Run asdf plugin-update ruby to get the most recent list of Ruby versions.

If you are moving to asdf-ruby from another Ruby version manager, it is recommended to completely uninstall the old Ruby version manager before installing asdf-ruby.

If you install asdf and asdf-ruby and it doesn't make ruby and irb available in your shell double check that you have installed asdf correctly. Make sure you have system dependencies installed BEFORE running asdf install ruby <version>. After installing a Ruby with asdf, run type -a ruby to see what rubies are currently on your $PATH. The asdf ruby shim should be listed first, if it is not asdf is not installed correctly.

Correct output from type -a ruby (asdf shim is first in the list):

ruby is /Users/someone/.asdf/shims/ruby
ruby is /usr/bin/ruby

Incorrect output type -a ruby:

ruby is /usr/bin/ruby

asdf-ruby's People

Contributors

breunigs avatar burnettk avatar carlosantoniodasilva avatar charlesbjohnson avatar dependabot[bot] avatar djmarcin avatar f440 avatar fazibear avatar fumiyashibusawa avatar hashnuke avatar il-santo avatar jfly avatar jsmestad avatar kachick avatar kassio avatar kelseydh avatar pat avatar rmoriz avatar sairam avatar sakakibara avatar samford avatar san983 avatar seansith avatar serixscorpio avatar sjaveed avatar stanhu avatar stratus3d avatar thiagoa avatar vlazar avatar znz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

asdf-ruby's Issues

Missing Shims

I installed asdf and asdf-ruby, then install Ruby 2.1.5, but there are no shims in ~/.asdf/shims:

git clone https://github.com/HashNuke/asdf.git ~/.asdf
echo '. $HOME/.asdf/asdf.sh' >> ~/.bashrc

reload my shell...

asdf plugin-add ruby https://github.com/HashNuke/asdf-ruby.git
asdf install ruby 2.15

asdf recognizes the correct version from .tool-versions, but I end up getting the system Ruby:

$ asdf which ruby
2.1.5
$ ruby --version
ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]

There are no shims in ~/.asdf/shims:

$ ls -Alh ~/.asdf/shims/
# no output

gem user installation directory is ~/.gem/ruby/<version>

I have been using rvm and recently switched to asdf. I found the gem user installation directory is still ~/.gem/ruby/, is it intended?
I think because of this config, bundle is installed in ~/.gem/ruby//bin while I would expect it to be installed in ~/.asdf/shims.

legacy version file ignored

Similar to #69

I'm using the latest asdf and asdf-ruby, but it seems to be ignoring the legacy_version_file = yes functionality.

± cat .ruby-version
ruby-2.5.3%                                                                                                                                                                                             version ruby-2.5.3 is not installed for ruby

± cat ~/.asdfrc
legacy_version_file = yes
version ruby-2.5.3 is not installed for ruby

I installed asdf with homebrew and asdf-ruby with the instructions here.

Running the command directly prints out the right Ruby version:

± ~/.asdf/plugins/ruby/bin/get-version-from-legacy-file .
2.5.3

Considering this works, maybe it's an issue with asdf core instead?

gemset like support? [question]

Just started looking into asdf and as a result asdf-ruby and I was wondering if there's a way to isolate the gem versions under the same ruby version somehow? Very much like the concept of gemsets in rvm?

Example:

  • Project A

    • ruby-2.3.1
    • rails 5.0.1
  • Project B

    • ruby-2.3.1
    • rails 4.2.5

Build Failure

I was looking into why the current build is failing and it is because the plugin-test is pretty opinionated. Essentially what happens is they grab all the versions and then attempt to install the "latest" version which is actually ree-1.8.7-2012.02 which is, I believe, an obsolete version of ruby anyway. The gcc compiler is having issues on both osx and linux because it is trying to build this much older, specialized version of ruby.

There are multiple directions this could be taken with different trade-offs.

  1. Remove obsolete versions of ruby from the list

  2. Discuss a different approach upstream with the plugin-test that potentially allows for languages like ruby with different kinds of builds to choose what "latest" version to select from the list, rather than just the last in the array.

  3. Hack together a more complicated .travis.yml file that will account for all the gcc issues despite it not being indicative of a proper ruby version.

  4. Sort the list in a different way where the main ruby versions are actually listed at the bottom.

Each option definitely has trade-offs, but something should be done so that the builds can...well.. build again. 😅

Missing dependencies in Ubuntu

I noticed today that Ruby does not compile in a fresh Ubuntu. That's because the packages documented in the README of asdf itself do not include curl or build-essential.

Guess the plugin is responsible for documenting system dependencies, and the list should be comprehensive, even if it overlaps today with some of the asdf packages (not to rely on them, in case they change).

For Ubuntu, I normally check what ruby-build documents.

Installation error if curl is unavailable

Steps to reproduce

  1. Uninstall curl
  2. asdf plugin-add ruby
  3. asdf install ruby 2.3.1 (will error because curl is missing)
  4. asdf install ruby 2.3.1

Expected behavior

Should try to install Ruby 2.3.1 since the previous installation failed.

Actual behavior

Outputs "Ruby is already installed".

Environment

OS: Ubuntu 16.04

asdf version: v0.4.1

`bundle exec rails` not working

Not sure what's going on.

→ cat .tool-versions
ruby 2.3.0

→  bundle --version
Bundler version 1.11.2

→  rails --version
bundle exec Rails 4.2.5

→  bundle exec rails --version
No such command in 2.3.0 of ruby

Ruby 1.9.3-p194 won't install

Running asdf install for 1.9.3-p194 is consistently throwing the error below

asdf install ruby 1.9.3-p194
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   168  100   168    0     0    226      0 --:--:-- --:--:-- --:--:--   226

gzip: stdin: not in gzip format

bundle: No such command in 2.4.2 of ruby

Hi,
I'm new to asdf-ruby and I think I've followed all instructions as listed. I've deleted my previous version manager (RVM). I've installed asdf and installed the ruby plugin and installed 2.4.2

My next step was to:

$ asdf local ruby 2.4.2
$ asdf reshim ruby
$ gem install bundler
Successfully installed bundler-1.16.0
1 gem installed

$ bundle install
No such command in 2.4.2 of ruby

I've tried install/uninstalling that version of ruby, the gem, asdf. I've tried adding bundler to $HOME/.default-gems. No luck so far.

I don't see any issues that match this specifically. Any ideas on how to better debug set up?

Shell: zsh
OS: macos 10.12.6

Different versions Rails

Hi man
It's cool, i can use different version ruby, but...
But how i can use different version rails ? Or other gem files ?
So, every time change the Ruby version - reinstall each gem library ?
Really ?

Bug: No such command in #{ruby_version} of ruby - seems to happen for JRuby

It seems to only happens with jruby. I just wanted to install JRuby 9.1.6.0. Then this error happened whenever I wanted to execute anything with that ruby version. I updated asdf and the ruby plugin, uninstalled, installed again... tried asdf reshim ruby but it all didn't seem to help.

So right now I can't use JRuby :(

tobi@comfy ~ $ ruby server.rb 
No such command in jruby-9.1.6.0 of ruby

see the slightly longer version for more information...

tobi@comfy ~ $ asdf list ruby
2.3.1
jruby-9.1.5.0
jruby-9.1.6.0
tobi@comfy ~ $ asdf local 2.3.1
Usage: asdf local <name> <version>
tobi@comfy ~ $ asdf local ruby 2.3.1
tobi@comfy ~ $ ruby server.rb
tobi@comfy ~ $ asdf local ruby jruby-9.1.6.0
tobi@comfy ~ $ ruby server.rb 
No such command in jruby-9.1.6.0 of ruby
tobi@comfy ~ $ asdf list ruby
2.3.1
jruby-9.1.5.0
jruby-9.1.6.0
tobi@comfy ~ $ ruby -v
No such command in jruby-9.1.6.0 of ruby
tobi@comfy ~ $ 

I'm on Linux Mint 18 if it helps.

tobi@comfy ~ $ uname -a
Linux comfy 4.4.0-47-generic #68-Ubuntu SMP Wed Oct 26 19:39:52 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Any help would be welcome, because maybe I do something wrong. I think it used to worok with 9.1.5.0.

Install errors for eventmachine

Errors when installing eventmachine.

James has a modified ruby config to fix this https://twitter.com/JEG2/status/741806596108357632

I've come across this sometime in the past on my work machine (will need to get to the office to try and reproduce this with a new Ruby install).

In the meantime, I looked into the config options for Ruby using ./configure --help. Will need to use --with-opt-dir like James' config.

./configure --help | grep with
  --disable-option-checking  ignore unrecognized --enable/--with options
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-baseruby=RUBY    use RUBY as baseruby; RUBY is the pathname of ruby
  --without-gcc           never use gcc
  --with-os-version-style=TYPE
  --with-arch=ARCHS       build an Apple/NeXT Multi Architecture Binary (MAB);
  --with-newlib           uses newlib version of NativeClient SDK
  --with-opt-dir=DIR-LIST add optional headers and libraries directories
  --with-winnt-ver=0xXXXX target Windows NT version (default to 0x0501)
  --without-gmp           disable GNU GMP to accelerate Bignum operations
  --with-jemalloc         use jemalloc allocator
  --with-dln-a-out        use dln_a_out if possible
  --without-valgrind      disable valgrind memcheck support
  --with-ext=EXTS         pass to --with-ext option of extmk.rb
  --with-out-ext=EXTS     pass to --without-ext option of extmk.rb
  --with-static-linked-ext
  --with-setup=SETUP      use extension libraries setup
  --with-rubylibprefix=DIR
  --with-soname=SONAME    base name of shared library
  --with-setjmp-type      select setjmp type
  --with-rubyarchprefix=DIR
  --with-rubysitearchprefix=DIR
  --with-ridir=DIR        ri documentation [[DATAROOTDIR/ri]]
  --with-ruby-version=STR ruby version string for version specific directories
  --with-sitedir=DIR      site libraries in DIR [[RUBY_LIB_PREFIX/site_ruby]],
  --with-sitearchdir=DIR  architecture dependent site libraries in DIR
  --with-vendordir=DIR    vendor libraries in DIR
  --with-vendorarchdir=DIR
  --with-search-path=DIR  specify the additional search path
  --with-rubyhdrdir=DIR   core headers in DIR
  --with-rubyarchhdrdir=DIR
  --with-sitehdrdir=DIR   core site headers in DIR [[RUBYHDRDIR/site_ruby]]
  --with-sitearchhdrdir=DIR
  --with-vendorhdrdir=DIR core vendor headers in DIR
  --with-vendorarchhdrdir=DIR
  --with-mantype=TYPE     specify man page type; TYPE is one of man and doc
  --with-ruby-pc=FILENAME pc file basename
  --with-destdir=DESTDIR  specify default directory to install
it to find libraries and programs with nonstandard names/locations.

Looks like there's no --with-libyaml-dir, --with-readline-dir and such. I don't remember where I picked this up from.

Install ruby 2.3.x on Arch Linux

Hi!

I've been trying to use asdf to manage my rubies on arch linux for some time and I couldn't because the installation failed no matter what I tried. After some research I managed to get it working by installing gcc5 and openssl-1.0 on Arch Linux and then using using:

CC=gcc-5 PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig RUBY_EXTRA_CONFIGURE_OPTIONS="--with-openssl-dir=/usr/lib/openssl-1.0" asdf install ruby 2.3.3

That solves 2 problems:

  1. Ruby 2.3 not being compatible with openssl 1.1 (which is the default one on arch linux)
  2. Ruby 2.3 not compiling with gcc 7.1.1 on arch for some other different reason and causing a segfault (as explained here https://bugs.ruby-lang.org/issues/13635#change-65299)

I post it here just in case it can help anybody else, I'd be happy to post it on the wiki if anybody thinks it can be helpful.

Thanks for the amazing work! asdf is a super helpful tool!

Is it safe to assume `$TMPDIR` will always be set on OSX?

I noticed this plugin, as well as two of my own, use this to get a temporary directory:

  if [ "$TMPDIR" = "" ]; then
    local tmp_download_dir=$(mktemp -d)
  else
    local tmp_download_dir=$TMPDIR
  fi

$TMPDIR seems to always be set on OSX, but I'm curious if it's ever possible for it not to be. If it's not, this script will fail. $(mktemp -d) will always fail on OSX because it expects a directory name template. Is it safe to assume $TMPDIR is always set on OSX?

Problems on macOS

nokogiri and other plugins error out like this:

`require': incompatible library version

I have libxml2, libyaml, and others installed via Homebrew.

No other Ruby VM has issues with that... except asdf-ruby.

ruby 2.4.1 not working

I am trying to upgrade ruby to version 2.4.1 from 2.4.0.
I ran "asdf install ruby 2.4.1" (global .tool-versions is still with ruby 2.4.0 for some reason)
I then go to my project folder, and change the ruby version in the .tools-versions to 2.4.1

From this point on, ruby commands stop working.
For example, "ruby -v" returns "No such command in 2.4.1 of ruby".
When i go out of this folder, "ruby -v" returns the correct ruby version.
The command: "asdf current version" works fine in both and displays the correct version.

When I try: "asdf install ruby 2.4.1"
I get: ruby 2.4.1 is already installed

What am I doing wrong?

Installation from source vs prebuilt packages

Some of the other asdf plugins seem to install prebuilt packages if they exist (nodejs, golang), and I'm wondering there is the intent to do this for ruby (similar to rvm's installation). The primary reason I'm asking is that using asdf on travis-ci is extending our build times by ~3.5 minutes due to the compilation.

default-gems, Bundler and Ruby 2.5.0 install issues

Hello!

First, thank you for creating and maintaining Ruby plugin for asdf! 😄

With the new Ruby 2.5.0-preview1 release, encountered issues during installation. Found that bundler is bundled (no pun intended) on 2.5.0 and because of that, gem installation via ~/.default-gems hangs.

Steps to reproduce

Place bundler in .default-gems

$ cat ~/.default-gems
bundler

Now, attempt installation of ruby 2.5.0-preview1:

$ asdf install ruby 2.5.0-preview1
...

At the end of installation, notice how output hangs when installing bundler gem. requiring press Ctrl+C and resulting on the installation to fail and the new install be removed.

Closer inspection of the issue, seems to be caused by expected user interaction from gem install:

$ ruby -v
ruby 2.5.0preview1 (2017-10-10 trunk 60153) [x86_64-linux]

$ gem install bundler
bundler's executable "bundle" conflicts with /home/luis/.asdf/installs/ruby/2.5.0-preview1/bin/bundle
Overwrite the executable? [yN]

This can be avoided by using --conservative modifier:

$ gem install bundler --conservative

$ echo $?
0

Let me know if a PR for this could be accepted and happily can provide one.

Thank you again for your plugin!
❤️ ❤️ ❤️

[Doubt][macOS] asdf global ruby does not set my global version

Not sure if it's supposed to work like rbenv, but when I type asdf global ruby 2.4.1:

  • ruby -v still shows system ruby 2.3.7 🤔

I searched some old issues, but found no-one with the same problem.

What am I missing?

Troubleshooting

  • asdf 0.6
  • macOS: High Sierra
  • asdf installed via homebrew

Use all available cores

make should be run with -j $NUMBER_OF_CORES. Unless someone beats me to it, I will work on this.

Error installing Ruby 2.2.3

I'm receiving an error when installing Ruby 2.2.3 under Ubuntu 16.04 LTS:

...
compiling ossl_ssl.c
ossl_ssl.c:141:27: error: ‘SSLv3_method’ undeclared here (not in a function)
     OSSL_SSL_METHOD_ENTRY(SSLv3),
                           ^
ossl_ssl.c:119:69: note: in definition of macro ‘OSSL_SSL_METHOD_ENTRY’
 #define OSSL_SSL_METHOD_ENTRY(name) { #name, (SSL_METHOD *(*)(void))name##_method }
                                                                     ^
ossl_ssl.c:142:27: error: ‘SSLv3_server_method’ undeclared here (not in a function)
     OSSL_SSL_METHOD_ENTRY(SSLv3_server),
                           ^
ossl_ssl.c:119:69: note: in definition of macro ‘OSSL_SSL_METHOD_ENTRY’
 #define OSSL_SSL_METHOD_ENTRY(name) { #name, (SSL_METHOD *(*)(void))name##_method }
                                                                     ^
ossl_ssl.c:143:27: error: ‘SSLv3_client_method’ undeclared here (not in a function)
     OSSL_SSL_METHOD_ENTRY(SSLv3_client),
                           ^
ossl_ssl.c:119:69: note: in definition of macro ‘OSSL_SSL_METHOD_ENTRY’
 #define OSSL_SSL_METHOD_ENTRY(name) { #name, (SSL_METHOD *(*)(void))name##_method }
                                                                     ^
Makefile:293: recipe for target 'ossl_ssl.o' failed
make[2]: *** [ossl_ssl.o] Error 1
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/openssl'
exts.mk:202: recipe for target 'ext/openssl/all' failed
make[1]: *** [ext/openssl/all] Error 2
make[1]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3'
uncommon.mk:189: recipe for target 'build-ext' failed
make: *** [build-ext] Error 2

Full log:

asdf install ruby 2.2.3
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15.8M  100 15.8M    0     0   490k      0  0:00:33  0:00:33 --:--:--  567k
Building with options: --with-openssl-dir=/usr --with-libyaml-dir=/usr --enable-shared --disable-install-doc --prefix=/home/crbelaus/.asdf/installs/ruby/2.2.3
config.guess already exists
config.sub already exists
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking whether gcc needs -traditional... no
checking for ld... ld
checking whether the linker is GNU ld... yes
checking whether gcc -E accepts -o... yes
checking for ranlib... ranlib
checking for ar... ar
checking for as... as
checking for objdump... objdump
checking for objcopy... objcopy
checking for nm... nm
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for dtrace... no
checking for dot... no
checking for doxygen... no
checking for pkg-config... pkg-config
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for cd using physical directory... cd -P
checking whether CFLAGS is valid... yes
checking whether LDFLAGS is valid... yes
checking whether -Wno-unused-parameter is accepted as CFLAGS... yes
checking whether -Wno-parentheses is accepted as CFLAGS... yes
checking whether -Wno-long-long is accepted as CFLAGS... yes
checking whether -Wno-missing-field-initializers is accepted as CFLAGS... yes
checking whether -Wunused-variable is accepted as CFLAGS... yes
checking whether -Wpointer-arith is accepted as CFLAGS... yes
checking whether -Wwrite-strings is accepted as CFLAGS... yes
checking whether -Wdeclaration-after-statement is accepted as CFLAGS... yes
checking whether -Wshorten-64-to-32 is accepted as CFLAGS... no
checking whether -Wimplicit-function-declaration is accepted as CFLAGS... yes
checking whether -Wdivision-by-zero is accepted as CFLAGS... no
checking whether -Wdeprecated-declarations is accepted as CFLAGS... yes
checking whether -Wno-packed-bitfield-compat is accepted as CFLAGS... yes
checking whether -Wextra-tokens is accepted as CFLAGS... no
checking whether -Wall -Wextra is accepted as CFLAGS... yes
checking whether -Qunused-arguments is accepted as CFLAGS... no
checking whether -D_FORTIFY_SOURCE=2 is accepted as CFLAGS... yes
checking whether -fstack-protector is accepted as CFLAGS... yes
checking whether -fstack-protector is accepted as LDFLAGS... yes
checking whether -std=iso9899:1999 is accepted as CFLAGS... yes
checking whether -fno-strict-overflow is accepted as CFLAGS... yes
checking whether -ggdb3 is accepted as CFLAGS... yes
checking whether -fvisibility=hidden is accepted as CFLAGS... yes
checking whether -fno-fast-math is accepted as CFLAGS... yes
checking for crypt in -lcrypt... yes
checking for dlopen in -ldl... yes
checking for shl_load in -ldld... no
checking for shutdown in -lsocket... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/syscall.h usability... yes
checking sys/syscall.h presence... yes
checking for sys/syscall.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/fcntl.h usability... yes
checking sys/fcntl.h presence... yes
checking for sys/fcntl.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking syscall.h usability... yes
checking syscall.h presence... yes
checking for syscall.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking a.out.h usability... yes
checking a.out.h presence... yes
checking for a.out.h... yes
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking sys/utime.h usability... no
checking sys/utime.h presence... no
checking for sys/utime.h... no
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking ucontext.h usability... yes
checking ucontext.h presence... yes
checking for ucontext.h... yes
checking intrinsics.h usability... no
checking intrinsics.h presence... no
checking for intrinsics.h... no
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking sys/sendfile.h usability... yes
checking sys/sendfile.h presence... yes
checking for sys/sendfile.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking net/socket.h usability... no
checking net/socket.h presence... no
checking for net/socket.h... no
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking process.h usability... no
checking process.h presence... no
checking for process.h... no
checking sys/prctl.h usability... yes
checking sys/prctl.h presence... yes
checking for sys/prctl.h... yes
checking sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking atomic.h usability... no
checking atomic.h presence... no
checking for atomic.h... no
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking malloc_np.h usability... no
checking malloc_np.h presence... no
checking for malloc_np.h... no
checking malloc/malloc.h usability... no
checking malloc/malloc.h presence... no
checking for malloc/malloc.h... no
checking setjmpex.h usability... no
checking setjmpex.h presence... no
checking for setjmpex.h... no
checking sys/attr.h usability... no
checking sys/attr.h presence... no
checking for sys/attr.h... no
checking sys/id.h usability... no
checking sys/id.h presence... no
checking for sys/id.h... no
checking gmp.h usability... no
checking gmp.h presence... no
checking for gmp.h... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking whether char is unsigned... no
checking for inline... inline
checking for working volatile... yes
checking for typeof syntax and keyword spelling... __typeof__
checking for long long... yes
checking for off_t... yes
checking char bit... 8
checking size of int... 4
checking size of short... 2
checking size of long... 8
checking size of long long... 8
checking size of __int64... 0
checking size of __int128... 16
checking size of off_t... 8
checking size of void*... 8
checking size of float... 4
checking size of double... 8
checking size of time_t... 8
checking size of clock_t... 8
checking packed struct attribute... x __attribute__((packed))
checking for printf prefix for long long... ll
checking for pid_t... yes
checking for convertible type of pid_t... INT
checking for uid_t... yes
checking for convertible type of uid_t... UINT
checking for gid_t... yes
checking for convertible type of gid_t... UINT
checking for time_t... yes
checking for convertible type of time_t... LONG
checking for dev_t... yes
checking for convertible type of dev_t... ULONG
checking for mode_t... yes
checking for convertible type of mode_t... UINT
checking for rlim_t... yes
checking for convertible type of rlim_t... ULONG
checking for off_t... (cached) yes
checking for convertible type of off_t... LONG
checking for clockid_t... yes
checking for convertible type of clockid_t... INT
checking for prototypes... yes
checking token paste string... ansi
checking stringization... #expr
checking string literal concatenation... yes
checking for variable length prototypes and stdarg.h... yes
checking for variable length macro... yes
checking for NORETURN function attribute... __attribute__ ((noreturn)) x
checking for DEPRECATED function attribute... __attribute__ ((deprecated)) x
checking for NOINLINE function attribute... __attribute__ ((noinline)) x
checking for stdcall function attribute... x
checking for cdecl function attribute... x
checking for fastcall function attribute... x
checking for FUNC_MINIMIZED function attribute... __attribute__ ((optimize("-Os","-fomit-frame-pointer"))) x
checking for function alias... alias
checking for __atomic builtins... yes
checking for __sync builtins... yes
checking for __builtin_unreachable... yes
checking for exported function attribute... __attribute__ ((visibility("default")))
checking for function name string predefined identifier... __func__
checking whether sys_nerr is declared... yes
checking whether getenv is declared... yes
checking for size_t... yes
checking size of size_t... 8
checking size of ptrdiff_t... 8
checking for printf prefix for size_t... z
checking for printf prefix for ptrdiff_t... t
checking for struct stat.st_blksize... yes
checking for struct stat.st_blocks... yes
checking for struct stat.st_rdev... yes
checking size of struct stat.st_size... SIZEOF_OFF_T
checking size of struct stat.st_blocks... SIZEOF_OFF_T
checking size of struct stat.st_ino... SIZEOF_LONG
checking for struct stat.st_atim... yes
checking for struct stat.st_atimespec... no
checking for struct stat.st_atimensec... no
checking for struct stat.st_mtim... yes
checking for struct stat.st_mtimespec... no
checking for struct stat.st_mtimensec... no
checking for struct stat.st_ctim... yes
checking for struct stat.st_ctimespec... no
checking for struct stat.st_ctimensec... no
checking for struct stat.st_birthtimespec... no
checking for struct timeval... yes
checking size of struct timeval.tv_sec... SIZEOF_TIME_T
checking for struct timespec... yes
checking for struct timezone... yes
checking for clockid_t... (cached) yes
checking for fd_mask... yes
checking for int8_t... yes
checking size of int8_t... 1
checking for uint8_t... yes
checking size of uint8_t... 1
checking for int16_t... yes
checking size of int16_t... 2
checking for uint16_t... yes
checking size of uint16_t... 2
checking for int32_t... yes
checking size of int32_t... 4
checking for uint32_t... yes
checking size of uint32_t... 4
checking for int64_t... yes
checking size of int64_t... 8
checking for uint64_t... yes
checking size of uint64_t... 8
checking for int128_t... __int128
checking for uint128_t... unsigned __int128
checking for intptr_t... yes
checking size of intptr_t... 8
checking for uintptr_t... yes
checking size of uintptr_t... 8
checking for ssize_t... yes
checking size of ssize_t... 8
checking for stack end address... __libc_stack_end
checking for uid_t in sys/types.h... (cached) yes
checking type of array argument to getgroups... gid_t
checking return type of signal handlers... void
checking for working alloca.h... yes
checking for alloca... yes
checking for dynamic size alloca... ok
checking for working memcmp... yes
checking for broken erfc of glibc-2.3.6 on IA64... no
checking for acosh... yes
checking for cbrt... yes
checking for crypt... yes
checking for dup2... yes
checking for erf... yes
checking for ffs... yes
checking for finite... yes
checking for flock... yes
checking for hypot... yes
checking for isinf... yes
checking for isnan... yes
checking for lgamma_r... yes
checking for memmove... yes
checking for nextafter... yes
checking for setproctitle... no
checking for strchr... yes
checking for strerror... yes
checking for strlcat... no
checking for strlcpy... no
checking for strstr... yes
checking for tgamma... yes
checking sys/pstat.h usability... no
checking sys/pstat.h presence... no
checking for sys/pstat.h... no
checking for signbit... yes
checking for pid_t... (cached) yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for __syscall... no
checking for _longjmp... yes
checking for _setjmp... yes
checking for _setjmpex... no
checking for atan2l... yes
checking for atan2f... yes
checking for chroot... yes
checking for chsize... no
checking for clock_gettime... yes
checking for cosh... yes
checking for daemon... (cached) no
checking for dirfd... yes
checking for dl_iterate_phdr... yes
checking for dlopen... yes
checking for dladdr... yes
checking for dup... yes
checking for dup3... yes
checking for eaccess... yes
checking for endgrent... yes
checking for fchmod... yes
checking for fchown... yes
checking for fcntl... yes
checking for fdatasync... yes
checking for fgetattrlist... no
checking for fmod... yes
checking for fsync... yes
checking for ftruncate... yes
checking for ftruncate64... yes
checking for getattrlist... no
checking for getcwd... yes
checking for getgidx... no
checking for getgrnam... yes
checking for getgrnam_r... yes
checking for getgroups... yes
checking for getpgid... yes
checking for getpgrp... yes
checking for getpriority... yes
checking for getpwnam_r... yes
checking for getresgid... yes
checking for getresuid... yes
checking for getrlimit... yes
checking for getsid... yes
checking for gettimeofday... yes
checking for getuidx... no
checking for gmtime_r... yes
checking for initgroups... yes
checking for ioctl... yes
checking for isfinite... no
checking for issetugid... no
checking for killpg... yes
checking for lchmod... no
checking for lchown... yes
checking for link... yes
checking for llabs... yes
checking for lockf... yes
checking for log2... yes
checking for lstat... yes
checking for malloc_usable_size... yes
checking for malloc_size... no
checking for mblen... yes
checking for memalign... yes
checking for writev... yes
checking for memrchr... yes
checking for memmem... yes
checking for mktime... yes
checking for pipe2... yes
checking for poll... yes
checking for posix_fadvise... yes
checking for posix_memalign... yes
checking for ppoll... yes
checking for pread... yes
checking for qsort_r... yes
checking for readlink... yes
checking for round... yes
checking for sched_getaffinity... yes
checking for seekdir... yes
checking for select_large_fdset... no
checking for sendfile... yes
checking for setegid... yes
checking for setenv... yes
checking for seteuid... yes
checking for setgid... yes
checking for setgroups... yes
checking for setpgid... yes
checking for setpgrp... yes
checking for setregid... yes
checking for setresgid... yes
checking for setresuid... yes
checking for setreuid... yes
checking for setrgid... no
checking for setrlimit... yes
checking for setruid... no
checking for setsid... yes
checking for setuid... yes
checking for shutdown... yes
checking for sigaction... yes
checking for sigaltstack... yes
checking for sigprocmask... yes
checking for sinh... yes
checking for spawnv... no
checking for symlink... yes
checking for syscall... yes
checking for sysconf... yes
checking for tanh... yes
checking for telldir... yes
checking for timegm... yes
checking for times... yes
checking for truncate... yes
checking for truncate64... yes
checking for unsetenv... yes
checking for utimensat... yes
checking for utimes... yes
checking for wait4... yes
checking for waitpid... yes
checking if getcwd allocates buffer if NULL is given... yes
checking for __builtin_bswap16... yes
checking for __builtin_bswap32... yes
checking for __builtin_bswap64... yes
checking for __builtin_clz... yes
checking for __builtin_clzl... yes
checking for __builtin_clzll... yes
checking for __builtin_choose_expr... yes
checking for __builtin_choose_expr_constant_p... yes
checking for __builtin_types_compatible_p... yes
checking whether qsort_r is GNU version... yes
checking whether qsort_r is BSD version... no
checking whether atan2 handles Inf as C99... yes
checking for clock_getres... yes
checking for unsetenv returns a value... yes
checking for sigsetjmp as a macro or function... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for struct tm.tm_gmtoff... yes
checking for external int daylight... yes
checking for external timezone... long
checking for external altzone... no
checking for timezone... yes
checking whether timezone requires zero arguments... yes
checking for negative time_t for gmtime(3)... yes
checking for localtime(3) overflow correctly... yes
checking whether right shift preserve sign bit... yes
checking whether _SC_CLK_TCK is supported... yes
checking stack growing direction on x86_64... -1
checking for pthread_kill in -lthr... no
checking for pthread_kill in -lpthread... yes
checking for pthread_np.h... no
checking whether pthread_t is scalar type... yes
checking for sched_yield... yes
checking for pthread_attr_setinheritsched... yes
checking for pthread_getattr_np... yes
checking for pthread_attr_get_np... no
checking for pthread_attr_getstack... yes
checking for pthread_get_stackaddr_np... no
checking for pthread_get_stacksize_np... no
checking for thr_stksegment... no
checking for pthread_stackseg_np... no
checking for pthread_getthrds_np... no
checking for pthread_cond_init... yes
checking for pthread_condattr_setclock... yes
checking for pthread_condattr_init... yes
checking for pthread_sigmask... yes
checking for pthread_setname_np... yes
checking for pthread_attr_init... yes
checking arguments of pthread_setname_np... (pthread_self(), name)
checking if mcontext_t is a pointer... no
checking for getcontext... yes
checking for setcontext... yes
checking if fork works with pthread... yes
checking whether ELF binaries are produced... yes
checking elf.h usability... yes
checking elf.h presence... yes
checking for elf.h... yes
checking elf_abi.h usability... no
checking elf_abi.h presence... no
checking for elf_abi.h... no
checking whether OS depend dynamic link works... yes
checking whether -Wl,-R. is accepted as LDFLAGS... yes
checking for backtrace... yes
checking for broken backtrace... no
checking valgrind/memcheck.h usability... no
checking valgrind/memcheck.h presence... no
checking for valgrind/memcheck.h... no
checking for strip... strip
checking whether -Wl,--no-undefined is accepted as LDFLAGS... yes
checking for __builtin_setjmp... yes with cast ()
checking for setjmp type... __builtin_setjmp
checking for prefix of external symbols... NONE
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking if make is GNU make... yes
checking for broken memmem... no
checking for nroff... /usr/bin/nroff
.ext/include/x86_64-linux/ruby/config.h updated
ruby library version = 2.2.0
configure: creating ./config.status
config.status: creating GNUmakefile
config.status: creating Makefile
config.status: creating ruby-2.2.pc
    CC = gcc
    LD = ld
    LDSHARED = gcc -shared
    CFLAGS = -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -std=iso9899:1999  -fPIC 
    XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT
    CPPFLAGS =   -I. -I.ext/include/x86_64-linux -I./include -I.
    DLDFLAGS = -Wl,-soname,libruby.so.2.2  -fstack-protector  
    SOLIBS = -lpthread -ldl -lcrypt -lm  
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.1' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.1) 
compiling main.c
compiling dmydln.c
compiling miniinit.c
compiling miniprelude.c
copying dummy probes.h
compiling array.c
compiling bignum.c
compiling class.c
compiling compar.c
compiling complex.c
compiling dir.c
compiling dln_find.c
compiling encoding.c
compiling enum.c
compiling enumerator.c
compiling error.c
compiling eval.c
compiling load.c
compiling proc.c
compiling file.c
compiling gc.c
compiling hash.c
compiling inits.c
compiling io.c
compiling marshal.c
compiling math.c
compiling node.c
compiling numeric.c
compiling object.c
compiling pack.c
compiling parse.c
compiling process.c
compiling random.c
compiling range.c
compiling rational.c
compiling re.c
compiling regcomp.c
compiling regenc.c
compiling regerror.c
compiling regexec.c
compiling regparse.c
compiling regsyntax.c
compiling ruby.c
compiling safe.c
compiling signal.c
compiling sprintf.c
compiling st.c
compiling strftime.c
compiling string.c
string.c: In function ‘rb_str_enumerate_chars’:
string.c:6879:3: warning: ‘ary’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   rb_ary_push(ary, substr);
   ^
compiling struct.c
compiling symbol.c
compiling time.c
compiling transcode.c
compiling util.c
compiling variable.c
compiling version.c
compiling compile.c
compiling debug.c
compiling iseq.c
compiling vm.c
compiling vm_dump.c
compiling vm_backtrace.c
compiling vm_trace.c
compiling thread.c
compiling cont.c
compiling ./enc/ascii.c
compiling ./enc/us_ascii.c
compiling ./enc/unicode.c
compiling ./enc/utf_8.c
compiling newline.c
compiling ./missing/setproctitle.c
compiling ./missing/strlcat.c
compiling ./missing/strlcpy.c
compiling addr2line.c
compiling dmyext.c
compiling dmyenc.c
linking miniruby
rbconfig.rb updated
generating enc.mk
compiling dln.c
compiling localeinit.c
creating verconf.h
verconf.h updated
compiling loadpath.c
compiling prelude.c
linking static-library libruby-static.a
ar: `u' modifier ignored since `D' is the default (see `U')
verifying static-library libruby-static.a
linking shared-library libruby.so.2.2.0
generating encdb.h
encdb.h updated
making enc
make[1]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3'
compiling ./enc/encdb.c
linking encoding encdb.so
compiling ./enc/big5.c
linking encoding big5.so
compiling ./enc/cp949.c
linking encoding cp949.so
compiling ./enc/emacs_mule.c
linking encoding emacs_mule.so
compiling ./enc/euc_jp.c
linking encoding euc_jp.so
compiling ./enc/euc_kr.c
linking encoding euc_kr.so
compiling ./enc/euc_tw.c
linking encoding euc_tw.so
compiling ./enc/gb2312.c
linking encoding gb2312.so
compiling ./enc/gb18030.c
linking encoding gb18030.so
compiling ./enc/gbk.c
linking encoding gbk.so
compiling ./enc/iso_8859_1.c
linking encoding iso_8859_1.so
compiling ./enc/iso_8859_2.c
linking encoding iso_8859_2.so
compiling ./enc/iso_8859_3.c
linking encoding iso_8859_3.so
compiling ./enc/iso_8859_4.c
linking encoding iso_8859_4.so
compiling ./enc/iso_8859_5.c
linking encoding iso_8859_5.so
compiling ./enc/iso_8859_6.c
linking encoding iso_8859_6.so
compiling ./enc/iso_8859_7.c
linking encoding iso_8859_7.so
compiling ./enc/iso_8859_8.c
linking encoding iso_8859_8.so
compiling ./enc/iso_8859_9.c
linking encoding iso_8859_9.so
compiling ./enc/iso_8859_10.c
linking encoding iso_8859_10.so
compiling ./enc/iso_8859_11.c
linking encoding iso_8859_11.so
compiling ./enc/iso_8859_13.c
linking encoding iso_8859_13.so
compiling ./enc/iso_8859_14.c
linking encoding iso_8859_14.so
compiling ./enc/iso_8859_15.c
linking encoding iso_8859_15.so
compiling ./enc/iso_8859_16.c
linking encoding iso_8859_16.so
compiling ./enc/koi8_r.c
linking encoding koi8_r.so
compiling ./enc/koi8_u.c
linking encoding koi8_u.so
compiling ./enc/shift_jis.c
linking encoding shift_jis.so
compiling ./enc/utf_16be.c
linking encoding utf_16be.so
compiling ./enc/utf_16le.c
linking encoding utf_16le.so
compiling ./enc/utf_32be.c
linking encoding utf_32be.so
compiling ./enc/utf_32le.c
linking encoding utf_32le.so
compiling ./enc/windows_31j.c
linking encoding windows_31j.so
compiling ./enc/windows_1251.c
linking encoding windows_1251.so
make[1]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3'
making srcs under enc
make[1]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3'
make[1]: Nothing to be done for 'srcs'.
make[1]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3'
generating transdb.h
transdb.h updated
making trans
make[1]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3'
compiling ./enc/trans/transdb.c
linking transcoder transdb.so
compiling ./enc/trans/big5.c
linking transcoder big5.so
compiling ./enc/trans/chinese.c
linking transcoder chinese.so
compiling ./enc/trans/emoji.c
linking transcoder emoji.so
compiling ./enc/trans/emoji_iso2022_kddi.c
linking transcoder emoji_iso2022_kddi.so
compiling ./enc/trans/emoji_sjis_docomo.c
linking transcoder emoji_sjis_docomo.so
compiling ./enc/trans/emoji_sjis_kddi.c
linking transcoder emoji_sjis_kddi.so
compiling ./enc/trans/emoji_sjis_softbank.c
linking transcoder emoji_sjis_softbank.so
compiling ./enc/trans/escape.c
linking transcoder escape.so
compiling ./enc/trans/gb18030.c
linking transcoder gb18030.so
compiling ./enc/trans/gbk.c
linking transcoder gbk.so
compiling ./enc/trans/iso2022.c
linking transcoder iso2022.so
compiling ./enc/trans/japanese.c
linking transcoder japanese.so
compiling ./enc/trans/japanese_euc.c
linking transcoder japanese_euc.so
compiling ./enc/trans/japanese_sjis.c
linking transcoder japanese_sjis.so
compiling ./enc/trans/korean.c
linking transcoder korean.so
compiling ./enc/trans/single_byte.c
linking transcoder single_byte.so
compiling ./enc/trans/utf8_mac.c
linking transcoder utf8_mac.so
compiling ./enc/trans/utf_16_32.c
linking transcoder utf_16_32.so
make[1]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3'
making encs
make[1]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3'
make[1]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3'
generating makefile exts.mk
configuring -test-/array/resize
configuring -test-/bignum
configuring -test-/bug-3571
configuring -test-/bug-3662
configuring -test-/bug-5832
configuring -test-/bug_reporter
configuring -test-/class
configuring -test-/debug
configuring -test-/exception
configuring -test-/fatal
configuring -test-/file
configuring -test-/float
configuring -test-/funcall
configuring -test-/hash
configuring -test-/iseq_load
configuring -test-/iter
configuring -test-/load/dot.dot
configuring -test-/marshal/compat
configuring -test-/marshal/usr
configuring -test-/method
configuring -test-/num2int
configuring -test-/path_to_class
configuring -test-/postponed_job
configuring -test-/printf
configuring -test-/proc
configuring -test-/rational
configuring -test-/recursion
configuring -test-/st/foreach
configuring -test-/st/numhash
configuring -test-/st/update
configuring -test-/string
configuring -test-/struct
configuring -test-/symbol
configuring -test-/tracepoint
configuring -test-/typeddata
configuring -test-/wait_for_single_fd
configuring -test-/win32/console
Failed to configure -test-/win32/console. It will not be installed.
configuring -test-/win32/dln
Failed to configure -test-/win32/dln. It will not be installed.
Failed to configure -test-/win32/dln/empty. It will not be installed.
configuring -test-/win32/fd_setsize
Failed to configure -test-/win32/fd_setsize. It will not be installed.
configuring bigdecimal
configuring continuation
configuring coverage
configuring date
configuring dbm
Failed to configure dbm. It will not be installed.
configuring digest
configuring digest/bubblebabble
configuring digest/md5
configuring digest/rmd160
configuring digest/sha1
configuring digest/sha2
configuring etc
configuring fcntl
configuring fiber
configuring fiddle
configuring gdbm
Failed to configure gdbm. It will not be installed.
configuring io/console
configuring io/nonblock
configuring io/wait
configuring json
configuring json/generator
configuring json/parser
configuring mathn/complex
configuring mathn/rational
configuring nkf
configuring objspace
configuring openssl
configuring pathname
configuring psych
configuring pty
configuring racc/cparse
configuring rbconfig/sizeof
configuring readline
configuring ripper
configuring sdbm
configuring socket
configuring stringio
configuring strscan
configuring syslog
configuring thread
configuring tk
...........
check struct members..
check libraries....
Use ActiveTcl libraries (if available).
Search tclConfig.sh and tkConfig.sh...............................
Fail to find [tclConfig.sh, tkConfig.sh]
Use X11 libraries (or use TK_XINCLUDES/TK_XLIBSW information on tkConfig.sh).
Warning:: cannot find X11 library. tcltklib will not be compiled (tcltklib is disabled on your Ruby. That is, Ruby/Tk will not work). Please check configure options. If your Tcl/Tk don't require X11, please try --without-X11.
Can't find X11 libraries. 
So, can't make tcltklib.so which is required by Ruby/Tk.
Failed to configure tk. It will not be installed.
Failed to configure tk/tkutil. It will not be installed.
configuring win32
Failed to configure win32. It will not be installed.
configuring win32ole
Failed to configure win32ole. It will not be installed.
configuring zlib
make[1]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/array/resize'
compiling resize.c
linking shared-object -test-/array/resize.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/array/resize'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/bignum'
compiling str2big.c
compiling intpack.c
compiling init.c
compiling big2str.c
compiling div.c
compiling mul.c
compiling bigzero.c
linking shared-object -test-/bignum.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/bignum'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/bug-3571'
compiling bug.c
linking shared-object -test-/bug-3571/bug.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/bug-3571'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/bug-3662'
compiling bug.c
linking shared-object -test-/bug-3662/bug.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/bug-3662'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/bug-5832'
compiling bug.c
linking shared-object -test-/bug-5832/bug.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/bug-5832'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/bug_reporter'
compiling bug_reporter.c
linking shared-object -test-/bug_reporter/bug_reporter.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/bug_reporter'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/class'
compiling init.c
compiling class2name.c
linking shared-object -test-/class.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/class'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/debug'
compiling init.c
compiling profile_frames.c
compiling inspector.c
linking shared-object -test-/debug.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/debug'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/exception'
compiling enc_raise.c
compiling init.c
compiling dataerror.c
compiling ensured.c
linking shared-object -test-/exception.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/exception'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/fatal'
compiling rb_fatal.c
linking shared-object -test-/fatal/rb_fatal.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/fatal'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/file'
compiling fs.c
compiling init.c
compiling stat.c
linking shared-object -test-/file.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/file'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/float'
compiling init.c
compiling nextafter.c
linking shared-object -test-/float.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/float'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/funcall'
compiling passing_block.c
linking shared-object -test-/funcall/funcall.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/funcall'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/hash'
compiling init.c
compiling delete.c
linking shared-object -test-/hash.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/hash'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/iseq_load'
compiling iseq_load.c
linking shared-object -test-/iseq_load/iseq_load.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/iseq_load'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/iter'
compiling yield.c
compiling break.c
compiling init.c
linking shared-object -test-/iter.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/iter'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/load/dot.dot'
compiling dot.dot.c
linking shared-object -test-/load/dot.dot/dot.dot.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/load/dot.dot'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/marshal/compat'
compiling usrcompat.c
linking shared-object -test-/marshal/compat.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/marshal/compat'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/marshal/usr'
compiling usrmarshal.c
linking shared-object -test-/marshal/usr.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/marshal/usr'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/method'
compiling arity.c
compiling init.c
linking shared-object -test-/method.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/method'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/num2int'
compiling num2int.c
linking shared-object -test-/num2int/num2int.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/num2int'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/path_to_class'
compiling path_to_class.c
linking shared-object -test-/path_to_class/path_to_class.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/path_to_class'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/postponed_job'
compiling postponed_job.c
linking shared-object -test-/postponed_job.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/postponed_job'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/printf'
compiling printf.c
linking shared-object -test-/printf.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/printf'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/proc'
compiling super.c
compiling init.c
compiling receiver.c
linking shared-object -test-/proc.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/proc'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/rational'
compiling rat.c
linking shared-object -test-/rational.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/rational'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/recursion'
compiling recursion.c
linking shared-object -test-/recursion.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/recursion'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/st/foreach'
compiling foreach.c
linking shared-object -test-/st/foreach.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/st/foreach'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/st/numhash'
compiling numhash.c
linking shared-object -test-/st/numhash.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/st/numhash'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/st/update'
compiling update.c
linking shared-object -test-/st/update.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/st/update'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/string'
compiling qsort.c
compiling ellipsize.c
compiling coderange.c
compiling enc_str_buf_cat.c
compiling nofree.c
compiling init.c
compiling enc_associate.c
compiling modify.c
compiling normalize.c
compiling set_len.c
compiling cstr.c
linking shared-object -test-/string/string.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/string'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/struct'
compiling member.c
compiling init.c
linking shared-object -test-/struct.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/struct'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/symbol'
compiling init.c
compiling type.c
linking shared-object -test-/symbol.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/symbol'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/tracepoint'
compiling tracepoint.c
compiling gc_hook.c
linking shared-object -test-/tracepoint.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/tracepoint'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/typeddata'
compiling typeddata.c
linking shared-object -test-/typeddata/typeddata.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/typeddata'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/wait_for_single_fd'
compiling wait_for_single_fd.c
linking shared-object -test-/wait_for_single_fd/wait_for_single_fd.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/wait_for_single_fd'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/win32/console'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/win32/console'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/win32/dln'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/win32/dln'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/win32/dln/empty'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/win32/dln/empty'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/win32/fd_setsize'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/-test-/win32/fd_setsize'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/bigdecimal'
compiling bigdecimal.c
linking shared-object bigdecimal.so
installing default bigdecimal libraries
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/bigdecimal'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/continuation'
compiling continuation.c
linking shared-object continuation.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/continuation'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/coverage'
compiling coverage.c
linking shared-object coverage.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/coverage'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/date'
compiling date_strptime.c
compiling date_core.c
compiling date_parse.c
compiling date_strftime.c
linking shared-object date_core.so
installing default date_core libraries
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/date'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/dbm'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/dbm'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/digest'
compiling digest.c
linking shared-object digest.so
installing digest libraries
installing default digest libraries
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/digest'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/digest/bubblebabble'
compiling bubblebabble.c
linking shared-object digest/bubblebabble.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/digest/bubblebabble'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/digest/md5'
compiling md5init.c
compiling md5ossl.c
linking shared-object digest/md5.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/digest/md5'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/digest/rmd160'
compiling rmd160init.c
compiling rmd160ossl.c
linking shared-object digest/rmd160.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/digest/rmd160'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/digest/sha1'
compiling sha1init.c
compiling sha1ossl.c
linking shared-object digest/sha1.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/digest/sha1'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/digest/sha2'
compiling sha2init.c
compiling sha2ossl.c
linking shared-object digest/sha2.so
installing default sha2 libraries
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/digest/sha2'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/etc'
generating constant definitions
compiling etc.c
linking shared-object etc.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/etc'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/fcntl'
compiling fcntl.c
linking shared-object fcntl.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/fcntl'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/fiber'
compiling fiber.c
linking shared-object fiber.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/fiber'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/fiddle'
compiling closure.c
compiling handle.c
compiling pointer.c
compiling fiddle.c
compiling function.c
compiling conversions.c
linking shared-object fiddle.so
installing default fiddle libraries
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/fiddle'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/gdbm'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/gdbm'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/io/console'
compiling console.c
linking shared-object io/console.so
installing default console libraries
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/io/console'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/io/nonblock'
compiling nonblock.c
linking shared-object io/nonblock.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/io/nonblock'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/io/wait'
compiling wait.c
linking shared-object io/wait.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/io/wait'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/json'
installing default libraries
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/json'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/json/generator'
compiling generator.c
linking shared-object json/ext/generator.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/json/generator'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/json/parser'
compiling parser.c
linking shared-object json/ext/parser.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/json/parser'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/mathn/complex'
compiling complex.c
linking shared-object mathn/complex.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/mathn/complex'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/mathn/rational'
compiling rational.c
linking shared-object mathn/rational.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/mathn/rational'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/nkf'
compiling nkf.c
linking shared-object nkf.so
installing default nkf libraries
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/nkf'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/objspace'
compiling objspace.c
compiling object_tracing.c
compiling objspace_dump.c
linking shared-object objspace.so
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/objspace'
make[2]: Entering directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/openssl'
compiling ossl_x509req.c
compiling ossl_rand.c
compiling ossl_x509.c
compiling ossl_ssl_session.c
compiling ossl_pkey_rsa.c
compiling ossl_x509revoked.c
compiling ossl_x509ext.c
compiling ossl_x509name.c
compiling ossl_pkcs12.c
compiling ossl_pkey_dsa.c
compiling ossl_digest.c
compiling ossl_pkcs5.c
compiling ossl_cipher.c
compiling ossl_x509cert.c
compiling openssl_missing.c
compiling ossl_engine.c
compiling ossl_hmac.c
compiling ossl_bn.c
compiling ossl_pkey.c
compiling ossl.c
compiling ossl_pkey_dh.c
compiling ossl_pkcs7.c
compiling ossl_x509attr.c
compiling ossl_config.c
compiling ossl_ns_spki.c
compiling ossl_ocsp.c
compiling ossl_x509store.c
compiling ossl_bio.c
compiling ossl_pkey_ec.c
compiling ossl_ssl.c
ossl_ssl.c:141:27: error: ‘SSLv3_method’ undeclared here (not in a function)
     OSSL_SSL_METHOD_ENTRY(SSLv3),
                           ^
ossl_ssl.c:119:69: note: in definition of macro ‘OSSL_SSL_METHOD_ENTRY’
 #define OSSL_SSL_METHOD_ENTRY(name) { #name, (SSL_METHOD *(*)(void))name##_method }
                                                                     ^
ossl_ssl.c:142:27: error: ‘SSLv3_server_method’ undeclared here (not in a function)
     OSSL_SSL_METHOD_ENTRY(SSLv3_server),
                           ^
ossl_ssl.c:119:69: note: in definition of macro ‘OSSL_SSL_METHOD_ENTRY’
 #define OSSL_SSL_METHOD_ENTRY(name) { #name, (SSL_METHOD *(*)(void))name##_method }
                                                                     ^
ossl_ssl.c:143:27: error: ‘SSLv3_client_method’ undeclared here (not in a function)
     OSSL_SSL_METHOD_ENTRY(SSLv3_client),
                           ^
ossl_ssl.c:119:69: note: in definition of macro ‘OSSL_SSL_METHOD_ENTRY’
 #define OSSL_SSL_METHOD_ENTRY(name) { #name, (SSL_METHOD *(*)(void))name##_method }
                                                                     ^
Makefile:293: recipe for target 'ossl_ssl.o' failed
make[2]: *** [ossl_ssl.o] Error 1
make[2]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3/ext/openssl'
exts.mk:202: recipe for target 'ext/openssl/all' failed
make[1]: *** [ext/openssl/all] Error 2
make[1]: Leaving directory '/tmp/tmp.0dPHxRDD9W/ruby-2.2.3'
uncommon.mk:189: recipe for target 'build-ext' failed
make: *** [build-ext] Error 2

Automatic reshim after gem installing/uninstalling

Hello!

It's weird that I should exec asdf reshim ruby after any gem installation and uninstallation.

So, I've ran bundle, which installed needed dependencies, but I can't exec rspec, for example.

Please.

[Proposal] Add support for a default-gems file

I came across this article about the default-gems feature in rbenv: https://philna.sh/blog/2017/03/22/always-install-bundler-alongside-ruby-with-rbenv/ Might be a nice feature to add to asdf-ruby at some point. Not a high priority but definitely could be nice to have.

If anyone wants to contribute to asdf-ruby I think this might be an easy way to start. This feature should be relatively easy to implement:

  • After installation of a ruby version, add some code to the install gems.
  • The code should look for a file, say .default-gems in the user's home directory.
  • Iterate over each line of the file, taking the text on the line and using it as the gem name in a gem install $gem command. Make sure to check the exit code and print an appropriate error message if a gem install fails. It may be possible to pass all the gems to gem install at once, I'm not familiar with the input gem install will accept.

os_based_configure_options cannot bail early

I ran into an issue w/ os_based_configure_options: Because it is called in a subshell (

local configure_options="$(os_based_configure_options) --prefix=$install_path"
), if it exits, that error gets swallowed up.

This occurs if homebrew isn't available on

exit_if_homebrew_not_installed
.

So in my case, it can't find homebrew, that check exits 1, but that gets absorbed by the subshell and the build attempts to continue. It fails, but as a similar issue, we "exit 1" from the subshell on

asdf-ruby/bin/install

Lines 46 to 49 in 302efde

./configure $configure_options || exit 1
make || exit 1
make install || exit 1
)
, so those exit codes are swallowed.

The end result is that I run an install, the exit code is 0, but no installation has occurred. This appears to be replicated exactly or similar across at least asdf-python and asdf-erlang

Incorrect subfolder ruby version

removed rbenv

brew uninstall rbenv
rm -rf ~/.rbenv
# delete rbenv init command from ~/.bashrc

Installed asdf and asdf ruby plugin

# followed asdf install steps in readme
$ asdf plugin-add ruby https://github.com/asdf-vm/asdf-ruby.git
$ asdf ruby install 2.3.1
$ asdf global ruby 2.3.1
$ which ruby
> /Users/adsteel/.asdf/shims/ruby
$ ruby -v
$ ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin17]
$ which gem
> /Users/adsteel/.asdf/shims/gem
$ gem -v
> 2.5.1
$ echo $PATH
> /Users/adsteel/.asdf/bin:/Users/adsteel/.asdf/shims:/usr/local/opt/[email protected]/bin:./node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/adsteel/bin:/usr/local/bin:/usr/local/bin/git/:/usr/local/mysql/bin:/Applications/Postgres.app/Contents/Versions/latest/bin:./bin:/usr/libexec

So far so good. Just to be sure...

$ gem uninstall bundler
$ gem install bundler

But things are still incorrect.

$ irb
irb(main):001:0> Gem.bin_path('bundler', 'bundle')
=> "/Users/adsteel/.asdf/installs/ruby/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.16.0/exe/bundle"
irb(main):002:0> 

You can see in the install log that the incorrect version is being installed.

configure: ruby library version = 2.3.0

This uses the incorrect version of bundler when I bundle install, and so installs the gems incorrectly. It's possible I got myself into this mess with how I uninstalled rbenv, but I'm not really sure what I did wrong if that's the case.

rbenv migrations instructions don't work in a subtle way

I followed the instructions in the readme to copy my rbenv stuff over to asdf. This worked at first, but I realized when I installed gems that had a CLI/bin, those were installed into the location where rbenv had configured RubyGems to install stuff. gem environments showed that binfiles were not installed where asdf was looking. When I deleted a ruby version, reinstalled it, and then installed the gem, the binfile showed up in the right way.

I don't know how rbenv configured RubyGems to have a suggestion, but barring that, I think the instructions in the README are wrong, and the only option I have is to just re-install needed Rubies and gems.

Is it possible to enable doc installation?

This line would seem to suggest that --disable-install-doc is hard coded:

configure_options="$configure_options --enable-shared --disable-install-doc"

Is there a way to allow documentation to be installed?

Use-case: people (like me) who use ri extensively.

Migrating from chruby isn't that simple

2 problems I've encountered so far with migration from chruby.

  1. The naming convention for rubies was different, as in the directory ruby-2.3.2 should become 2.3.2 (I renamed manually).

  2. More importantly, the shebang in the bin files of chruby is hardcoded to the old location

$ head -n1 ~/.asdf/installs/ruby/2.3.2/bin/gem
#!/Users/max/.rubies/ruby-2.3.2/bin/ruby

I will probably just reinstall ruby instead of fixing this by hand.

legacy version check doesn't support "ruby-2.5.0" format

I'm working on open source projects and they use .ruby-version file with format a bit different from asdf legacy version.

  $ cat .ruby-version
  ruby-2.5.0
  $ ruby -v
  ruby ruby-2.5.0 not installed

it works if I change the content to 2.5.0.

How can I apply patch?

I'm trying to install older versions of Ruby, but there is widely known ssl bug when compile, with rvm or rbenv, this can be solved by passing argument --patch when installing.

How can I do this with asdf-ruby?

Can't install any rails version with ruby 2.4.2

Hello. I am reaching out after a couple of days on this issue. Any insight is appreciated.

I am migrating (macOS is 10.12.6) from rbenv with the latest ruby 2.4.2 but there seems to be impossible to gem-install rails after a gem uninstall rails as I get the message to reinstall rails:

$ rails -v
Rails is not currently installed on this system. To get the latest version, simply type:
    $ sudo gem install rails
You can then rerun your "rails" command.

$ asdf current
ruby 2.4.2 (set by /Users/fcbarbi/.tool-versions)

$ ls /Users/fcbarbi/.asdf/shims
byebug		gem		listen		pumactl		rdoc		ruby		
sass-convert	spring erb		irb		puma		rake		ri		
sass		scss		tilt

$ gem install rails -v5.1.0
Fetching: activesupport-5.1.0.gem (100%)
Successfully installed activesupport-5.1.0
(...)
Fetching: railties-5.1.0.gem (100%)
Successfully installed railties-5.1.0
Fetching: rails-5.1.0.gem (100%)
Successfully installed rails-5.1.0
(...)
Done installing documentation for activesupport, actionview, actionpack, activemodel, activerecord, activejob, actionmailer, actioncable, railties, rails after 23 seconds
10 gems installed

$ asdf reshim ruby

All the other shims are installed but rails':

$ which gem 
/Users/fcbarbi/.asdf/shims/gem

$ which rake
/Users/fcbarbi/.asdf/shims/rake

$ which rails
/usr/bin/rails

$ rails -v
Rails is not currently installed on this system. To get the latest version, simply type:
    $ sudo gem install rails
You can then rerun your "rails" command.

I can't see why it does not create the shim, so I tried to manually set one copying one of the shims and editing it but this only changes the response to which rails that returns /Users/fcbarbi/.asdf/shims/rails but rails is not installed.

I deleted the directories used by rbenv, /Users/fcbarbi/.gem and /Users/fcbarbi/.rbenv and I am sure it is completely uninstalled.

Any ideas would be welcome, mine are finished...

Fails to build Ruby on FreeBSD with the new version

I’ve just updated asdf-ruby on a FreeBSD platform and it now fails to build Ruby at the very beginning of the process:

$ asdf install ruby 2.5.1
Downloading ruby-2.5.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.bz2
Installing ruby-2.5.1...
Hmm...  I can't seem to find a patch in there anywhere.

BUILD FAILED (FreeBSD 11.1-RELEASE-p10 using ruby-build 20180424)

Inspect or clean up the working tree at /tmp/ruby-build.20180530150538.73551
Results logged to /tmp/ruby-build.20180530150538.73551.log

Last 10 log lines:
/tmp/ruby-build.20180530150538.73551 ~
/tmp/ruby-build.20180530150538.73551/ruby-2.5.1 /tmp/ruby-build.20180530150538.73551 ~

It used to work a few days ago with the last version, so this is a regression.

Can't install gems: `unknown encoding name` error

When I install a ruby (specifically, 2.3.5) with asdf-ruby using asdf v0.4.3, I get the following error:

$ gem install bundler
ERROR:  Loading command: install (ArgumentError)
        unknown encoding name: binary
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass

This is on Mac OS X 10.13.4. Xcode Command Line Tools and Homebrew are installed, as is libyaml and openssl.

Downgrading asdf to 0.4.1., clearing the build cache in $TMPDIR, and reinstalling Ruby got it working again.

Support installation of "head" rubies ?

Hey there,

I'm trying to use asdf as my version manager for everything these days and so also asdf-ruby - works good so far.

A limitation I've come across is that I can't install "head" versions of rubies e.g. asdf install ruby jruby-head - e.g. the current master of CRuby or JRuby. Support for that in the future would be great - but I reckon it's not the most common use case :)

Happy holidays! 🌟

Dealing with different name conventions from legacy file

Hi,

I recently switched to asdf but I'm facing small issues when working with other teams.

The way Ruby is installed with asdf, when the legacy file contains 2.3.1 it works but when it contains ruby-2.3.1 it doesn't.

Do you think there is a way to make asdf accept both?

Thanks.

Ruby 1.8 not available

➜  folder git:(development) ✗ asdf list-all ruby | grep 1.8
jruby-9.1.8.0
1.8.5-p115
1.8.6-p114
1.8.6-p383
1.8.6-p388
1.8.6-p398
1.8.6-p399
1.8.6-p420
1.8.7-p174
1.8.7-p248
1.8.7-p249
1.8.7-p299
1.8.7-p302
1.8.7-p330
1.8.7-p334
1.8.7-p352
1.8.7-p357
1.8.7-p358
1.8.7-p370
1.8.7-p371
1.8.7-p374
2.1.8
➜  folder git:(development) ✗ asdf install ruby 1.8.7-p374
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   168  100   168    0     0    238      0 --:--:-- --:--:-- --:--:--   238

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

Gemfile version

Is it possible to use the ruby version specified in the Gemfile? This is a very handy feature with rbenv etc

Ruby 2.1.6

Any reason that some ruby versions are missing?

Cannot install Ruby on Linux Mint

I am new to Linux, but I was able to install Ruby with apt-get. Trying to install it with asdf fails. If this is not the place to report this, or if I am missing something I should know as a Linux user, please let me know.

Output reads:

$ asdf install ruby 2.4.0
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13.4M  100 13.4M    0     0  1831k      0  0:00:07  0:00:07 --:--:-- 2440k
Building with options: --with-openssl-dir=/usr --with-libyaml-dir=/usr --enable-shared --disable-install-doc --prefix=/home/adsteel/.asdf/installs/ruby/2.4.0
checking for ruby... /usr/bin/ruby
config.guess already exists
config.sub already exists
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/tmp/ruby_build_sX58Da/ruby-2.4.0':
configure: error: C compiler cannot create executables
See `config.log' for more details

config.log reads:

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ ./configure --with-openssl-dir=/usr --with-libyaml-dir=/usr --enable-shared --disable-install-doc --prefix=/home/adsteel/.asdf/installs/ruby/2.4.0

## --------- ##
## Platform. ##
## --------- ##

hostname = adsteel-ThinkPad-X220
uname -m = x86_64
uname -r = 4.8.0-53-generic
uname -s = Linux
uname -v = #56~16.04.1-Ubuntu SMP Tue May 16 01:18:56 UTC 2017

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

## ----------- ##
## Core tests. ##
## ----------- ##

configure:2961: checking for ruby
configure:2979: found /usr/bin/ruby
configure:2992: result: /usr/bin/ruby
configure:3052: checking build system type
configure:3066: result: x86_64-pc-linux-gnu
configure:3149: checking host system type
configure:3162: result: x86_64-pc-linux-gnu
configure:3182: checking target system type
configure:3195: result: x86_64-pc-linux-gnu
configure:3969: checking for gcc
configure:3985: found /usr/bin/gcc
configure:3996: result: gcc
configure:4225: checking for C compiler version
configure:4234: gcc --version >&5
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:4245: $? = 0
configure:4234: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.4' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 
configure:4245: $? = 0
configure:4234: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:4245: $? = 1
configure:4234: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
configure:4245: $? = 1
configure:4265: checking whether the C compiler works
configure:4287: gcc    conftest.c  >&5
/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: cannot find -lc
/usr/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
configure:4291: $? = 1
configure:4329: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define CANONICALIZATION_FOR_MATHN 1
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:4334: error: in `/tmp/ruby_build_sX58Da/ruby-2.4.0':
configure:4336: error: C compiler cannot create executables
See `config.log' for more details

LoadError when trying to install gems

First of all, thanks for this tool.

I've installed ruby 2.4.1 and after asdf finished installing, I tried the following:

$ gem install dep
ERROR:  Loading command: install (LoadError)
        cannot load such file -- zlib
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass

Am I missing something else from the installation?

Thanks.

Passing arguments to ruby-build

TL;DR

I'd like to keep the source directory and the tarball file ruby-build downloads when running,

asdf install ruby 2.5.1

Scanning through the README.md I came across how build environment variables can be passed to ruby-build however, off the top of my head, I couldn't see or understand how I could pass an argument or flag to ruby-build more specifically the, the -k or --keep which would allow me to keep the tarball and extracted source directory of the tarball when running the above ☝️mentioned asdf command.

Didn't really see how a command flag could be passed to the the ruby-build command, so I'm not sure if I should be pointing the finger here, or pointing the finger at ruby-build.

It'd sure be swell, 🌈🦄if asdf supported passing flags to the tools that are building the languages, ie. the scenario I am describing, however I can also see how it could be a quick fix for the ruby-build guys to implement another custom build configuration variable for this situation, but I think this would still be a glaring issue even if a custom build configuration was added for keeping the downloaded tarbabll and source directory with ruby-build, thus bringing this conversation back to the original thought, it sure would be nice if asdf could or would support passing flags to the build tools that the plugins rely on.

ruby-build-custom-build-configuration-asdf-gh-issue

Need help with asdf-exec

With rbenv I can do something like:

$ rbenv exec bundle --version

Bundler version 1.16.0

or

$ rbenv exec gem -v

2.6.13

How can I have a similar result with asdf-ruby? I tried this:

$ ~/.asdf/bin/private/asdf-exec ruby bundle --version

But it gives me the following result:

No such command in 2.4.2 of ruby

local version not working with sublimetext rubocop

Hello.

I'm getting error on my sublime linter rubocop, when running /Users/gabriel/.asdf/shims/ruby -S rubocop --version gets a No version set for ruby message.

Only works after set a global ruby version.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.