Construindo Custom Builder Heroku Ruby / Rails para Web App usando o Taglib-Ruby

Eu criei um aplicativo usando o Rails 3.2 que faz uso da gem taglib-ruby.

Eu preciso fazer o upload deste aplicativo para Heroku, mas ele não pode construir com sucesso a gem taglib-ruby porque a biblioteca taglib C ++ associada precisa ser instalada na máquina.

   Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
   /usr/local/bin/ruby extconf.rb
   checking for main() in -lstdc++... yes
   checking for main() in -ltag... no
   You must have taglib installed in order to use taglib-ruby.
   Debian/Ubuntu: sudo apt-get install libtag1-dev
   Fedora/RHEL: sudo yum install taglib-devel
   Brew: brew install taglib
   MacPorts: sudo port install taglib
   *** extconf.rb failed ***
   Could not create Makefile due to some reason, probably lack of
   necessary libraries and/or headers.  Check the mkmf.log file for more
   details.  You may need configuration options.
   Provided configuration options:
   --with-opt-dir
   --with-opt-include
   --without-opt-include=${opt-dir}/include
   --with-opt-lib
   --without-opt-lib=${opt-dir}/lib
   --with-make-prog
   --without-make-prog
   --srcdir=.
   --curdir
   --ruby=/usr/local/bin/ruby
   --with-tag-dir
   --without-tag-dir
   --with-tag-include
   --without-tag-include=${tag-dir}/include
   --with-tag-lib
   --without-tag-lib=${tag-dir}/lib
   --with-stdc++lib
   --without-stdc++lib
   --with-taglib
   --without-taglib
   Gem files will remain installed in /tmp/build_1upomfnxnemtx/vendor/bundle/ruby/1.9.1/gems/taglib-ruby-0.5.2 for inspection.
   Results logged to /tmp/build_1upomfnxnemtx/vendor/bundle/ruby/1.9.1/gems/taglib-ruby-0.5.2/ext/taglib_base/gem_make.out
   An error occurred while installing taglib-ruby (0.5.2), and Bundler cannot
   continue.
   Make sure that `gem install taglib-ruby -v '0.5.2'` succeeds before bundling.

Isso me levou a usar o Vulcan para construir um buildpack personalizado para instalar meu aplicativo.

Seguindo o conselho emhttps://github.com/heroku/vulcan/issues/32 Consegui instalar com sucesso o cmake e o taglib usando o Vulcan. Os arquivos resultantes que vulcan baixaram para o meu computador que eu hospedei emhttps://github.com/JllyGrnGiant/vulcan-buildpack

Se eu entrar no diretório do meu aplicativo e executar

heroku create --stack cedar --buildpack [github repo].git

tente empurrar meu aplicativo, o construtor encontra o buildpack com sucesso, mas não sabe como continuar instalando meu aplicativo

Counting objects: 893, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (828/828), done.
Writing objects: 100% (893/893), 38.75 MiB | 1.03 MiB/s, done.
Total 893 (delta 480), reused 57 (delta 2)
-----> Fetching custom git buildpack... done
!     Heroku push rejected, no Cedar-supported app detected**

Eu acredito que isso é porque eu preciso forçar o buildpack padrão do ruby.

Agora chegamos ao meu problema. Eu não sou muito conhecedor quando se trata de implantação, então eu não sei onde incluir meus arquivos taglib nem quais outros arquivos serão alterados, então empurrar meu aplicativo encontra essas bibliotecas taglib para construir o gem taglib-ruby. A seção de binários de empacotamento da ajuda no site da Heroku não faz muito sentido para mim, muito menos no contexto do meu problema, onde eu não tenho binários, mas muitos arquivos de cabeçalho e bibliotecas.

Outras pessoas que fizeram essa pergunta sobre taglib-ruby e Heroku não conseguiram instalar o cmake, o que foi muito bem para mim, e eu não consegui encontrar recursos explicando como incluir bibliotecas em um buildpack personalizado para um Ruby / Rails. Aplicativo.

Qualquer ajuda seria muito apreciada. Obrigado pelo seu tempo.

questionAnswers(1)

yourAnswerToTheQuestion