Git Product home page Git Product logo

omnibus-crystal's People

Contributors

asterite avatar jhass avatar matiasgarciaisaia avatar spalladino avatar waj 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

omnibus-crystal's Issues

Bundle failed with ruby 2.4.1

I think it's because Ruby 2.4 unifies Fixnum and Bignum into Integer


[foi@foi-pc omnibus-crystal]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
[foi@foi-pc omnibus-crystal]$ bundle
The latest bundler is 1.16.0.pre.2, but you are currently running 1.15.4.
To update, run gem install bundler --pre
The git source git://github.com/opscode/omnibus-software.git uses the git protocol, which transmits data without encryption. Disable this warning with bundle config git.allow_insecure true, or switch to the https protocol to keep your data secure.
Fetching gem metadata from https://rubygems.org/..........
Fetching version metadata from https://rubygems.org/..
Fetching dependency metadata from https://rubygems.org/.
Using bundler 1.15.4
Using chef-sugar 2.3.0
Using cleanroom 1.0.0
Using ffi 1.9.5
Using libyajl2 1.0.1
Using ipaddress 0.8.0
Using mime-types 1.25.1
Using mixlib-cli 1.5.0
Using mixlib-config 2.1.0
Using mixlib-log 1.6.0
Using mixlib-shellout 1.4.0
Using systemu 2.6.4
Using wmi-lite 1.0.0
Using thor 0.19.1
Using omnibus-software 4.0.0 from git://github.com/opscode/omnibus-software.git (at master@ff7d627)
Fetching ffi-yajl 1.1.0
Installing ffi-yajl 1.1.0 with native extensions
Using uber-s3 0.2.4
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /usr/local/rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ffi-yajl-1.1.0/ext/ffi_yajl/ext/encoder
/usr/local/rbenv/versions/2.4.1/bin/ruby -r ./siteconf20171004-14521-xdy9k0.rb extconf.rb
 -I/usr/local/rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/libyajl2-1.2.0/lib/libyajl2/vendored-libyajl2/include $(cflags)
 -L/usr/local/rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/libyajl2-1.2.0/lib/libyajl2/vendored-libyajl2/lib -L. -L/usr/local/rbenv/versions/2.4.1/lib  -fstack-protector -rdynamic -Wl,-export-dynamic
checking for yajl/yajl_tree.h... yes
creating Makefile

current directory: /usr/local/rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ffi-yajl-1.1.0/ext/ffi_yajl/ext/encoder
make "DESTDIR=" clean

current directory: /usr/local/rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ffi-yajl-1.1.0/ext/ffi_yajl/ext/encoder
make "DESTDIR="
compiling encoder.c
encoder.c: In function ‘Init_encoder’:
encoder.c:304:20: error: ‘rb_cFixnum’ undeclared (first use in this function); did you mean ‘rb_isalnum’?
   rb_define_method(rb_cFixnum, "ffi_yajl", rb_cFixnum_ffi_yajl, 2);
                    ^~~~~~~~~~
                    rb_isalnum
encoder.c:304:20: note: each undeclared identifier is reported only once for each function it appears in
encoder.c:305:20: error: ‘rb_cBignum’ undeclared (first use in this function); did you mean ‘rb_cFixnum’?
   rb_define_method(rb_cBignum, "ffi_yajl", rb_cBignum_ffi_yajl, 2);
                    ^~~~~~~~~~
                    rb_cFixnum
encoder.c: At top level:
cc1: warning: unrecognized command line option ‘-Wno-self-assign’
cc1: warning: unrecognized command line option ‘-Wno-constant-logical-operand’
cc1: warning: unrecognized command line option ‘-Wno-parentheses-equality’
make: *** [Makefile:242: encoder.o] Error 1

make failed, exit code 2

Gem files will remain installed in /usr/local/rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ffi-yajl-1.1.0 for inspection.
Results logged to /usr/local/rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/extensions/x86_64-linux/2.4.0-static/ffi-yajl-1.1.0/gem_make.out

An error occurred while installing ffi-yajl (1.1.0), and Bundler cannot continue.
Make sure that gem install ffi-yajl -v '1.1.0' succeeds before bundling.

In Gemfile:
  omnibus was resolved to 4.0.0.rc.1, which depends on
    ohai was resolved to 7.4.0, which depends on
      ffi-yajl

PCRE version

Is there any reason we ship a 4 years old PCRE version? 8.39 was released last month.

Include `shards` binary with official build

Since 0.8.0, crystal deps depends on shards being present.

It will be great that last stable release of shards be distributed with official binaries, but allow the user to install a replacement binary if desired.

Shards external dependencies is limited to libyaml, which I believe are provided by this repository as static library.

Wanted to check here first before working on a pull request.

Thank you.

libunwind-generic.a is a broken symlink

/tmp ➤ curl -sL https://github.com/manastech/crystal/releases/download/0.7.6/crystal-0.7.6-1-linux-x86_64.tar.gz | tar xz
/tmp ➤ file crystal-0.7.6-1/embedded/lib/* | grep link
crystal-0.7.6-1/embedded/lib/libunwind-generic.a:   broken symbolic link to crystal-0.7.6-1ibunwind-x86_64.a

FreeBSD and Alpine Linux support

It would be really nice if we could automatically generate binaries (tar-gzipped) for these platforms and make them available in the release page after each release. In fact, given that we already have compiled binaries for 0.15.0 and 0.16.0 in these platforms, we could add these binaries right after implementing this issue.

I usually modify tins bits of this project before each release, I never added a new platform before. I know @waj could do this, but someone else should be able to do it too, I guess it's just about changing the Vagrant file.

/cc @ysbaddaden

Compile support libraries with Position Independent Code (PIC)

Attempting to use Crystal through tools like asdf might result in compilation errors triggered by embedded libraries not being compiled with -fPIC:

/usr/bin/ld: /home/luis/.asdf/installs/crystal/0.20.5/embedded/lib/../lib/libyaml.a(api.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /home/luis/.asdf/installs/crystal/0.20.5/embedded/lib/../lib/libyaml.a(parser.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /home/luis/.asdf/installs/crystal/0.20.5/embedded/lib/../lib/libyaml.a(scanner.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /home/luis/.asdf/installs/crystal/0.20.5/embedded/lib/../lib/libyaml.a(reader.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status

I wasn't able to check the build options used for the embedded libraries, but wanted to create the issue before looks like asdf gain more traction and we get more reports like this.

Thank you. ❤️ ❤️ ❤️

Tarballs don't include man page

Crystal has a brand new manpage that is not being included in the tarballs (and probably the debs?).

We should totally fix that, and update the Homebrew formula to take advantage of it, too.

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.