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: <000f01c05e6a$d140c0c0$8b0c4ea8@kepri.re.kr> From: "Jong B. Lee" To: Subject: DDD on cygwin Date: Tue, 5 Dec 2000 12:24:03 +0900 MIME-Version: 1.0 Content-Type: text/plain; charset="ks_c_5601-1987" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id WAA02415 OK. I finally configured the DDD-3.2.91 to work on cygwin. Followings are what I have done. DDD author's Link order : -lXm -lXp -lXpm -lXaw -lXmu -lXext -lXt -lSM -lICE -lX11 -lncurses -liberty -lm My Link order : -lXm -lXp -lXaw -lXmu -lXpm -lXext -lXt -lX11 -lSM -lICE -lncurses -liberty -lm First, ddd configure script is using *wrong* order to link some X libraries. ===== Here, the *wrong* means that it can not configure well on cygwin environments. According to LessTif FAQ (http://www.lesstif.org/FAQ.html#TOPIC5), the link order should be -lX11 -lSM -lICE. --------------- Yes, it should be -lX11 -lSM -lICE. With reversed order, you will get unresolved symbols error, especially on the cygwin. The DDD author says (line # 6990 at ddd/configure) : # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to # check for ICE first), but we must link in the order -lSM -lICE or # we get undefined symbols. So assume we have SM if we have ICE. # These have to be linked with before -lX11, unlike the other # libraries we check for below, so use a different variable. And, in the ddd mailing list, The `-lSM -lICE -lX11' part is inferred by the `autoconf' `AC_PATH_XTRA' macro, which I cannot control. (And I assume the `autoconf' people know their job.) But, Dear Andreas, I don't think that's true. I changed the ddd-3.2.91/ddd/configure script as follows : - Put $X_PRE_LIBS after -lX11 - ex) line # 7088 7088c7088 < LIBS="$X_PRE_LIBS -lXm -lXt -lX11 $X_EXTRA_LIBS $LIBS" : original --- > LIBS="-lXm -lXt -lX11 $X_PRE_LIBS $X_EXTRA_LIBS $LIBS" : modified Second, configure:8066: checking for XawTextSetInsertionPoint in -lXaw ======= There should be -lXpm at line 8071. Without this, -lXaw fails, resulting $XAW_LIBS = -lXmu. (without -lXaw) configure:8071:LIBS="-lXaw ${XAW_LIBS} -lXpm ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} $LIBS" Third, Makefile.am and Makefile.in ======= Reorder the X libraries. Changed the @X_PRE_LIBS@ @X11_LIBS@ as @X11_LIBS@ @X_PRE_LIBS@ . And, $(LIBXPM) $(LIBXAW) as $(LIBXAW) $(LIBXPM) . With reversed order, you will get unresolved errors, again. Makefile.am: 646c646 < LIBX11 = @X_PRE_LIBS@ @X11_LIBS@ @X_EXTRA_LIBS@ --- > LIBX11 = @X11_LIBS@ @X_PRE_LIBS@ @X_EXTRA_LIBS@ 649,650c649 < ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXP) $(LIBXPM) $(LIBXAW) $(LIBXEXT) \ < $(LIBXT) $(LIBX11) $(LIBGEN) --- > ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXP) $(LIBXAW) $(LIBXPM) $(LIBXEXT) $(LIBXT) $(LIBX11) $(LIBGEN) Makefile.in: 302c302 < LIBX11 = @X_PRE_LIBS@ @X11_LIBS@ @X_EXTRA_LIBS@ --- > LIBX11 = @X11_LIBS@ @X_PRE_LIBS@ @X_EXTRA_LIBS@ 305c305 < ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXP) $(LIBXPM) $(LIBXAW) $(LIBXEXT) $(LIBXT) $(LIBX11) $(LIBGEN) --- > ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXP) $(LIBXAW) $(LIBXPM) $(LIBXEXT) $(LIBXT) $(LIBX11) $(LIBGEN) Finally, sigName.C ======== strsignal is declared const char *, not char * in cygwin's /usr/include/string.h:70 So, I changed the ddd-3.2.91/ddd/sigName.C 46c46 < extern "C" char *strsignal(int signo); --- > extern "C" const char *strsignal(int signo); 51c51 < return strsignal(signo); --- > return (char *)strsignal(signo); ======================================================= Changes in configure script : 7088c7088 < LIBS="$X_PRE_LIBS -lXm -lXt -lX11 $X_EXTRA_LIBS $LIBS" --- > LIBS="-lXm -lXt -lX11 $X_PRE_LIBS $X_EXTRA_LIBS $LIBS" 7163c7163 < LIBS="$X_PRE_LIBS -lXm -lXt -lX11 $X_EXTRA_LIBS $LIBS" --- > LIBS="-lXm -lXt -lX11 $X_PRE_LIBS $X_EXTRA_LIBS $LIBS" 7304c7304 < LIBS="$X_PRE_LIBS -lXaw -lXmu -lXext -lXt -lX11 $X_EXTRA_LIBS $LIBS" --- > LIBS="-lXaw -lXmu -lXext -lXt -lX11 $X_PRE_LIBS $X_EXTRA_LIBS $LIBS" 7382c7382 < LIBS="$X_PRE_LIBS -lXaw -lXmu -lXext -lXt -lX11 $X_EXTRA_LIBS $LIBS" --- > LIBS="-lXaw -lXmu -lXext -lXt -lX11 $X_PRE_LIBS $X_EXTRA_LIBS $LIBS" 7520c7520 < LIBS="$X_PRE_LIBS -lXpm -lXt -lX11 $X_EXTRA_LIBS $LIBS" --- > LIBS="-lXpm -lXt -lX11 $X_PRE_LIBS $X_EXTRA_LIBS $LIBS" 7597c7597 < LIBS="$X_PRE_LIBS -lXpm -lXt -lX11 $X_EXTRA_LIBS $LIBS" --- > LIBS="-lXpm -lXt -lX11 $X_PRE_LIBS $X_EXTRA_LIBS $LIBS" 7842c7842 < LIBS="-lXintl ${X_PRE_LIBS} ${X11_LIBS} $LIBS" --- > LIBS="-lXintl ${X11_LIBS} ${X_PRE_LIBS} $LIBS" 7885c7885 < LIBS="-lipc ${X_PRE_LIBS} ${X11_LIBS} $LIBS" --- > LIBS="-lipc ${X11_LIBS} ${X_PRE_LIBS} $LIBS" 7929c7929 < LIBS="-lXt ${X_PRE_LIBS} ${X11_LIBS} $LIBS" --- > LIBS="-lXt ${X11_LIBS} ${X_PRE_LIBS} $LIBS" 7981c7981 < LIBS="-lXext ${X_PRE_LIBS} ${X11_LIBS} $LIBS" --- > LIBS="-lXext ${X11_LIBS} ${X_PRE_LIBS} $LIBS" 8028c8028 < LIBS="-lXmu ${X_PRE_LIBS} ${XAW_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} $LIBS" --- > LIBS="-lXmu ${XAW_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} $LIBS" 8071c8071 < LIBS="-lXaw ${X_PRE_LIBS} ${XAW_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} $LIBS" --- > LIBS="-lXaw ${XAW_LIBS} -lXpm ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} $LIBS" 8215c8215 < LIBS="-lXpm ${X_PRE_LIBS} ${X11_LIBS} $LIBS" --- > LIBS="-lXpm ${X11_LIBS} ${X_PRE_LIBS} $LIBS" 8310c8310 < LIBS="-lXp ${X_PRE_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${LIBGEN} $LIBS" --- > LIBS="-lXp ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} ${LIBGEN} $LIBS" 8357c8357 < LIBS="-lXm ${X_PRE_LIBS} ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${LIBGEN} $LIBS" --- > LIBS="-lXm ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} ${LIBGEN} $LIBS" 8404c8404 < LIBS="-lXm ${X_PRE_LIBS} ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${LIBGEN} $LIBS" --- > LIBS="-lXm ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} ${LIBGEN} $LIBS" 8450c8450 < LIBS="-lXm ${X_PRE_LIBS} ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${LIBGEN} $LIBS" --- > LIBS="-lXm ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} ${LIBGEN} $LIBS" 8496c8496 < LIBS="-lXm ${X_PRE_LIBS} ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${LIBGEN} $LIBS" --- > LIBS="-lXm ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} ${LIBGEN} $LIBS" 8582c8582 < LIBS="$LIBS ${XM_LIBS} ${X_PRE_LIBS} ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${LIBGEN}" --- > LIBS="$LIBS ${XM_LIBS} ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} ${LIBGEN}" ===================================== I don't know why the author duplicates ${XEXT_LIBS}, as in ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS}. Thanks for reading. Jong B. Lee.