openSUSE / osem

Open Source Event Manager. An event management tool tailored to Free and Open Source Software conferences.
http://osem.io
MIT License
871 stars 491 forks source link

Cannot deploy OSEM to heroku #2283

Open divyanshumehta opened 5 years ago

divyanshumehta commented 5 years ago

I'm submitting a ..

Current behavior: Cannot deploy OSEM to heroku by clicking on Deploy to Heroku from INSTALL.md

Expected correct behavior:

Steps to reproduce: On clicking Deploy to Heroku from INSTALL.md and filling up the environment variables, I get build failures.

App Name ==> oss-nitdgp
Region ==> US
CLOUDINARY_URL ==> cloudinary://***************************
DATABASE_URL ==> postgresql://localhost/osem?pool=5
DEPLOY_TASKS ==> db:migrate
LANG ==> en
OSEM_DEVISE_SECRET_KEY ==> ad1184d940dcf72e2a92dce438185a5bf78fee5
OSEM_EMAIL_ADDRESS ==> *********
OSEM_HOSTNAME ==> oss-nitdgp.herokuapp.com
OSEM_NAME ==> OSS NITDGP
OSEM_SMTP_ADDRESS ==> smtp.gmail.com
OSEM_SMTP_AUTHENTICATION ==> plain
OSEM_SMTP_DOMAIN ==> smtp.gmail.com
OSEM_SMTP_PASSWORD ==> *******
OSEM_SMTP_PORT ==> 587
OSEM_SMTP_USERNAME ==> *********
RACK_ENV ==> production
RAILS_ENV ==> production
RAILS_SERVE_STATIC_FILES ==> true
SECRET_KEY_BASE ==> ad1184d94e7fdacaee78bfbc20b5992dce438185a5bf78fee5

The build log is as below

-----> Ruby app detected
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-2.4.5
-----> Installing dependencies using bundler 1.15.2
       Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
       Fetching gem metadata from https://rails-assets.org/...
       Fetching gem metadata from https://rubygems.org/...........
       Fetching version metadata from https://rails-assets.org/..
       Fetching version metadata from https://rubygems.org/...
       Fetching dependency metadata from https://rails-assets.org/..
       Fetching dependency metadata from https://rubygems.org/..
       Fetching gem metadata from https://rails-assets.org/...
       Fetching version metadata from https://rails-assets.org/..
       Fetching rake 10.5.0
       Fetching i18n 0.7.0
       Fetching json 1.8.3
       Installing i18n 0.7.0
       Installing rake 10.5.0
       Installing json 1.8.3 with native extensions
       Fetching minitest 5.9.0
       Installing minitest 5.9.0
       Fetching thread_safe 0.3.5
       Fetching builder 3.2.2
       Installing thread_safe 0.3.5
       Installing builder 3.2.2
       Fetching erubis 2.7.0
       Installing erubis 2.7.0
       Fetching mini_portile2 2.0.0
       Installing mini_portile2 2.0.0
       Fetching rack 1.6.4
       Installing rack 1.6.4
       Fetching mime-types 2.99.1
       Installing mime-types 2.99.1
       Fetching arel 6.0.3
       Installing arel 6.0.3
       Fetching uuidtools 2.1.5
       Installing uuidtools 2.1.5
       Fetching addressable 2.3.6
       Fetching browser 0.6.0
       Fetching geocoder 1.2.2
       Installing addressable 2.3.6
       Fetching referer-parser 0.2.1
       Installing browser 0.6.0
       Fetching request_store 1.1.0
       Installing request_store 1.1.0
       Installing geocoder 1.2.2
       Fetching user_agent_parser 2.1.5
       Installing referer-parser 0.2.1
       Fetching execjs 2.6.0
       Installing execjs 2.6.0
       Fetching aws_cf_signer 0.1.3
       Installing user_agent_parser 2.1.5
       Installing aws_cf_signer 0.1.3
       Fetching htmlentities 4.3.4
       Fetching rubyzip 1.0.0
       Installing rubyzip 1.0.0
       Installing htmlentities 4.3.4
       Using bundler 1.15.2
       Fetching thor 0.19.1
       Fetching hike 1.2.3
       Installing thor 0.19.1
       Installing hike 1.2.3
       Fetching multi_json 1.11.2
       Fetching tilt 1.4.1
       Installing multi_json 1.11.2
       Installing tilt 1.4.1
       Fetching bcrypt 3.1.10
       Installing bcrypt 3.1.10 with native extensions
       Fetching sass 3.2.19
       Fetching bootstrap-switch-rails 3.0.2
       Installing sass 3.2.19
       Installing bootstrap-switch-rails 3.0.2
       Fetching cancancan 1.13.1
       Installing cancancan 1.13.1
       Fetching chronic 0.10.2
       Installing chronic 0.10.2
       Fetching unf_ext 0.0.7.2
       Fetching netrc 0.11.0
       Installing netrc 0.11.0
       Installing unf_ext 0.0.7.2 with native extensions
       Fetching cocoon 1.2.6
       Installing cocoon 1.2.6
       Fetching coffee-script-source 1.10.0
       Installing coffee-script-source 1.10.0
       Fetching currencies 0.4.2
       Installing currencies 0.4.2
       Fetching i18n_data 0.7.0
       Installing i18n_data 0.7.0
       Fetching unicode_utils 1.4.0
       Installing unicode_utils 1.4.0
       Fetching daemons 1.1.9
       Installing daemons 1.1.9
       Fetching orm_adapter 0.5.0
       Installing orm_adapter 0.5.0
       Fetching dotenv 2.1.1
       Installing dotenv 2.1.1
       Fetching multipart-post 2.0.0
       Installing multipart-post 2.0.0
       Fetching gravtastic 3.2.6
       Installing gravtastic 3.2.6
       Fetching hashie 2.1.1
       Fetching loggability 0.11.0
       Installing hashie 2.1.1
       Fetching jwt 1.0.0
       Installing loggability 0.11.0
       Fetching leaflet-rails 0.7.4
       Installing jwt 1.0.0
       Fetching mini_magick 4.5.1
       Installing mini_magick 4.5.1
       Fetching sixarm_ruby_unaccent 1.1.1
       Installing leaflet-rails 0.7.4
       Installing sixarm_ruby_unaccent 1.1.1
       Fetching multi_xml 0.5.5
       Fetching mysql2 0.4.2
       Installing multi_xml 0.5.5
       Installing mysql2 0.4.2 with native extensions
       Fetching ruby-openid 2.5.0
       Installing ruby-openid 2.5.0
       Fetching pdf-core 0.2.5
       Installing pdf-core 0.2.5
       Fetching ttfunk 1.1.1
       Installing ttfunk 1.1.1
       Fetching rails-assets-jquery 2.2.1
       Installing rails-assets-jquery 2.2.1
       Fetching rails-assets-date.format 1.2.3
       Installing rails-assets-date.format 1.2.3
       Fetching rails-assets-holderjs 2.9.3
       Installing rails-assets-holderjs 2.9.3
       Fetching rails-assets-markdown 0.5.0
       Installing rails-assets-markdown 0.5.0
       Fetching rails-assets-momentjs 2.11.2
       Installing rails-assets-momentjs 2.11.2
       Fetching rails-assets-tinycolor 1.3.0
       Installing rails-assets-tinycolor 1.3.0
       Fetching rails-assets-to-markdown 1.3.0
       Installing rails-assets-to-markdown 1.3.0
       Fetching rails-assets-trianglify 0.4.0
       Installing rails-assets-trianglify 0.4.0
       Fetching rails-assets-waypoints 4.0.0
       Installing rails-assets-waypoints 4.0.0
       Fetching rails_serve_static_assets 0.0.4
       Installing rails_serve_static_assets 0.0.4
       Fetching rails_stdout_logging 0.0.3
       Installing rails_stdout_logging 0.0.3
       Fetching yajl-ruby 1.2.0
       Installing yajl-ruby 1.2.0 with native extensions
       Fetching redcarpet 3.2.3
       Installing redcarpet 3.2.3 with native extensions
       Fetching rolify 5.0.0
       Installing rolify 5.0.0
       Fetching ruby-oembed 0.8.14
       Installing ruby-oembed 0.8.14
       Fetching transitions 0.1.12
       Fetching faker 1.6.1
       Installing transitions 0.1.12
       Fetching tzinfo 1.2.2
       Installing tzinfo 1.2.2
       Installing faker 1.6.1
       Fetching nokogiri 1.6.7.2
       Installing nokogiri 1.6.7.2 with native extensions
       Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

       current directory:
       /tmp/build_54f22a557d34f0f1c00c2125477aa05a/vendor/bundle/ruby/2.4.0/gems/json-1.8.3/ext/json/ext/generator
       /tmp/build_54f22a557d34f0f1c00c2125477aa05a/vendor/ruby-2.4.5/bin/ruby -r
       ./siteconf20181209-207-pm7ofb.rb extconf.rb
       creating Makefile

       current directory:
       /tmp/build_54f22a557d34f0f1c00c2125477aa05a/vendor/bundle/ruby/2.4.0/gems/json-1.8.3/ext/json/ext/generator
       make "DESTDIR=" clean

       current directory:
       /tmp/build_54f22a557d34f0f1c00c2125477aa05a/vendor/bundle/ruby/2.4.0/gems/json-1.8.3/ext/json/ext/generator
       make "DESTDIR="
       compiling generator.c
       generator.c: In function 'generate_json':
       generator.c:861:25: error: 'rb_cFixnum' undeclared (first use in this function);
       did you mean 'mFixnum'?
            } else if (klass == rb_cFixnum) {
                                ^~~~~~~~~~
                                mFixnum
       generator.c:861:25: note: each undeclared identifier is reported only once for
       each function it appears in
       generator.c:863:25: error: 'rb_cBignum' undeclared (first use in this function);
       did you mean 'rb_cFixnum'?
            } else if (klass == rb_cBignum) {
                                ^~~~~~~~~~
                                rb_cFixnum
       generator.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'
       Makefile:241: recipe for target 'generator.o' failed
       make: *** [generator.o] Error 1

       make failed, exit code 2

       Gem files will remain installed in
       /tmp/build_54f22a557d34f0f1c00c2125477aa05a/vendor/bundle/ruby/2.4.0/gems/json-1.8.3
       for inspection.
       Results logged to
       /tmp/build_54f22a557d34f0f1c00c2125477aa05a/vendor/bundle/ruby/2.4.0/extensions/x86_64-linux/2.4.0-static/json-1.8.3/gem_make.out

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

       In Gemfile:
         axlsx_rails was resolved to 0.2.0, which depends on
           rails was resolved to 4.2.5.2, which depends on
             actionmailer was resolved to 4.2.5.2, which depends on
               actionpack was resolved to 4.2.5.2, which depends on
                 actionview was resolved to 4.2.5.2, which depends on
                   rails-dom-testing was resolved to 1.0.7, which depends on
                     rails-deprecated_sanitizer was resolved to 1.0.3, which depends on
                       activesupport was resolved to 4.2.5.2, which depends on
                         json
       Bundler Output: Fetching gem metadata from https://rails-assets.org/...
       Fetching gem metadata from https://rubygems.org/...........
       Fetching version metadata from https://rails-assets.org/..
       Fetching version metadata from https://rubygems.org/...
       Fetching dependency metadata from https://rails-assets.org/..
       Fetching dependency metadata from https://rubygems.org/..
       Fetching gem metadata from https://rails-assets.org/...
       Fetching version metadata from https://rails-assets.org/..
       Fetching rake 10.5.0
       Fetching i18n 0.7.0
       Fetching json 1.8.3
       Installing i18n 0.7.0
       Installing rake 10.5.0
       Installing json 1.8.3 with native extensions
       Fetching minitest 5.9.0
       Installing minitest 5.9.0
       Fetching thread_safe 0.3.5
       Fetching builder 3.2.2
       Installing thread_safe 0.3.5
       Installing builder 3.2.2
       Fetching erubis 2.7.0
       Installing erubis 2.7.0
       Fetching mini_portile2 2.0.0
       Installing mini_portile2 2.0.0
       Fetching rack 1.6.4
       Installing rack 1.6.4
       Fetching mime-types 2.99.1
       Installing mime-types 2.99.1
       Fetching arel 6.0.3
       Installing arel 6.0.3
       Fetching uuidtools 2.1.5
       Installing uuidtools 2.1.5
       Fetching addressable 2.3.6
       Fetching browser 0.6.0
       Fetching geocoder 1.2.2
       Installing addressable 2.3.6
       Fetching referer-parser 0.2.1
       Installing browser 0.6.0
       Fetching request_store 1.1.0
       Installing request_store 1.1.0
       Installing geocoder 1.2.2
       Fetching user_agent_parser 2.1.5
       Installing referer-parser 0.2.1
       Fetching execjs 2.6.0
       Installing execjs 2.6.0
       Fetching aws_cf_signer 0.1.3
       Installing user_agent_parser 2.1.5
       Installing aws_cf_signer 0.1.3
       Fetching htmlentities 4.3.4
       Fetching rubyzip 1.0.0
       Installing rubyzip 1.0.0
       Installing htmlentities 4.3.4
       Using bundler 1.15.2
       Fetching thor 0.19.1
       Fetching hike 1.2.3
       Installing thor 0.19.1
       Installing hike 1.2.3
       Fetching multi_json 1.11.2
       Fetching tilt 1.4.1
       Installing multi_json 1.11.2
       Installing tilt 1.4.1
       Fetching bcrypt 3.1.10
       Installing bcrypt 3.1.10 with native extensions
       Fetching sass 3.2.19
       Fetching bootstrap-switch-rails 3.0.2
       Installing sass 3.2.19
       Installing bootstrap-switch-rails 3.0.2
       Fetching cancancan 1.13.1
       Installing cancancan 1.13.1
       Fetching chronic 0.10.2
       Installing chronic 0.10.2
       Fetching unf_ext 0.0.7.2
       Fetching netrc 0.11.0
       Installing netrc 0.11.0
       Installing unf_ext 0.0.7.2 with native extensions
       Fetching cocoon 1.2.6
       Installing cocoon 1.2.6
       Fetching coffee-script-source 1.10.0
       Installing coffee-script-source 1.10.0
       Fetching currencies 0.4.2
       Installing currencies 0.4.2
       Fetching i18n_data 0.7.0
       Installing i18n_data 0.7.0
       Fetching unicode_utils 1.4.0
       Installing unicode_utils 1.4.0
       Fetching daemons 1.1.9
       Installing daemons 1.1.9
       Fetching orm_adapter 0.5.0
       Installing orm_adapter 0.5.0
       Fetching dotenv 2.1.1
       Installing dotenv 2.1.1
       Fetching multipart-post 2.0.0
       Installing multipart-post 2.0.0
       Fetching gravtastic 3.2.6
       Installing gravtastic 3.2.6
       Fetching hashie 2.1.1
       Fetching loggability 0.11.0
       Installing hashie 2.1.1
       Fetching jwt 1.0.0
       Installing loggability 0.11.0
       Fetching leaflet-rails 0.7.4
       Installing jwt 1.0.0
       Fetching mini_magick 4.5.1
       Installing mini_magick 4.5.1
       Fetching sixarm_ruby_unaccent 1.1.1
       Installing leaflet-rails 0.7.4
       Installing sixarm_ruby_unaccent 1.1.1
       Fetching multi_xml 0.5.5
       Fetching mysql2 0.4.2
       Installing multi_xml 0.5.5
       Installing mysql2 0.4.2 with native extensions
       Fetching ruby-openid 2.5.0
       Installing ruby-openid 2.5.0
       Fetching pdf-core 0.2.5
       Installing pdf-core 0.2.5
       Fetching ttfunk 1.1.1
       Installing ttfunk 1.1.1
       Fetching rails-assets-jquery 2.2.1
       Installing rails-assets-jquery 2.2.1
       Fetching rails-assets-date.format 1.2.3
       Installing rails-assets-date.format 1.2.3
       Fetching rails-assets-holderjs 2.9.3
       Installing rails-assets-holderjs 2.9.3
       Fetching rails-assets-markdown 0.5.0
       Installing rails-assets-markdown 0.5.0
       Fetching rails-assets-momentjs 2.11.2
       Installing rails-assets-momentjs 2.11.2
       Fetching rails-assets-tinycolor 1.3.0
       Installing rails-assets-tinycolor 1.3.0
       Fetching rails-assets-to-markdown 1.3.0
       Installing rails-assets-to-markdown 1.3.0
       Fetching rails-assets-trianglify 0.4.0
       Installing rails-assets-trianglify 0.4.0
       Fetching rails-assets-waypoints 4.0.0
       Installing rails-assets-waypoints 4.0.0
       Fetching rails_serve_static_assets 0.0.4
       Installing rails_serve_static_assets 0.0.4
       Fetching rails_stdout_logging 0.0.3
       Installing rails_stdout_logging 0.0.3
       Fetching yajl-ruby 1.2.0
       Installing yajl-ruby 1.2.0 with native extensions
       Fetching redcarpet 3.2.3
       Installing redcarpet 3.2.3 with native extensions
       Fetching rolify 5.0.0
       Installing rolify 5.0.0
       Fetching ruby-oembed 0.8.14
       Installing ruby-oembed 0.8.14
       Fetching transitions 0.1.12
       Fetching faker 1.6.1
       Installing transitions 0.1.12
       Fetching tzinfo 1.2.2
       Installing tzinfo 1.2.2
       Installing faker 1.6.1
       Fetching nokogiri 1.6.7.2
       Installing nokogiri 1.6.7.2 with native extensions
       Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

       current directory:
       /tmp/build_54f22a557d34f0f1c00c2125477aa05a/vendor/bundle/ruby/2.4.0/gems/json-1.8.3/ext/json/ext/generator
       /tmp/build_54f22a557d34f0f1c00c2125477aa05a/vendor/ruby-2.4.5/bin/ruby -r
       ./siteconf20181209-207-pm7ofb.rb extconf.rb
       creating Makefile

       current directory:
       /tmp/build_54f22a557d34f0f1c00c2125477aa05a/vendor/bundle/ruby/2.4.0/gems/json-1.8.3/ext/json/ext/generator
       make "DESTDIR=" clean

       current directory:
       /tmp/build_54f22a557d34f0f1c00c2125477aa05a/vendor/bundle/ruby/2.4.0/gems/json-1.8.3/ext/json/ext/generator
       make "DESTDIR="
       compiling generator.c
       generator.c: In function 'generate_json':
       generator.c:861:25: error: 'rb_cFixnum' undeclared (first use in this function);
       did you mean 'mFixnum'?
            } else if (klass == rb_cFixnum) {
                                ^~~~~~~~~~
                                mFixnum
       generator.c:861:25: note: each undeclared identifier is reported only once for
       each function it appears in
       generator.c:863:25: error: 'rb_cBignum' undeclared (first use in this function);
       did you mean 'rb_cFixnum'?
            } else if (klass == rb_cBignum) {
                                ^~~~~~~~~~
                                rb_cFixnum
       generator.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'
       Makefile:241: recipe for target 'generator.o' failed
       make: *** [generator.o] Error 1

       make failed, exit code 2

       Gem files will remain installed in
       /tmp/build_54f22a557d34f0f1c00c2125477aa05a/vendor/bundle/ruby/2.4.0/gems/json-1.8.3
       for inspection.
       Results logged to
       /tmp/build_54f22a557d34f0f1c00c2125477aa05a/vendor/bundle/ruby/2.4.0/extensions/x86_64-linux/2.4.0-static/json-1.8.3/gem_make.out

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

       In Gemfile:
         axlsx_rails was resolved to 0.2.0, which depends on
           rails was resolved to 4.2.5.2, which depends on
             actionmailer was resolved to 4.2.5.2, which depends on
               actionpack was resolved to 4.2.5.2, which depends on
                 actionview was resolved to 4.2.5.2, which depends on
                   rails-dom-testing was resolved to 1.0.7, which depends on
                     rails-deprecated_sanitizer was resolved to 1.0.3, which depends on
                       activesupport was resolved to 4.2.5.2, which depends on
                         json
 !
 !     Failed to install gems via Bundler.
 !
 !     Push rejected, failed to compile Ruby app.
 !     Push failed
senvB commented 5 years ago

I am facing the same issue (same error message and dependency tree) when running bundle install on Ubuntu14.04 und Ruby2.5.3.

differentreality commented 5 years ago

I can confirm that's indeed the case. This must be happening because the button tries to deploy our old version :disappointed: https://github.com/openSUSE/osem/tree/v1.0

Sorry there is no other release currently.

hennevogel commented 5 years ago

You can fix this by setting this environment variable in your heroku configuration:

NOKOGIRI_USE_SYSTEM_LIBRARIES=1

If you want to deploy the unstable version, go to

https://heroku.com/deploy?template=https://github.com/openSUSE/osem

hennevogel commented 5 years ago

I will make a 1.0.1 release that includes this...

sgryphon commented 4 months ago

I had to initially deploy to Heroku using the unstable version mentioned above.

But then scheduling an event didn't work, so I needed the patch to fix that: https://github.com/openSUSE/osem/pull/3244

So, I forked in github, then pulled in the change from AndrewKvalheim's repo, and updated Heroku to point to my own local repo.

There are some other bugs, e.g. I couldn't set the room on a track, but they aren't important to me (initially I thought I needed a room for the schedule to work, or to create a track schedule, but neither of them worked, and it turns out I didn't need tracks at all -- schedule is just broken, and the fix not yet merged).