From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12284 invoked by alias); 12 Jun 2009 17:28:36 -0000 Received: (qmail 12275 invoked by uid 22791); 12 Jun 2009 17:28:34 -0000 X-SWARE-Spam-Status: No, hits=-0.9 required=5.0 tests=AWL,BAYES_00,HK_OBFDOM,RCVD_IN_DNSWL_LOW,RCVD_NUMERIC_HELO,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from main.gmane.org (HELO ciao.gmane.org) (80.91.229.2) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 12 Jun 2009 17:28:26 +0000 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1MFAY9-0001AJ-Ai for insight@sources.redhat.com; Fri, 12 Jun 2009 17:28:21 +0000 Received: from 75.139.7.185 ([75.139.7.185]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 12 Jun 2009 17:28:21 +0000 Received: from gds by 75.139.7.185 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 12 Jun 2009 17:28:21 +0000 To: insight@sources.redhat.com From: Gene Smith Subject: Re: 20090609-cvs bad on linux (build fail cygwin) Date: Fri, 12 Jun 2009 22:04:00 -0000 Message-ID: References: <4A31F1FF.6060707@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) In-Reply-To: <4A31F1FF.6060707@redhat.com> X-IsSubscribed: yes Mailing-List: contact insight-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: insight-owner@sourceware.org X-SW-Source: 2009-q2/txt/msg00074.txt.bz2 Keith Seitz wrote: > Gene Smith wrote: >> I built the current cvs head code on linux (fedora 8) OK (target arm) >> but when I run it I see nothing useful in the main "Source Window". I >> can set breakpoints, step, continue and stop but I never see the green >> highlight marker for the current position. Assembly and Mixed views >> show an empty screen. > > I have been using 20090605-cvs in my daily work (on F10 -- using system > Tcl, Tk, etc), and I have not noticed your problems. Are you using the > supplied versions of Tcl or the system versions? [i.e., Are src/tcl, > src/tk, and src/itcl in your source tree?] Yes they are. > > Try opening the debug window or enable logging (see the README). That > might provide some "insight" into what may be going wrong. Right now on linux I have gone back to 6.8 which runs OK. (Right now I am experimenting with a i686-pc-ming32 cross build of Insight on linux, which is another subject :) ) > > Remind me: what's your target's triple? arm-what? What target are you > using to run executables, simulator, a board? I am following the Codesourcery convention: arm-none-eabi. They provide a build of arm-none-eabi-gdb/gdbtui but not arm-none-eabi-insight. > > Out of curiosity, if you open a console window in insight (when your > target is stopped at a breakpoint) and type "tk > gdb_target_has_execution" what does it return? (gdb) tk gdb_target_has_execution 1 However, this is with the mingw32 build of 6.8: Per help: This GDB was configured as "--host=i386-pc-mingw32 --target=arm-none-eabi > >> Also, after unsuccessful build in cygwin with -mno-cygwin (mingw) and >> under msys shell (also mingw) I tried a straight cygwin build. It went >> a lot farther but eventually got this error: > > I have never used mingw; I am glad you tried this under cygwin... > > Tonight I updated to CVS HEAD and rebuilt the whole thing. It took > several hours (I only have a 500MHz Pentium III that runs Win2k -- I > *really* got to set up a virtualized host!), but my build succeeded. > > I updated my cygwin installation immediately prior to configuring, > building, and installing: > > $ CFLAGS="-g" ../src/configure > --prefix=/home/keiths/sources/insight/head/built > [snip] > $ make all-gdb install-gdb > [snip] > > [I set the CFLAGS to "-g" so that I can debug the resultant executable, > if I need to. You need not specify it.] > > There must be something magical about my machine that it works every > time... :-P It may just be your --prefix (see below) ?? > >> make[3]: Entering directory >> `/cygdrive/c/insight_make/insight_build/tcl/cygwin' >> gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" >> -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" >> -DPACKAGE=\"libtcl_cygwin\" -DVERSION=\"8.4\" -DHAVE_GETCWD=1 >> -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_TMPNAM=1 >> -DHAVE_WAITPID=1 -DNO_VALUES_H=1 -DHAVE_UNISTD_H=1 -DUSE_TERMIOS=1 >> -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_ST_BLKSIZE=1 >> -DSTDC_HEADERS=1 -DNO_UNION_WAIT=1 -DNEED_MATHERR=1 -DRETSIGTYPE=void >> -DHAVE_SIGNED_CHAR=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_TM_ZONE=1 -I. >> -I../../../insight_sources/tcl/cygwin >> -I../../../insight_sources/tcl/cygwin/../generic >> -DTCL_LIBRARY='"/usr/local//lib"' -g -O2 -mno-win32 -c >> ../../../insight_sources/tcl/cygwin/../unix/tclUnixInit.c >> ../../../insight_sources/tcl/cygwin/../unix/tclUnixInit.c:66: error: >> missing terminating " character >> ../../../insight_sources/tcl/cygwin/../unix/tclUnixInit.c:66: error: >> parse error before ')' token >> ../../../insight_sources/tcl/cygwin/../unix/tclUnixInit.c:66: error: >> missing terminating " character >> ../../../insight_sources/tcl/cygwin/../unix/tclUnixInit.c:66: error: >> parse error before ';' token > > Line 66 of tclUnixInit.c is (and the accompanying comment): > > /* > * Directory in which to look for packages (each package is typically > * installed as a subdirectory of this directory). The symbol is > * defined by Makefile. > */ > > static char pkgPath[sizeof(TCL_PACKAGE_PATH)+200] = TCL_PACKAGE_PATH; > > What does your Makefile say the value of TCL_PACKAGE_PATH is? In my > build (cygwin/Makefile), this is defined: > > TCL_PACKAGE_PATH = NONE/lib /home/keiths/insight/head/built/lib > > I configured with --prefix=/home/keiths/insight/head/built, so this > looks okay. Right below this is the Makefile portion that uses this: > > AM_CFLAGS = -DTCL_LIBRARY='"$(TCL_LIBRARY)"' > -DTCL_PACKAGE_PATH='"$(TCL_PACKAGE_PATH)"' > > Does this look the same in your Makefile? > > For this file on my cygwin box, the following build command was executed: > > gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" > -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" > -DPACKAGE=\"libtcl_cygwin\" -DVERSION=\"8.4\" -DHAVE_GETCWD=1 > -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_TMPNAM=1 > -DHAVE_WAITPID=1 -DNO_VALUES_H=1 -DHAVE_UNISTD_H=1 -DUSE_TERMIOS=1 > -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_ST_BLKSIZE=1 > -DSTDC_HEADERS=1 -DNO_UNION_WAIT=1 -DNEED_MATHERR=1 -DRETSIGTYPE=void > -DHAVE_SIGNED_CHAR=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_TM_ZONE=1 -I. > -I../../../src/tcl/cygwin -I../../../src/tcl/cygwin/../generic > -DTCL_LIBRARY='"/home/keiths/sources/insight/head/built/share/tcl8.4"' > -DTCL_PACKAGE_PATH='"NONE/lib > /home/keiths/sources/insight/head/built/lib"' -g -mno-win32 -c > ../../../src/tcl/cygwin/../unix/tclUnixInit.c > > As you can see, both our builds have the define for TCL_LIBRARY (in your > build it is not set correctly for some reason -- this value is generated > by configure), yet only my build defines TCL_PACKAGE_PATH -- in yours it > is missing for some reason. Did you paste the entire command? I think so. Right now (6.8/-mno-cygwin build) With grep, I only see: ./tcl/win/tclConfig.sh:TCL_PACKAGE_PATH='' and i see nothing when I grep for DTCL_LIBRARY. But I will need to try again a head pure cygwin build to compare apples to apples. See more below: > > Keith > Keith, Going back to windows/cygwin I was able to build 6.8 and run insight 6.8 OK (pure cygwin, no mingw). Then I tried 6.8 on msys shell and it stops pretty quick due to and error about MAKEINFO being missing or wrong version. So I tried again under cygwin with -mno-cygwin and finally got it make/install and run OK. Here is how I built it under cygwin as a mingw32 executable: insight_make insight_sources unpacked insight-6.8 tarball insight_build (directory) makeInsight.sh makeInsight.sh (run from insight_make)looks like this: #!/bin/sh export TARGET=arm-none-eabi export PREFIX=/cygdrive/c/Progra~1/Raisonance/Ride/arm-gcc export PATH=$PATH:$PREFIX/bin export PATH=$PATH:$PREFIX/$TARGET #cd insight_build && rm -rf * #../insight_sources/configure -v --quiet --prefix=$PREFIX \ # --target=$TARGET --enable-interwork --enable-multilib \ # --with-gnu-ld --with-gnu-as #make all cd insight_build ../insight_sources/configure -v --quiet --prefix=$PREFIX \ --target=$TARGET --enable-interwork --enable-multilib \ --with-gnu-ld --with-gnu-as \ --host=i686-pc-mingw32 --build=i686-pc-cygwin \ CC="gcc -mno-cygwin" AR="ar" make make install When building for pure cygwin I leave off the last two lines of the configure command. This is loosely based on some insight build scripts provided by this guy: http://openhardware.net/Embedded_ARM/Toolchain/ I have not tried this again with the cvs head with this exact setup. I don't know how important the --prefix setting is during the make stage. I thought it was only used during "make install" but not sure. That may be why my TCL_LIBRARY was pointing to the wrong place since I may have had the prefix pointing somewhere else when I was building the head? (Build on cygwin on my fairly fast machine takes a couple hours. Build on msys seems like it would be much faster if I could get past the MAKEINFO/textinfo error.) -gene