ddd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem linking DDD under cygwin


From: Steve Strobel
Subject: Re: Problem linking DDD under cygwin
Date: Fri, 10 Oct 2003 15:43:52 -0600

Summary:  I was able to get DDD to link under Cygwin/W2K by removing 
the reference to "lipc" from "config.ac".  It now runs, but doesn't 
seem to process command line arguments correctly.  The details...

Thanks Andrew for the suggestion about removing "-lipc" from my makefile 
then running "make check".  I ran "make check" first to get a baseline:

        ...
      /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../../../i686-pc-cygwin/bin/ld: 
cannot find -lipc
      collect2: ld returned 1 exit status
      make[1]: *** [vsl.exe] Error 1
      make[1]: Leaving directory `/ddd-3.3.7/ddd'
      make: *** [check-recursive] Error 1

It failed missing "lipc" as expected.  I then tried to remove "-lipc" 
from the linker call in my makefile, and discovered that it isn't 
referenced anywhere in my makefile.  In fact, the only files in my whole 
ddd-3.3.7 tree that have "lipc" in them are 

        configure.ac
        configure
        config.log

I didn't try to understand the makefile well enough to find out how 
the linker gets the idea that it should be including the ipc library.  
Instead, I commented the lines that refer to it in config.ac and added 
a comment as follows:

        dnl Check for -lipc library.  SCO unix is said to want that.
        dnl    These don't exist on Cygwin?  Removing them to test...
        dnl
        dnl AC_CHECK_LIB(ipc, shmap, X11_LIBS="${X11_LIBS} -lipc",,
        dnl   ${X_PRE_LIBS} ${X11_LIBS} ${X_EXTRA_LIBS})

Then I ran "./configure" and "make".  Make succeeded in building DDD 
(though it died later, I think while working on the documentation):

      $ ls -l ddd
      -rw-r--r--    1 Steve    None       356481 Oct 10 14:19 ddd

I then ran it from a term window in X:
    
      export DDD_HOME=/ddd-3.3.7
      /ddd-3.3.7/ddd/ddd --debugger m68k-bdm-elf-gdb --command CSB360_txt.gdb

It responded in the X term with:

        $: not found

and some warnings similar to what I get with the working copy of DDD that 
someone sent me ("Warning: XmStringGetNextComponent: unknown type 
272034024", etc).  DDD then came up and displayed its standard banner in 
the GDB console window, followed by:

        Excess command line arguments ignored. (DO ...)
        Resource: No such file or directory.
        /umon/targets/csb360/monitor/File.: No such file or directory.
        (gdb)

After messing with it a while, I figured out that it prints the "Excess 
command line arguments ignored." message even if I don't supply any command 
line arguments.  It doesn't use the m68k-bdm-elf-gdb version of GDB specified 
on the command line, instead using the native GDB (which seems to work, though
I didn't test it much).  The exact same command line (minus the path to ddd) 
works fine with the other copy of DDD that someone sent me, which is in 
/usr/local/bin.

To summarize:  I was able to get DDD to link by removing the reference 
to "lipc" from "config.ac".  It now runs, but doesn't seem to process 
command line arguments correctly.  It is interesting (at least to me) 
that the executable I built is only 348KB while the one that some else 
sent me (that works) is 18MB (he said it might contain debugging info).  
Thanks for any advice about getting the command line processing to work.

Steve


At 08:59 PM 10/9/2003 +0200, Andrew Gaylard <address@hidden> wrote:
>Steve,
>
>I'm not sure whether cygwin requires it or not.
>Can you try editing your Makefile, removing the "-lipc" and
>trying a "make check"?
>
>Thanks,
>Andrew
>
>Steve Strobel wrote:
>>I am also unable to get ddd-3.3.7 to link under Cygwin (details below).  In 
>>the meantime, someone kindly sent me a copy of ddd.exe, which works fine.  I 
>>would be glad to pass it on if you would like a copy (it is over 5MB zipped, 
>>so you will need a big email inbox) - email me directly if you want it.  I 
>>tried to send the following message to address@hidden earlier, but I never 
>>saw it show up on the list...
>>Subject: Trouble linking DDD 3.3.7 under Cygwin - can't find ipc library
>>I am having trouble getting DDD 3.3.7 to link correctly under Cygwin under 
>>Windows 2000.  I have X and GDB working, and lesstif installed, so  I think I 
>>have the other pieces DDD will need in place.  I ran "./configure" then 
>>"make", which terminated while linking, unable to find the "ipc" library, 
>>like this:
>>
>>        g++ -DNDEBUG -O2 -g -W -Wall -trigraphs -o vsl.exe vsl.o
>>        <...many other object files...>
>>        VSLErr.o VSLLib.o VSLNode.o VSLRead.o
>>        -L/usr/X11R6/lib/usr/X11R6/lib/
>>        libXm.a -lipc -lXaw -lXmu -lXt -lXpm -lXp -lXext -lX11 -lSM
>>        -lICE -ltermcap -liberty
>>        make[2]: Leaving directory `/ddd-3.3.7/ddd'
>>        make[1]: Leaving directory `/ddd-3.3.7/ddd'
>>        make[1]: Entering directory `/ddd-3.3.7'
>>        make[1]: Nothing to be done for `all-am'.
>>        make[1]: Leaving directory `/ddd-3.3.7'
>>
>>        address@hidden /ddd-3.3.7
>>        $
>>        usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../../../i686-
>>        pc-cygwin/bin/ld: cannot find -lipc
>>        collect2: ld returned 1 exit status
>>        /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../../../i686-
>>        pc-cygwin/bin/ld: cannot find -lipc
>>        collect2: ld returned 1 exit status
>>
>>I searched to see if I had an "ipc" library, and found the following:
>>
>>        In cygwin/etc/setup
>>                cygipc.lst.gz
>>        In cygwin/bin
>>                cygcygipc-2.dll
>>                ipc-daemon2.exe
>>                ipctest.exe
>>                libcygipc.a
>>                libcygipc.dll.a
>>
>>I don't know whether DDD should be looking for -lcygipc rather than -lipc 
>>when targeting cygwin, or whether I should have an IPC library that I don't 
>>have.
>>I checked config.log.  It seems that configure couldn't find ipc either, 
>>although that didn't cause it to abort (I didn't notice the message when it 
>>happened):
>>        configure:14550: result: no
>>        configure:14554: checking for shmat in -lipc
>>        configure:14587: g++ -o conftest.exe -g -O2 -fpermissive
>>                conftest.cc -lipc   >&5
>>        /usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../../../i686-
>>        pc-cygwin/bin/ld: cannot find -lipc
>>                collect2: ld returned 1 exit status
>>                configure:14590: $? = 1
>>                configure: failed program was:
>>                #line 14561 "configure"
>>                #include "confdefs.h"
>>  The following lines in configure.ac make configure look for it:
>>        dnl Check for -lipc library.  SCO unix is said to want that.
>>        dnl
>>        AC_CHECK_LIB(ipc, shmap, X11_LIBS="${X11_LIBS} -lipc",,
>>                ${X_PRE_LIBS} ${X11_LIBS} ${X_EXTRA_LIBS})
>>I don't know if the IPC library is even needed on cygwin, or just SCO (based 
>>on the comment).
>>Am I missing an IPC library in Cygwin that I should have, or should DDD be 
>>linking in the cygipc library that I already have?  Thanks for your help.
>>Steve Strobel

---
Steve Strobel                           WWW: http://www.link-comm.com
Link Communications, Inc.               Phone: (406) 245-5002 ext 102
MailTo:address@hidden              Fax: (406) 245-4889





reply via email to

[Prev in Thread] Current Thread [Next in Thread]