This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How does one make a bash "builtin" (shared loadable module) on cygwin


On 5/18/2011 6:47 PM, Rocky Bernstein wrote:
  I am trying to build a bash "builtin" (a dynamically loadable bash
module) on cygwin. Here's the error message I get via automake/make:
$ make
gcc  -g -O2   -o set0.exe -shared set0-set0.o
set0-set0.o: In function `set0_builtin':
/tmp/bashdb/builtin/set0.c:46: undefined reference to `_builtin_error'
/tmp/bashdb/builtin/set0.c:47: undefined reference to `_builtin_usage'
/tmp/bashdb/builtin/set0.c:51: undefined reference to `_dollar_vars'
/tmp/bashdb/builtin/set0.c:52: undefined reference to `_xmalloc'
/tmp/bashdb/builtin/set0.c:52: undefined reference to `_dollar_vars'
/tmp/bashdb/builtin/set0.c:42: undefined reference to `_builtin_error'
/tmp/bashdb/builtin/set0.c:43: undefined reference to `_builtin_usage'
collect2: ld returned 1 exit status
make: *** [set0.exe] Error 1
The complete Makefile.am and code is listed at
http://bashdb.git.sourceforge.net/git/gitweb.cgi?p=bashdb/bashdb;a=tree;f=builtin;h=428fd8f3598c88eabb10b3ba800fb900da9f858c;hb=HEAD

Perhaps I need to tell cygwin that these symbols are supposed to be
undefined since they are part of bash?

Close. The Windows loader doesn't allow undefined symbols. The mechanism to simulate them is to use a library of "thunks" called an import library. You link against the import library instead.

Since I don't know anything about how to create bash builtins, I don't know
if there's a facility for doing this with Cygwin (or native Windows for that
matter).  I suppose if not, you could always write your own thunks.  But
it's probably worth a google or two before investigating that path.


-- Larry

_____________________________________________________________________

A: Yes.
> Q: Are you sure?
>> A: Because it reverses the logical flow of conversation.
>>> Q: Why is top posting annoying in email?

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]