Skip to content

Push to Heroku fails with release 2.1.0 #463

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
RickEaton opened this issue Apr 20, 2020 · 4 comments
Closed

Push to Heroku fails with release 2.1.0 #463

RickEaton opened this issue Apr 20, 2020 · 4 comments

Comments

@RickEaton
Copy link

When pushing app to Heroku-18, tiny_tds gem build fails.

Environment:
Heroku 18
Ruby 2.5.0, 2.7.0, 2.7.1
Rails 6
Using heroku-buildpack-freetds

Initially, it wasn't clear if this problem was caused by a problem with the buildpack, tiny_tds, or something else. However, the deployment works with the environment above using tiny_tds release 1.3.0 and only breaks when moving to 2.1.0.

Here is the relevant portion of the push to heroku:

Installing tiny_tds 2.1.0 with native extensions
remote: Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
remote:
remote: current directory:
remote: /tmp/build_b9a97fdea10e378475059a1e02f1256f/vendor/bundle/ruby/2.7.0/gems/tiny_tds-2.1.0/ext/tiny_tds
remote: /tmp/build_b9a97fdea10e378475059a1e02f1256f/vendor/ruby-2.7.1/bin/ruby -I
remote: /tmp/build_b9a97fdea10e378475059a1e02f1256f/vendor/ruby-2.7.1/lib/ruby/2.7.0 -r
remote: ./siteconf20200420-282-1gqju9i.rb extconf.rb
remote: checking for sybfront.h... no
remote: checking for sybdb.h... no
remote: checking for tdsdbopen() in -lsybdb... yes
remote: checking for dbanydatecrack() in -lsybdb... yes
remote: Failed! Do you have FreeTDS 0.95.80 or higher installed?
remote: *** extconf.rb failed ***
remote: Could not create Makefile due to some reason, probably lack of necessary
remote: libraries and/or headers. Check the mkmf.log file for more details. You may
remote: need configuration options.
remote:

The contents of mkmf.log are:

"gcc -o conftest -I/app/vendor/ruby-2.7.0/include/ruby-2.7.0/x86_64-linux -I/app/vendor/ruby-2.7.0/include/ruby-2.7.0/ruby/backward -I/app/vendor/ruby-2.7.0/include/ruby-2.7.0 -I. -I/usr/local/include -I/usr/local/include/freetds -O3 -g -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -fPIC conftest.c -L. -L/app/vendor/ruby-2.7.0/lib -Wl,-rpath,/app/vendor/ruby-2.7.0/lib -L/usr/local/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib/freetds -Wl,-rpath,/usr/local/lib/freetds -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,'/../lib' -Wl,-rpath,'/../lib' -lruby -lm -lc"
In file included from /app/vendor/ruby-2.7.0/include/ruby-2.7.0/ruby/ruby.h:29:0,
from /app/vendor/ruby-2.7.0/include/ruby-2.7.0/ruby.h:33,
from conftest.c:1:
/app/vendor/ruby-2.7.0/include/ruby-2.7.0/ruby/defines.h:126:10: fatal error: stdio.h: No such file or directory
#include <stdio.h>
^~~~~~~~~
compilation terminated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char *argv)
4: {
5: return !!argv[argc];
6: }
/ end */

@Stanleyyork
Copy link

@RickEaton did you ever get a resolution on this? Been working/struggling on this for a week (including following the other issue thread here).

@wpolicarpo
Copy link
Member

@Stanleyyork if you're able to create a minimal reproducible app I could play with, I can help you track down the issue.

@andyundso
Copy link
Member

Hi @RickEaton, I know your issue has been open for a while, but we just released tiny_tds v3.2.0, which contains precompiled FreeTDS libraries on Linux, which should resolve your issue as no compilation should be needed anymore.

@RickEaton
Copy link
Author

RickEaton commented Feb 11, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants