Cannot compile on heroku CI

32 views
Skip to first unread message

Scott Jacobsen

unread,
Dec 3, 2018, 6:03:58 PM12/3/18
to sqlite3-ruby
I'm unable to install the sqlite gem on heroku CI. Some of our test suite uses it. I've installed the Apt buildpack, and I'm installing libsqlite3-dev. I'm getting this error:

linking shared-object sqlite3/sqlite3_native.so

/usr/bin/ld: /app/.apt/usr/lib/x86_64-linux-gnu/libsqlite3.a(sqlite3.o):

relocation R_X86_64_PC32 against symbol `sqlite3_stricmp' can not be used when

making a shared object; recompile with -fPIC

/usr/bin/ld: final link failed: Bad value

collect2: error: ld returned 1 exit status

Makefile:257: recipe for target 'sqlite3_native.so' failed

make: *** [sqlite3_native.so] Error 1

make failed, exit code 2

I've tried setting the CFLAGS env var to CFLAGS="-fPIC", but that doesn't help.

I see -fPIC is sometimes set if host includes X86_64 - https://github.com/sparklemotion/sqlite3-ruby/commit/310479cfd7584c06a56054c300e9c4765100113f

I don't now what recipe.host resolves to on a heroku dyno. Here is the uname output:

~ $ uname -a
Linux a9f615da-d271-476d-b5b4-e0e9aa39ec92 4.4.0-1031-aws #34-Ubuntu SMP Tue Sep 25 09:08:48 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

It looks like that should trigger the -fPIC flag, but I guess it doesn't.
Reply all
Reply to author
Forward
0 new messages