From: R. B. <ro...@pa...> - 2002-12-31 04:20:52
|
A guess is the problem is that you have a plus (or some other character that isn't usually part of a BASH identifier) in the filename. +2D0M2D0D6Slibtool ^here Some background. For the debugger, it is very useful to have a hash table data structure. Hash tables are not part of bash (yet). The way these are implemented is to convert what in Perl would be $file{key} into a single identifier "file_key" making use of BASH's hashed symbol table. But in order to do this "key" can't have any non-identifer symbols, like "+", "/", "." and so on. So these must either be stripped or replaced. We in fact, replace them to make it easier to recontruct the original name. Right now I don't list all the weird symbols that might appear in a filename. In particular, I don't have "+" listed. Doing a reverse translation of +2D0M2D0D6Slibtool the original filename with a path probably contained something like "+2.0-2-0.6/libtool", possibly with other stuff in front. If this is the case, then a simple fix is to make sure we tranlate the "+" in _bashdb_file2var. That is, change this line 22 of bashdb-file.inc: local varname=`builtin echo $filename | tr '* .?/"[]-' 'ABDQSqLRM'` into this: local varname=`builtin echo $filename | tr '+* .?/"[]-' 'PABDQSqLRM'` Actually, I've already made the change in CVS. If that works, let me know. If not, it would be helpful to understand not just what the error message you encountered given below, but some short example giving *input* that you typed to get that output. Better, is a short test case that causes the debugger to fail. Thanks. James Michael DuPont writes: > > --- "R. Bernstein" <ro...@pa...> wrote: > > Hi there, Ho there, > > > > Okay. Thanks for the information and looking into bashdb. If you have > > questions, comments, or problems with bashdb let us know. > > > I am running this on libtool > > /usr/local/bin/../lib/bashdb/bashdb-list.inc: line 200: local: > +2D0M2D0D6Slibtool: value too great for base (error token is > "2D0M2D0D6Slibtool") > /usr/local/bin/../lib/bashdb/bashdb-list.inc: line 200: local: > +2D0M2D0D6Slibtool: value too great for base (error token is > "2D0M2D0D6Slibtool") > > # the line is > local -i max_line=`_bashdb_get_assoc_scalar_entry "_maxline_" > $filevar` > # echo "debug: -- max_line: $max_line --" > > bash -x ../libtool --mode=link i586-mingw32msvc-gcc > -DGLIB_STATIC_COMPILATION -mms-bitfields -Wall -D_REENTRANT > -I/usr/local/win32/include -I/usr/local/win32/include/glib-2.0/ > -mms-bitfields -L/usr/local/win32/lib -o test-gdk-pixbuf.exe > test-gdk-pixbuf.o libgdk_pixbuf-2.0.la -L/usr/local/win32/lib/ -lgdi32 > -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv > > It has something to do with the size of the identfiers, > i will gdb it. > > mike > > ===== > James Michael DuPont > http://introspector.sourceforge.net/ > > __________________________________________________ > Do you Yahoo!? > Yahoo! Mail Plus - Powerful. Affordable. Sign up now. > http://mailplus.yahoo.com |