https://github.com/chef/libyajl2-gem
gem to install the libyajl2 c-library for distributions which do not have it
https://github.com/chef/libyajl2-gem
Last synced: about 1 year ago
JSON representation
gem to install the libyajl2 c-library for distributions which do not have it
- Host: GitHub
- URL: https://github.com/chef/libyajl2-gem
- Owner: chef
- License: apache-2.0
- Created: 2014-04-08T20:48:02.000Z (over 12 years ago)
- Default Branch: main
- Last Pushed: 2023-07-19T20:29:23.000Z (about 3 years ago)
- Last Synced: 2025-04-25T03:36:21.293Z (over 1 year ago)
- Language: Ruby
- Size: 87.9 KB
- Stars: 1
- Watchers: 15
- Forks: 15
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
libyajl2-gem
============
[](https://travis-ci.org/chef/libyajl2-gem)
[](https://codeclimate.com/github/chef/libyajl2-gem)
[](http://badge.fury.io/rb/libyajl2)
**Umbrella Project**: [Chef Foundation](https://github.com/chef/chef-oss-practices/blob/master/projects/chef-foundation.md)
**Project State**: [Active](https://github.com/chef/chef-oss-practices/blob/master/repo-management/repo-states.md#active)
**Issues [Response Time Maximum](https://github.com/chef/chef-oss-practices/blob/master/repo-management/repo-states.md)**: 14 days
**Pull Request [Response Time Maximum](https://github.com/chef/chef-oss-practices/blob/master/repo-management/repo-states.md)**: 14 days
gem to install the libyajl2 c-library for distributions which do not have it
## NOTE
To build this depends on libgmp and its headers being installed. On Ubuntu:
```
apt-get install libgmp-dev
```
If you get a mysterious "unhandled exception" build failure like:
```
Building native extensions. This could take a while...
ERROR: Error installing libyajl2:
ERROR: Failed to build gem native extension.
/home/lamont/.rvm/rubies/ruby-2.2.3/bin/ruby -r ./siteconf20151209-53133-1aq7vdk.rb extconf.rb
creating Makefile
/home/lamont/.rvm/gems/ruby-2.2.3/gems/libyajl2-1.2.0/ext/libyajl2
extconf.rb:104:in `makemakefiles': unhandled exception
from extconf.rb:138:in `'
extconf failed, exit code 1
Gem files will remain installed in /home/lamont/.rvm/gems/ruby-2.2.3/gems/libyajl2-1.2.0 for inspection.
Results logged to /home/lamont/.rvm/gems/ruby-2.2.3/extensions/x86_64-linux/2.2.0/libyajl2-1.2.0/gem_make.out
```
Look at the output of make.out in the same directory as extconf.rb, for my
example above that looks like:
```
# cat /home/lamont/.rvm/gems/ruby-2.2.3/gems/libyajl2-1.2.0/ext/libyajl2/make.out
compiling yajl_buf.c
compiling yajl.c
compiling yajl_gen.c
compiling yajl_tree.c
compiling yajl_encode.c
compiling yajl_parser.c
compiling yajl_alloc.c
compiling yajl_version.c
compiling yajl_lex.c
linking shared-object libyajl.so
/usr/bin/ld: cannot find -lgmp
collect2: error: ld returned 1 exit status
make: *** [libyajl.so] Error 1
```
Which gives the correct error that -lgmp was not found...