Building plruby on cygwin


(David Garamond) #1

Has anyone succeeded building plruby on cygwin? When I tried “ruby
extconf.rb” it failed with message ‘libpq is missing’. My understanding
on mkmf.rb is very minimal so I modified the Makefile manually by adding
"-lpq". Then “make” aborts because it tries to look for “user32”, so I
added '-L"/cygdrive/c/winnt/system32" and -luser32 to the Makefile.
Finally “make” failed with:

plruby.o(.text+0x739): In function pl_query_type': /usr/src/plruby-0.3.8/plruby.c:208: undefined reference to_SearchSysCache’
plruby.o(.text+0x760):/usr/src/plruby-0.3.8/plruby.c:218: undefined
reference to
`_ReleaseSysCache’

where are _SearchSysCache and _ReleaseSysCache defined? Other pl like
plperl.so and plpgsql.so also contain references to these, but they are
not found in the Pg libraries.

Note: “make static” succeeded.

(plruby 0.3.8, pg 7.4.1, ruby 1.8.1, cygwin 1.5.7-1, win2k)

···


dave

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

           http://archives.postgresql.org

(ts) #2

  plruby.o(.text+0x739): In function `pl_query_type':
  /usr/src/plruby-0.3.8/plruby.c:208: undefined reference to
`_SearchSysCache'
  plruby.o(.text+0x760):/usr/src/plruby-0.3.8/plruby.c:218: undefined
reference to
   `_ReleaseSysCache'
  ...

I know nothing in cygwin but try to modify the Makefile and add
$(BE_DLLLIBS). This is because DLL need to have all symbols resolved at
compile time and not laod time.

Guy Decoux