Subject: Re: Problems building Xemacs/i686-pc-cygwin
From: David Starks-Browning <[email-masked]>
To: "David A. Cobb" <[email-masked]>
Cc: [email-masked]
Date: Sat, 4 Aug 2001 22:51:24 +0100

While you're at it, David, have you taken *any* of my advice?

1) Check setup logs to make sure your gdbm package installation is intact;

2) Run configure without specifying the sound option, so your final
   broken gcc command is *only* broken w.r.t. gdbm;

3) Run your gcc command manually with -v (Charles repeats this and
   takes it further).

Otherwise, I won't waste my time reading your 6500+ line messages
carefully and replying to them thoughtfully.  In that case you can
take me off the recipients list, too.

Cheers,
David

On Saturday 4 Aug 01, Charles Wilson writes:
> No, LD_LIBRARY_PATH (the unixoid runtime-library path) shouldn't have 
> anything to do with this.  This is a link-time failure; only the linktme 
> library path should matter -- that is, -L...  However, since 
> libgdbm.dll.a is in /usr/lib, and /usr/lib is part of the the default 
> linktime lib path, it SHOULD be found.  Let's verify:  try the following:
>    1) run the gcc command below, but add --verbose
>    2) you should then see a very long command, "collect2.exe <lots of 
> args>".  Run THAT command manually, BUT add --verbose.
> 
> Then, see if collect/ld is actually FINDING /usr/lib/libgdbm.dll.a (it 
> ought to).
> 
> --Chuck
> 
> 
> David A. Cobb wrote:
> 
> > Since the problem arises on a DLL, is the $LD_LIBRARY_PATH relevant to 
> > this?  I don't think I have it set.
> > 
> [snip]
> >> > /usr/bin/gcc -mcygwin -g -O3 -Wall -Wno-switch -Winline
> >> > -Wmissing-prototypes -Wshadow -Wsign-compare
> >> > -Wpointer-arith   -mwindows   -o temacs  abbrev.o alloc.o blocktype.o
> >> > buffer.o bytecode.o callint.o callproc.o casefiddle.o casetab.o 
> >> chartab.o
> >> > cmdloop.o cmds.o console.o console-stream.o data.o device.o dired.o 
> >> doc.o
> >> > doprnt.o dynarr.o editfns.o elhash.o emacs.o eval.o events.o debug.o
> >> > tests.o filelock.o ntplay.o unexcw.o scrollbar-msw.o menubar-msw.o
> >> > toolbar-msw.o dialog-msw.o console-msw.o device-msw.o event-msw.o
> >> > frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o
> >> > gui-msw.o postgresql.o dgif_lib.o gif_io.o menubar.o scrollbar.o 
> >> dialog.o
> >> > toolbar.o file-coding.o realpath.o getloadavg.o inline.o linuxplay.o
> >> > miscplay.o console-tty.o device-tty.o event-tty.o frame-tty.o 
> >> objects-tty.o
> >> > redisplay-tty.o cm.o terminfo.o event-unixoid.o database.o 
> >> process-unix.o
> >> > event-stream.o extents.o faces.o fileio.o  filemode.o floatfns.o fns.o
> >> > font-lock.o frame.o general.o glyphs.o glyphs-eimage.o glyphs-widget.o
> >> > gui.o gutter.o  hash.o imgproc.o indent.o insdel.o intl.o
> >> > keymap.o  line-number.o lread.o lstream.o macros.o marker.o md5.o 
> >> minibuf.o
> >> > objects.o opaque.o print.o process.o profile.o rangetab.o redisplay.o
> >> > redisplay-output.o regex.o search.o select.o sheap.o signal.o sound.o
> >> > specifier.o strftime.o symbols.o syntax.o sysdep.o undo.o  widget.o
> >> > window.o win32.o xemacs_res.o lastfile.o gmalloc.o free-hook.o
> >> > vm-limit.o      -ltiff -lpng -ljpeg -lz -lgdbm -lncurses -lpq -lwinmm
> >> > -lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool
> >> > linuxplay.o: In function `play_sound_file':
> >> > /usr/local/src/XEmacs/xemacs-21.5/src/linuxplay.c(.text+0x1108): 
> >> multiple
> >> > definition of `play_sound_file'
> >> > 
> >> ntplay.o(.text+0x418):/usr/local/src/XEmacs/xemacs-21.5/src/ntplay.c: 
> >> first
> >> > defined here
> >> > linuxplay.o: In function `play_sound_data':
> >> > /usr/local/src/XEmacs/xemacs-21.5/src/linuxplay.c(.text+0x116c): 
> >> multiple
> >> > definition of `play_sound_data'
> >> > 
> >> ntplay.o(.text+0x588):/usr/local/src/XEmacs/xemacs-21.5/src/ntplay.c: 
> >> first
> >> > defined here
> >> > 
> >> /usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/../../../../i686-pc-cygwin/bin/ld: 
> >>
> >> > warning: cannot find entry symbol _WinMainCRTStartup; defaulting to 
> >> 00401000
> >> > database.o: In function `Fopen_database':
> >> > /usr/local/src/XEmacs/xemacs-21.5/src/database.c:627: undefined 
> >> reference
> >> > to `_imp__dbm_open'
> >> > database.o: In function `dbm_map':
> >> > /usr/local/src/XEmacs/xemacs-21.5/src/database.c:265: undefined 
> >> reference
> >> > to `_imp__dbm_firstkey'
> >> > /usr/local/src/XEmacs/xemacs-21.5/src/database.c:269: undefined 
> >> reference
> >> > to `_imp__dbm_fetch'
> >> > /usr/local/src/XEmacs/xemacs-21.5/src/database.c:267: undefined 
> >> reference
> >> > to `_imp__dbm_nextkey'
> >> > database.o: In function `dbm_get':
> >> > /usr/local/src/XEmacs/xemacs-21.5/src/database.c:283: undefined 
> >> reference
> >> > to `_imp__dbm_fetch'
> >> > database.o: In function `dbm_put':
> >> > /usr/local/src/XEmacs/xemacs-21.5/src/database.c:301: undefined 
> >> reference
> >> > to `_imp__dbm_store'
> >> > database.o: In function `dbm_remove':
> >> > /usr/local/src/XEmacs/xemacs-21.5/src/database.c:313: undefined 
> >> reference
> >> > to `_imp__dbm_delete'
> >> > database.o: In function `dbm_closeit':
> >> > /usr/local/src/XEmacs/xemacs-21.5/src/database.c:339: undefined 
> >> reference
> >> > to `_imp__dbm_close'
> >> > collect2: ld returned 1 exit status
> >> > make[1]: *** [temacs] Error 1
> >> > make[1]: Leaving directory
> >> > `/usr/local/src/XEmacs/xemacs-21.5/i686-pc-cygwin/src'
> >> > make: *** [src] Error 2
> >>
> >>
> >> With the latest xemacs 21.5 (21.5.2 or cvs), configure should
> >> automatically get the sound right on Cygwin.  (This was broken on
> >> 21.5.1.)  I don't know what 'native' and 'noesd' are (nor do I know
> >> whether sound actually *works* for me -- it just builds), but maybe
> >> your choices confused configure.  This is either user error, or a
> >> matter for the xemacs developers to fix.
> >>

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/