Thread: building plruby on cygwin

building plruby on cygwin

From
David Garamond
Date:
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

Re: building plruby on cygwin

From
ts
Date:
>>>>> "D" == David Garamond <lists@zara.6.isreserved.com> writes:

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

 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