Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-Id: <5.1.0.14.0.20010801171809.05738080@mail> X-Sender: superbiskit AT mail X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Wed, 01 Aug 2001 17:33:46 -0400 To: Cygwin General MailList From: "David A. Cobb" Subject: Problems building Xemacs/i686-pc-cygwin Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Lieber Cygwin: I'm dropping the middle of a conversation from xemacs-beta here because the problem seems to originate in one of the cygwin applications. I've been trying to build the current beta of xemacs-21.5 and having no joy at all. Configure works fine, the "make" fails. ld is looking for several symbols "_imp__dbm_????????;" these are defined in "/bin/libgdbm.dll.a" and referenced from "/database.o" -- the latter being customized from configure. It would appear that the configuration tools don't know to look for the ".dll.a" file; indeed, I didn't notice it among the many appendages to the link library list. Anyway, here is the previous conversation and the log of my build failure. > At 7/29/01 03:59 AM (Sunday), David Starks-Browning wrote: >> On Saturday 28 Jul 01, David A. Cobb writes: >>> I did "make realclean" then manually deleted /everything/ under the build >>> directory (/i686-pc-cygwin) except the build script. >> >> "build script"? Isn't it just configure, make, make install? >> > > Pretty much. I put it in a script so I could go eat while waiting for it to complete. It > also makes it somewhat simpler to capture the log. > QUOTE #! /bin/bash -x pwd type sh ls -l /usr/bin/sh # cygcheck sh cygcheck make # ../configure i686-pc-cygwin --prefix=/usr/local/ \ --exec-prefix=/usr/local/i686-pc-cygwin/ \ --libdir=/usr/local/lib/ \ --without-x \ --with-site-lisp \ --with-database=gdbm \ --with-sound=native,noesd \ --use-union-type && \ make && \ make install END-QUOTE >>> That did get >>> me beyond the previous error. I now find several undefined symbols >>> "_imp__dbm_*" which looks like a missing header in the database source(?). >> >> I had no such errors. I suspect your Cygwin installation is messed up. >> > OK. I did the following -- > re-install gdbm (with source) > re-install Postgresql (with source) > > Got rid of all remnant of previous build. > Take a day and a half trying to free enough disk space. > Ran it again. > > SAME RESULT, SAME PLACE > > I've attached the log. > Two things catch my eye: the error message attributes the error to the ld. > And configure claims that ld is not GNU ld. Of course, it's Cygwin; I don't know > whether that's the same. > > I did determine that the "missing" symbols are in "/bin/libgdbm.dll.a" and > referenced from "/?/database.o". > that name is, I think, unique to Cygwin; certainly ".dll" is a windows-ism. > > I'm going to copy this mail to cygwin-list in the hope that Chuck, or someone, can > clue me in whether something needs to be done to pick up that lib. > >>> I also get the somewhat peculiar symptom that the configure script actually >>> tries to launch some x-windows function because I get a Windoze dialog >>> about not finding an "LIBX11.DLL" >> >> I noticed this too, on Win98 but not on WinNT4. Doesn't seem to cause >> any problem. > > Yup. I does show, however, that configure doesn't pay much attention to my > options: having said "--without-x" IMHO configure should assume there is no X. > Period. > >> >> This is at the top of your build log: >> >>> /usr/local/src/XEmacs/xemacs-21.5/i686-pc-cygwin >>> Error: could not find sh >>> >>> Use -h to see help about each section >> > /bin/sh is a symlink currently set to "/bin/bash;" evidently Cygcheck doesn't > follow the link. >> >>> Found: C:\#Cygwin#\bin\make.exe >>> C:\#Cygwin#\bin\make.exe >>> C:\#Cygwin#\bin\cygwin1.dll >>> C:\WINDOWS\SYSTEM\KERNEL32.dll >>> >>> Use -h to see help about each section >>> loading site script /etc/config.site >> >> a. I think we'd have to see your "build script" to make sense of >> this. I've never seen output like this directly from configure. >> In fact it looks like cygcheck output. > > It is! > >> >> b. If sh is missing, you're going to have problems! >> > It isn't! > > >> c. You've got a /etc/config.site? That's not standard. What's in it? >> > Then I dunno where it came from! I cerainly never wrote it. > Anyway, here it is QUOTE # $Header: /usr/people/sam/tiff/RCS/config.site,v 1.13 1996/06/05 21:24:33 sam Exp $ # # TIFF Software # # Copyright (c) 1990-1996 Sam Leffler # Copyright (c) 1991-1996 Silicon Graphics, Inc. # # Permission to use, copy, modify, distribute, and sell this software and # its documentation for any purpose is hereby granted without fee, provided # that (i) the above copyright notices and this permission notice appear in # all copies of the software and related documentation, and (ii) the names of # Sam Leffler and Silicon Graphics may not be used in any advertising or # publicity relating to the software without the specific, prior written # permission of Sam Leffler and Silicon Graphics. # # THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, # EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY # WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. # # IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR # ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, # OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, # WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF # LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE # OF THIS SOFTWARE. # # # This file holds site-specific configuration parameters. # # Nothing is defined in here by default, the definitions # commented out below serve as documentation for what you # can set in this file or a config.local file. # # Note that you do not need to set anything here unless you # want to override the auto-configuration behaviour and/or # interactive prompting done by the configure script. # # # Package controls. # #DSO="auto" # auto|IRIX|IRIX52 enable DSO support for system #JPEG="no" # yes|no configure JPEG support (see below) #ZIP="no" # yes|no configure Deflate support (see below) #LIBGL="auto" # yes|no|auto configure IRIS GL-based tools #LIBIMAGE="auto" # yes|no|auto configure SGI RGB image tools #HTML="no" # yes|no install HTML documentation # # Directory parameters. # #DIR_BIN="/usr/local/bin" # directory for tools #DIR_LIB="/usr/local/lib" # directory for libraries #DIR_INC="/usr/local/include" # directory for include files #DIR_MAN="/usr/local/man" # directory for manual pages #DIR_HTML="/var/httpd/htdocs/tiff" # directory for HTML documentation # # Configuring supporting libraries. # # The TIFF software makes use of two ancillary packages: the IJG # distribution to support the JPEG codec and the zlib distribution # to support the Deflate codec. To setup use of these packages you # need to specify where each package's include files are located and # where the pre-built library (static archive or DSO) is located. # These may be different or the same (as when the package is compiled # and referenced directly from the place where the software was # loaded and compiled). # # DIRS_LIBINC is a space-separated list of directories to use for # locating include files in these packages. Note that it should not # include -I options as might be passed to the C preprocessor; these # are automatically added by the configure script when the Makefiles # are generated. # # DIR_LIB is the pathname of the directory where 's # pre-built library may be found; this is used when building a TIFF # DSO (on systems where support is present) and when building the # programs in the tools directory. By default the configure script # will load the associated library using # # -L${DIR_LIB} -l # # e.g. -L${DIR_JPEGLIB} -ljpeg. If this is wrong for your system # (e.g. your compiler/loader does not support the -L option), then # the LIB parameter can be set explicitly to specify the # library to use. # # # JPEG-specific parameters; used when JPEG support is enabled (see above). # # JPEG support requires release 5 or later of the IJG code, # which you can find on the Internet at ftp.uu.net:/graphics/jpeg/. # #DIRS_LIBINC="$DIRS_LIBINC ../src/jpeg-5a" # directory for jpeg include files #DIR_JPEGLIB=../src/jpeg-5a # directory for libjpeg # # Deflate-specific parameters; used when Deflate support is enabled (see above). # # NB: Deflate support requires version 0.92 or later of the zlib # library written by Jean-loup Gailly and Mark Adler. Starting # with about 0.95 the library is called libz.a (previously it was # libgz.a). The library was last found at # # ftp://ftp.uu.net/graphics/png/code/zlib-0.93.tar.gz # # Look for it also at ftp://ftp.uu.net/pub/archiving/zip/zlib. # #DIRS_LIBINC="$DIRS_LIBINC ../zlib" # directory for zlib include files #DIR_GZLIB="../zlib" # directory for libz # # Miscellaneous parameters. # #FILLORDER="MS2LSB" # bit order of cpu (MSB2LSB/LSB2MSB) #MANSCHEME="sysv-source-cat-strip" # manual page installation scheme # # Parameters used when building the software. # # Note that configure has several ENVOPTS built into it that are # set according to the target. This is done to help naive folks. # # Beware of changing the INSTALL definition; you *must* have an # install script that emulates the Silicon Graphics install program! # #AR="/bin/ar" # pathname of suitable ar program #AROPTS="rc" # options to ar for creating archive #CC="gcc" # name/pathname of C compiler #ENVOPTS="-Aa" # options for getting ANSI C #GCOPTS="-g" # options to pass C compiler #LIBPORT='${PORT}/libport.a' # library with emulation code #MACHDEPLIBS="" # extra libraries for linking #PORTFUNCS="" # non-standard functions to emulate #RANLIB=":" # pathname of suitable ranlib program #DSOSUF="so" # DSO filename suffix #LIBCOPTS="-K PIC" # compiler options for building library # # Makefile construction parameters. # # These should not normally be set; configure will # deduce the appropriate syntax to use for includes. # #SETMAKE='MAKE = ${MAKE}' # define if make does not setup $MAKE # # General system stuff used by the distribution. # #CHMOD="/etc/chmod" # pathname of suitable chmod program #INSTALL='${SHELL} ${PORT}/install.sh' # SGI install program/emulator #LN="/bin/ln" # pathname of suitable ln program #LN_S="-s" # option to ${LN} to create symlink #MV_F="-f" # option to ${MV} to force operation #SED="/bin/sed" # pathname of suitable sed program #SCRIPT_SH="/bin/sh" # pathname of suitable shell #STRIP="/bin/strip" # strip program used by install.sh END-QUOTE > So, OK, now I have a good suspicion what program wrote it. If "#" has the usual > meaning, this file will do absolutely nothing -- every line is a comment. > >> >> Hope this helps. >> > Me too. So far I'm stumped. David David A. Cobb, Software Engineer, Public Access Advocate, All around nice guy. Get my PGP key at : Fingerprint=0x{6E3E_DB8C_2E8C_4248_62B2_FE29_08EE_CF0A_3629_E954} : "By God's Grace I am a Christian man, by my actions a great sinner." --The Way of a Pilgrim, R. M. French [tr.] Potentially Viral Software is any software for which you are not allowed to examine the source. Do not buy or use Potentially Viral Software! <---.----!----.----!----.----!----.----!----.----!----.----!----.----> -- 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/