Skip to content

Instantly share code, notes, and snippets.

@jaylevitt
Created October 4, 2011 02:39
Show Gist options
  • Save jaylevitt/1260784 to your computer and use it in GitHub Desktop.
Save jaylevitt/1260784 to your computer and use it in GitHub Desktop.
can't create plruby language
% psql rails_dev
psql (9.0.4)
Type "help" for help.
rails_dev=#
rails_dev=# create function plruby_call_handler() returns language_handler
rails_dev-# as '/Users/jay/.rvm/gems/ruby-1.9.2-p290/bundler/gems/postgresql-plruby-5902376a8af1/src/plruby.bundle'
rails_dev-# language 'C';
ERROR: could not load library "/Users/jay/.rvm/gems/ruby-1.9.2-p290/bundler/gems/postgresql-plruby-5902376a8af1/src/plruby.bundle": dlopen(/Users/jay/.rvm/gems/ruby-1.9.2-p290/bundler/gems/postgresql-plruby-5902376a8af1/src/plruby.bundle, 10): Symbol not found: _Init_stack
Referenced from: /Users/jay/.rvm/gems/ruby-1.9.2-p290/bundler/gems/postgresql-plruby-5902376a8af1/src/plruby.bundle
Expected in: flat namespace
in /Users/jay/.rvm/gems/ruby-1.9.2-p290/bundler/gems/postgresql-plruby-5902376a8af1/src/plruby.bundle
rails_dev=#
rails_dev=# create trusted procedural language 'plruby'
rails_dev-# handler plruby_call_handler;
ERROR: function plruby_call_handler() does not exist
rails_dev=#
have_header: checking for catalog/pg_proc.h... -------------------- yes
"/usr/bin/gcc-4.2 -o conftest -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -I/usr/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -I/usr/local/Cellar/postgresql/9.0.4/include -I/usr/local/Cellar/postgresql/9.0.4/include/server --shared conftest.c -L. -L/Users/jay/.rvm/rubies/ruby-1.9.2-p290/lib -L. -L/usr/local/lib -lruby.1.9.1-static -lpthread -ldl -lobjc "
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main() {return 0;}
/* end */
"/usr/bin/gcc-4.2 -E -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -I/usr/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -I/usr/local/Cellar/postgresql/9.0.4/include -I/usr/local/Cellar/postgresql/9.0.4/include/server --shared conftest.c -o conftest.i"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <catalog/pg_proc.h>
/* end */
--------------------
have_func: checking for rb_hash_delete() in ruby.h... -------------------- no
"/usr/bin/gcc-4.2 -o conftest -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -I/usr/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -I/usr/local/Cellar/postgresql/9.0.4/include -I/usr/local/Cellar/postgresql/9.0.4/include/server --shared conftest.c -L. -L/Users/jay/.rvm/rubies/ruby-1.9.2-p290/lib -L. -L/usr/local/lib -lruby.1.9.1-static -lpthread -ldl -lobjc "
Undefined symbols:
"_environ", referenced from:
_ruby_sysinit in libruby.1.9.1-static.a(ruby.o)
_ruby_sysinit in libruby.1.9.1-static.a(ruby.o)
_ruby_sysinit in libruby.1.9.1-static.a(ruby.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <ruby.h>
4:
5: /*top*/
6: int main() {return 0;}
7: int t() { void ((*volatile p)()); p = (void ((*)()))rb_hash_delete; return 0; }
/* end */
"/usr/bin/gcc-4.2 -o conftest -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -I/usr/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -I/usr/local/Cellar/postgresql/9.0.4/include -I/usr/local/Cellar/postgresql/9.0.4/include/server --shared conftest.c -L. -L/Users/jay/.rvm/rubies/ruby-1.9.2-p290/lib -L. -L/usr/local/lib -lruby.1.9.1-static -lpthread -ldl -lobjc "
conftest.c: In function ‘t’:
conftest.c:7: error: too few arguments to function ‘rb_hash_delete’
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <ruby.h>
4:
5: /*top*/
6: int main() {return 0;}
7: int t() { rb_hash_delete(); return 0; }
/* end */
--------------------
have_func: checking for rb_block_call()... -------------------- no
"/usr/bin/gcc-4.2 -o conftest -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -I/usr/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -I/usr/local/Cellar/postgresql/9.0.4/include -I/usr/local/Cellar/postgresql/9.0.4/include/server --shared -DHAVE_RB_INITIALIZE_COPY conftest.c -L. -L/Users/jay/.rvm/rubies/ruby-1.9.2-p290/lib -L. -L/usr/local/lib -lruby.1.9.1-static -lpthread -ldl -lobjc "
Undefined symbols:
"_environ", referenced from:
_ruby_sysinit in libruby.1.9.1-static.a(ruby.o)
_ruby_sysinit in libruby.1.9.1-static.a(ruby.o)
_ruby_sysinit in libruby.1.9.1-static.a(ruby.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: /*top*/
4: int main() {return 0;}
5: int t() { void ((*volatile p)()); p = (void ((*)()))rb_block_call; return 0; }
/* end */
"/usr/bin/gcc-4.2 -o conftest -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -I/usr/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -I/usr/local/Cellar/postgresql/9.0.4/include -I/usr/local/Cellar/postgresql/9.0.4/include/server --shared -DHAVE_RB_INITIALIZE_COPY conftest.c -L. -L/Users/jay/.rvm/rubies/ruby-1.9.2-p290/lib -L. -L/usr/local/lib -lruby.1.9.1-static -lpthread -ldl -lobjc "
conftest.c: In function ‘t’:
conftest.c:5: error: too few arguments to function ‘rb_block_call’
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: /*top*/
4: int main() {return 0;}
5: int t() { rb_block_call(); return 0; }
/* end */
--------------------
have_header: checking for ruby/st.h... -------------------- yes
"/usr/bin/gcc-4.2 -E -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -I/usr/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -I/usr/local/Cellar/postgresql/9.0.4/include -I/usr/local/Cellar/postgresql/9.0.4/include/server --shared -DHAVE_RB_INITIALIZE_COPY conftest.c -o conftest.i"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <ruby/st.h>
/* end */
--------------------
have_header: checking for st.h... -------------------- yes
"/usr/bin/gcc-4.2 -E -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -I/usr/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -I/usr/local/Cellar/postgresql/9.0.4/include -I/usr/local/Cellar/postgresql/9.0.4/include/server --shared -DHAVE_RB_INITIALIZE_COPY conftest.c -o conftest.i"
In file included from conftest.c:3:
/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward/st.h:2:2: warning: #warning use "ruby/st.h" instead of bare "st.h"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <st.h>
/* end */
--------------------
have_header: checking for server/utils/array.h... -------------------- yes
"/usr/bin/gcc-4.2 -E -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -I/usr/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -I/usr/local/Cellar/postgresql/9.0.4/include -I/usr/local/Cellar/postgresql/9.0.4/include/server --shared -DHAVE_RB_INITIALIZE_COPY conftest.c -o conftest.i"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <server/utils/array.h>
/* end */
--------------------
"/usr/bin/gcc-4.2 -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -I/usr/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -I/usr/local/Cellar/postgresql/9.0.4/include -I/usr/local/Cellar/postgresql/9.0.4/include/server --shared -DHAVE_RB_INITIALIZE_COPY -c conftest.c"
In file included from conftest.c:3:
/usr/local/Cellar/postgresql/9.0.4/include/server/c.h:96:1: warning: "_" redefined
In file included from /Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/ruby.h:74,
from /Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby.h:32,
from conftest.c:1:
/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/defines.h:34:1: warning: this is the location of the previous definition
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include "c.h"
4: #include "utils/elog.h"
5: /*top*/
6: #ifndef PG_TRY
7: # error
8: >>>>>> PG_TRY undefined <<<<<<
9: #endif
/* end */
have_library: checking for PQconnectdb() in -lpq... -------------------- yes
"/usr/bin/gcc-4.2 -o conftest -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -I/usr/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -I/usr/local/Cellar/postgresql/9.0.4/include -I/usr/local/Cellar/postgresql/9.0.4/include/server --shared -DHAVE_RB_INITIALIZE_COPY -DPG_PL_TRYCATCH conftest.c -L. -L/Users/jay/.rvm/rubies/ruby-1.9.2-p290/lib -L. -L/usr/local/lib -lruby.1.9.1-static -lpq -lpthread -ldl -lobjc "
conftest.c: In function ‘t’:
conftest.c:5: error: ‘PQconnectdb’ undeclared (first use in this function)
conftest.c:5: error: (Each undeclared identifier is reported only once
conftest.c:5: error: for each function it appears in.)
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: /*top*/
4: int main() {return 0;}
5: int t() { void ((*volatile p)()); p = (void ((*)()))PQconnectdb; return 0; }
/* end */
"/usr/bin/gcc-4.2 -o conftest -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-darwin10.8.0 -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jay/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -I/usr/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -I/usr/local/Cellar/postgresql/9.0.4/include -I/usr/local/Cellar/postgresql/9.0.4/include/server --shared -DHAVE_RB_INITIALIZE_COPY -DPG_PL_TRYCATCH conftest.c -L. -L/Users/jay/.rvm/rubies/ruby-1.9.2-p290/lib -L. -L/usr/local/lib -lruby.1.9.1-static -lpq -lpthread -ldl -lobjc "
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: /*top*/
4: int main() {return 0;}
5: int t() { PQconnectdb(); return 0; }
/* end */
--------------------
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment