@database GG-Bugs.guide

@Master /gg-src/gg/docs/geekgadgets/GG-Bugs.texi

@Width 72


This is the AmigaGuide®  file GG-Bugs.guide, produced by Makeinfo-1.68 from 
the input file /gg-src/gg/docs/geekgadgets/GG-Bugs.texi.

INFO-DIR-SECTION Geek Gadgets
START-INFO-DIR-ENTRY
* GG-Bugs: (GG-Bugs).           The Geek Gadgets Bugs List.
END-INFO-DIR-ENTRY

   This file documents the Geek Gadgets (GG) Bugs List.

   Copyright (C) 1998, 1999

   Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions.

@node Main "GG-Bugs.guide"
@next "Introduction"



                       G E E K    G A D G E T S

                          B U G S    L I S T

                                   
                                   
This is Edition 1.14 of the Geek Gadgets (GG) Bugs List, last updated
04 February 1998 and generated on 22 May 1999.

   It describes known bugs in software integrated into the Geek Gadgets
Project.  For an introduction and further documentation concerning the
Geek Gadgets Project, see @{"The Geek Gadgets Project Documentation" link "GG.guide/Main"}.


The first part of this master menu lists the major nodes in this document,
including appendices and indices.  The rest of the menu lists all the lower
level nodes in the document.

 @{" Introduction               " link "Introduction"}  How to use the Geek Gadgets Bugs List.
 @{" Bug categories             " link "Bug categories"}  Bugs can be roughly categorized.

Indices

 @{" Concept Index              " link "Concept Index"}  A menu covering many topics.
 @{" Package Index              " link "Package Index"}  Listing of all packages and programs.


 -- The Detailed Node Listing --

How to use the Geek Gadgets Bugs List

 @{" Mailing-lists              " link "Mailing-lists"}  Submit a bug-report to the appropriate list.
 @{" Bug-reports                " link "Bug-reports"}  Write a bug-report to ease integration.
 @{" Patches                    " link "Patches"}  Create a patch to submit your bug-fix.
 @{" Rewards                    " link "Rewards"}  Be sure to get a nice reward for your work.

Bugs can be roughly categorized

 @{" Packages                   " link "Packages"}  Package oriented bugs.
 @{" Quickies                   " link "Quickies"}  Long-waiting easy fixes.
 @{" AmigaOS                    " link "AmigaOS"}  AmigaOS bugs affecting Geek Gadgets.
 @{" Third party                " link "Third party"}  Third party bugs affecting Geek Gadgets.

Package oriented bugs

 @{" autoconf                   " link "autoconf"}  autoconf/configure.
 @{" binutils                   " link "binutils"}  as/ld/strip.
 @{" cvs                        " link "cvs"}  
 @{" dumphunks                  " link "dumphunks"}  
 @{" fd2inline                  " link "fd2inline"}  
 @{" fileutils                  " link "fileutils"}  ls/cp/mv.
 @{" gcc                        " link "gcc"}  gcc/g++/cpp/cc1.
 @{" gdb                        " link "gdb"}  
 @{" ghostscript                " link "ghostscript"}  
 @{" ixemul                     " link "ixemul"}  ixemul.library/ixnet.library.
 @{" less                       " link "less"}  
 @{" libnix                     " link "libnix"}  
 @{" manutils                   " link "manutils"}  man/manutils.
 @{" ncurses                    " link "ncurses"}  curses/ncurses/terminfo.
 @{" pdksh                      " link "pdksh"}  sh/ksh/pdksh.
 @{" tar                        " link "tar"}  
 @{" termcap                    " link "termcap"}  
 @{" texinfo                    " link "texinfo"}  info/makeinfo/texi2dvi.

gcc

 @{" gcc driver                 " link "gcc driver"}  
 @{" g++                        " link "g++"}  
 @{" cpp                        " link "cpp"}  
 @{" cc1                        " link "cc1"}  
 @{" cross-compilation          " link "cross-compilation"}  

binutils

 @{" ld                         " link "ld"}  
 @{" strip                      " link "strip"}  

Long-waiting easy fixes

 @{" missing documentation      " link "missing documentation"}  Some packages are lacking several doc formats.
 @{" configure scripts          " link "configure scripts"}  Some packages are not rebuild automatically.


@endnode

@node "Introduction" "GG-Bugs.guide/Introduction"
@next "Bug categories"
@prev "Main"
@toc "Main"

How to use the Geek Gadgets Bugs List.
**************************************

   As you read the bug list, look for things that you think are within
your capabilities to work on.  If you think of something interesting
that either needs doing by yourself or someone else, send that
suggestion to the maintainer of this bugs list.  Tackle as big or as
small of a bug as your skills and available time permits.  Think of it
as "adopting a program".

   Besides fixing bugs there are many more options to participate in the
Geek Gadgets Projects.  For details and a few motivating thoughts about
this community effort, be sure to read @{"Participation" link "GG.guide/Participation"}.


 @{" Mailing-lists              " link "Mailing-lists"}  Submit a bug-report to the appropriate list.
 @{" Bug-reports                " link "Bug-reports"}  Write a bug-report to ease integration.
 @{" Patches                    " link "Patches"}  Create a patch to submit your bug-fix.
 @{" Rewards                    " link "Rewards"}  Be sure to get a nice reward for your work.


@endnode

@node "Mailing-lists" "GG-Bugs.guide/Mailing-lists"
@next "Bug-reports"
@toc "Introduction"

Mailing Lists
=============

Send bug-reports about java related tools to <gg-java@ninemoons.com>.
Send bug-reports about ixemul.library to <gg-ixemul@ninemoons.com>.
Send bug-reports about GCC and associated tools to <gg-gcc@ninemoons.com>.
Send bug-reports about tex related tools <gg-tex@ninemoons.com>.
Send bug-reports about the free X port to <gg-x@ninemoons.com>.
Send bug-reports about other Geek Gadgets tools to <gg@ninemoons.com>.

For details on the Geek Gadgets mailing lists, see @{"Mailing Lists" link "GG.guide/Mailing Lists"}.


@endnode

@node "Bug-reports" "GG-Bugs.guide/Bug-reports"
@next "Patches"
@prev "Mailing-lists"
@toc "Introduction"

Bug-reports
===========

   When you submit a bug report, please do it in a form that @{i}eases@{ui} the
integration in this list, by

   * providing a short keyword-like description (possibly the Subject:
     line),

   * providing a longer description reporting your environment, how to
     reproduce the bug, and what Geek Gadgets snapshot and especially
     which version of @{b}ixemul.library@{ub} you are using,

   * giving your name and e-mail address (in case people can't
     reproduce the bug and need more information about your
     environment).


@endnode

@node "Patches" "GG-Bugs.guide/Patches"
@next "Rewards"
@prev "Bug-reports"
@toc "Introduction"

Patches
=======

   After you have fixed a bug you should submit a patch containing the
fix.  For details on how to create a patch and where to submit it, see
@{"Patches" link "GG.guide/Patches"}.


@endnode

@node "Rewards" "GG-Bugs.guide/Rewards"
@prev "Patches"
@toc "Introduction"

Rewards
=======

   Be assured that everybody will be happy if you write a good
bug-report and even more if you kill any bug in this list :-)


@endnode

@node "Bug categories" "GG-Bugs.guide/Bug categories"
@next "Concept Index"
@prev "Introduction"
@toc "Main"

Bug categories
**************


 @{" Packages                   " link "Packages"}  Package oriented bugs.
 @{" Quickies                   " link "Quickies"}  Summary of long-waiting easy fixes.
 @{" AmigaOS                    " link "AmigaOS"}  AmigaOS bugs affecting Geek Gadgets.
 @{" Third party                " link "Third party"}  Third party bugs affecting Geek Gadgets.


@endnode

@node "Packages" "GG-Bugs.guide/Packages"
@next "Quickies"
@toc "Bug categories"

Package oriented bugs
=====================


 @{" autoconf                   " link "autoconf"}  autoconf/configure.
 @{" binutils                   " link "binutils"}  as/ld/strip.
 @{" cvs                        " link "cvs"}  
 @{" dumphunks                  " link "dumphunks"}  
 @{" fd2inline                  " link "fd2inline"}  
 @{" fileutils                  " link "fileutils"}  ls/cp/mv.
 @{" gcc                        " link "gcc"}  gcc/g++/cpp/cc1.
 @{" gdb                        " link "gdb"}  
 @{" ghostscript                " link "ghostscript"}  
 @{" ixemul                     " link "ixemul"}  ixemul.library/ixnet.library.
 @{" less                       " link "less"}  
 @{" libnix                     " link "libnix"}  
 @{" manutils                   " link "manutils"}  man/manutils.
 @{" ncurses                    " link "ncurses"}  curses/ncurses/terminfo.
 @{" pdksh                      " link "pdksh"}  sh/ksh/pdksh.
 @{" tar                        " link "tar"}  
 @{" termcap                    " link "termcap"}  
 @{" texinfo                    " link "texinfo"}  info/makeinfo/texi2dvi.


@endnode

@node "autoconf" "GG-Bugs.guide/autoconf"
@next "binutils"
@toc "Packages"

autoconf
--------

   The @{b}autoconf@{ub} package generates @{b}configure@{ub} scripts that check the
system configuration and generate and modify @{b}Makefile@{ub} accordingly.
@{b}configure@{ub} scripts also heavily stress the shell (see @{"pdksh" link "pdksh"}) and you
must have at least @{b}pdksh-4.9@{ub} from Geek Gadgets 960530.

Bug
@{b}     configure@{ub} fails to detects non ANSI/ISO C compliant headers.

Description
     The @{b}autoconf@{ub} @{b}AC_HEADER_STDC@{ub} test fails because of a mixed
     @{b}autoconf@{ub}/@{b}ixemul@{ub} bug pertaining to the @{b}ctype(3)@{ub} functions and the
     interpretation of the default locale behaviour.  @{b}islower()@{ub} returns
     true for ö, é etc. where it is expected to return false for any
     character above 0x7f under the default ("C") locale.

Reported
     by Rask Ingemann Lambertsen <rask@kampsax.dtu.dk> (Sep-96)

Work-around
     Correct the @{b}ac_cv_header_stdc@{ub} entry in @{b}config.cache@{ub} and @{b}config.h@{ub}
     by hand

Volunteers
     Lars Hecking <lhecking@nmrc.ucc.ie> made things progress

Status
     See discussion in comp.lang.c.moderated and gnu.misc.discuss.


@endnode

@node "binutils" "GG-Bugs.guide/binutils"
@next "cvs"
@prev "autoconf"
@toc "Packages"

binutils
--------

   The programs @{b}as@{ub} and @{b}ld@{ub} used by GCC are found in the @{b}binutils@{ub}
package.  Among others are @{b}strip@{ub}, @{b}objdump@{ub} and @{b}ar@{ub}.

   The @{b}binutils-2.x@{ub} series all use BFD.  BFD is a @{i}link library@{ui} to
manipulate object and executable files in various formats.

   The pre-2.x series of the @{b}binutils@{ub} programs did not use BFD to write
Amiga executables.  They used custom output routines that worked fine
but used a UNIX object format instead of the native Amiga one.  As work
on the BFD backend for the Amiga's hunk format progressed, the 2.x
series of the binutils started using BFD to write Amiga executables.

   Switching to BFD is known to have caused a lot of grief and crashes,
for reasons as various as non-68000 code generation, failure to execute
autoinit sections (affecting Libnix, see @{"libnix" link "libnix"}), bad loadfile hunk
structure, @{b}ixemul.library@{ub} not recognizing ixemul-compiled programs, and
more.

   Other BFD quirks include @{b}huge binutils executables@{ub} (@{b}as@{ub}, @{b}ld@{ub}, @{b}strip@{ub},
@{b}objdump@{ub} etc.) as BFD gets linked in.  As an example, the Geek Gadgets
@{b}strip@{ub} utility is 280KB in size, @{b}strings@{ub} is 140KB.  @{b}as@{ub} doubled in size
from 100KB to 220KB.

   Be aware of the linker's (and @{b}strip@{ub} and all other BFD-based tools)
@{b}huge memory requirements@{ub} (expect 2.5 times filesize).

   At least writing executables files under various GCC options
(including @{b}-s@{ub}, @{b}-resident@{ub} and @{b}-fbaserel@{ub}) seems to be working since
@{b}binutils-2.7@{ub} (Geek Gadgets snapshot 960902).  Manipulating object files
in Amiga format using fancy options is still hazardous as of November
1996.

Bug
     Executables crashing with 8000000x gurus when using gcc's
     @{b}-fbaserel@{ub}, @{b}-resident@{ub} or @{b}-s@{ub} options

Work-around
@{b}     Update@{ub} to at least @{b}binutils-2.7@{ub} (since Geek Gadgets 960902)


 @{" ld                         " link "ld"}  
 @{" strip                      " link "strip"}


@endnode

@node "ld" "GG-Bugs.guide/ld"
@next "strip"
@toc "binutils"

ld
..

   Some ld (GNU linker) problems are related to BFS.  See @{"BFD" link "binutils"}.


@endnode

@node "strip" "GG-Bugs.guide/strip"
@prev "ld"
@toc "binutils"

strip
.....

Bug
@{b}     strip@{ub} on non gcc-compiled binaries destroys them

Description
@{b}     strip@{ub} or rather BFD did not support more than three hunks (one
     CODE, DATA and BSS). It didn't report an error but the executable
     is likely to be damaged.

Reported
     by Tommy Johansson (around 17-Sep-96)

Work-around
     Use @{b}util/misc/Strip37_2.lha@{ub} from Aminet or @{b}update@{ub} to at least Geek
     Gadgets 961012.

Status
     Snapshots since 961012 include a good BFD (see @{"BFD" link "binutils"}) and @{b}strip@{ub}.


@endnode

@node "cvs" "GG-Bugs.guide/cvs"
@next "dumphunks"
@prev "binutils"
@toc "Packages"

cvs
---

Bug
@{b}     cvs commit@{ub} gives @{b}cvs [commit aborted]: cannot commit files as
     'root'@{ub}

Description
     checkout, update, remove, add are all possible, but not commit.
     Should CVS be compiled without the CVS_BADROOT option, which
     refuses to allow root to commit, (see @{b}commit.c@{ub} in CVS source for
     details) to get it to work for non-networked users?

     On the current Amiga, essentially everyone has root priviledges
     regardless of what user the networking support sets you up as, so
     I [Fred Fish] see no problem with disable the cvs feature that
     blocks root from doing some operations.

     Furthermore, @{b}cvs commit@{ub} invokes an external editor to create a log
     message. However, it passes it a UNIX style path name, which isn't
     grok'ed by my favorite editor.

Reported
     by  Diab Jerius <djerius@cfa.harvard.edu> 12-July-96

Work-around
     Start up INet225 and turn on network support in ixemul.library,
     which sets you up as non-root.  But then it's said to cause tons of
     Enforcer hits.

Volunteers

Difficulty
     looks like recompile

Status
     Norbert Püschel <pueschel@imsdd.meb.uni-bonn.de> has a beta
     @{b}ixemul.library@{ub} with UID/GID handling.  It sets the default user as
     nobody/nogroup when neither MultiUser nor networking are running.

Bug
@{b}     cvs checkout@{ub} works at random

Description
     It doesn't check out complete directories.  Caused by ixemul's
     @{b}convert_dir.c@{ub} which doesn't set @{b}DT_DIR@{ub} in a @{b}struct dirent@{ub}.  Notice
     that ARexx' @{b}rexx/rexxio.h@{ub} defines @{b}DT_DIR@{ub} with @{b}another value@{ub},
     causing a conflict with some applications.

Reported
     by Lars Hecking <lhecking@nmrc.ucc.ie> (6-Nov-96).  Conflict
     reported by Samuel Devulder <devulder@info.unicaen.fr> (31-Oct-96).

Work-around
     Enclose DT_* definitions in @{b}GG:include/sys/dirent.h@{ub} with
     @{b}#ifndef/#ifdef __amigaos__@{ub}

Status
     Ixemul's @{b}convert_dir.c@{ub} fixed in 45.1.


@endnode

@node "dumphunks" "GG-Bugs.guide/dumphunks"
@next "fd2inline"
@prev "cvs"
@toc "Packages"

dumphunks
---------

Bug
@{b}     dumphunks@{ub} fails on binaries with embedded @{b}MEMF_*@{ub} flags

Description
     In the Amiga object-file format, the most-significant bits of the
     "hunk size in longwords" longword (perhaps even as much as the
     whole most significant byte, but I'm not sure) are reserved for
     such things as memory-type indication, and @{b}dumphunks@{ub} forgets to
     filter them out.  This can lead to some really weird numbers when
     you run @{b}dumphunks@{ub} on an executable with a chip hunk.

Reported
     by Jeroen T. Vermeulen <jtv@dial.xs4all.nl> (7-Dec-96)

Status
     A patch has been submitted by Daniel Vérité <daniel@brainstorm.fr>
     on 7-Dec-96.


@endnode

@node "fd2inline" "GG-Bugs.guide/fd2inline"
@next "fileutils"
@prev "dumphunks"
@toc "Packages"

fd2inline
---------

Bug
@{b}     fd2inline@{ub} generates bad macros, causing errors difficult to find

Description
     Caused when type and argument have the same name, as in
     @{b}gtlayout.library@{ub}:
          struct LayoutHandle *
          LT_CreateHandleTagList( struct Screen *Screen, struct TagItem *TagList);
     @{b}fd2inline@{ub} is designed to work fine with the original OS clib/fd
     files, not all third-party ones.

Reported
     by Martin Recktenwald <maret@stud.uni-sb.de> (1-Nov-96)

Work-around
     Modify the @{b}clib/*.h@{ub} file

Status
     The simple parser of fd2inline is not likely to be fixed, name
     clashes are considered Bad Coding Practice.

Bug
@{b}     cpp: unterminated macro call@{ub} with MUI headers

Description
     The problem is that some functions (declared/defined in the MUI
     headers) are really macros with gcc and you end up in trying to
     generate new macro calls, token by token, during the preprocessing.

Reported
     by Tom Hayko <tjhayko@mail.io.org> (1-Dec-96)

Work-around
     Don't use the @{b}Begin@{ub} and @{b}End@{ub} macros in the MUI header files, expand
     the macros manually.

Difficulty
     Rewrite macros in the MUI header files that have a variable number
     of arguments to call the stubs found in @{b}fd2inline-1.1@{ub}.


@endnode

@node "fileutils" "GG-Bugs.guide/fileutils"
@next "gcc"
@prev "fd2inline"
@toc "Packages"

fileutils
---------

   Package: fileutils (see @{"fileutils" link "fileutils"}).

Bug
     ls, cp, mv etc. (fileutils) do not correctly handle Amiga-style
     pathnames

Description
@{b}     ls -l GG:@{ub} did not work, while @{b}ls -l /gg@{ub} did.          To
     concatenate pathnames, UNIX programs either always insert an
      extra slash in between the parts or insert a slash only if a
        directory name is not already terminated by one.  Both
     behaviours         are incorrect on the Amiga, where @{b}foo//bar@{ub} is
     different from         @{b}foo/bar@{ub} and no slash must be appended to
     device or volume         names like @{b}RAM:@{ub}.  The rule is to only
     append a slash if a         directory name is terminated by
     neither slash nor colon.
          RAM:            RAM:foo
          DEVS:DOSdrivers
          SYS:Classes/    SYS:Classes/gadget
          DEVS:/          DEVS:/Storage

Reported
     by various (May 96)

Work-around
     supply UNIX-style pathnames (@{b}/RAM/@{ub}, @{b}/dev/PC0@{ub}) and         have
     @{b}ixprefs@{ub}' "translate /" settings on.

Volunteers
     you?

Difficulty
     not difficult, just find all the places in all the sources

Status
     still broken as of Geek Gadgets release 960714

Bug
@{b}     mv foo ram:@{ub} (mv across partitions) deletes foo but nothing is in
     RAM:

Description
@{b}     mv: cannot move `foo' to `ram:/foo': No such file or directory@{ub}.
@{b}     mv foo /ram/@{ub} didn't complain, but no file was found in /ram/
     either.
          5> list foo
          foo                            5 ----rwed Today     21:56:53
          1 file - 2 blocks
          5> mv foo /workIII/
          mv: cannot move `foo' to `/workIII//foo': File exists
          5> ls /workIII/
            (no foo)
          5> move foo text/
          5> list text/foo
          Directory "text" on Tuesday 09-Jul-96
          foo                            5 ----rwed Today
          5> list workIII:info
          Directory "workIII:info" on Tuesday 09-Jul-96
          (..)
          5> mv foo /workIII/info/
          mv: cannot move `foo' to `/workIII/info//foo': Device not configured

Reported
     by Lynn Winebarger <owinebar@nickel.ucs.indiana.edu>         and
     Greg Jung <JUNG@ossen.nrl.navy.mil> (9-Jul-1996)

Volunteers
     None

Difficulty

Status

@endnode

@node "gcc" "GG-Bugs.guide/gcc"
@next "gdb"
@prev "fileutils"
@toc "Packages"

GNU C (C++, ObjC) Compiler
--------------------------

   GCC output is affected by bugs in the assembler and linker.  See
@{"binutils" link "binutils"}.

Bug
     Poor code is generated when using new inlines for varargs functions

Description
     Using libamiga.a is not that bad it's told so often.  It's much
     better to use the varargs stubs from libamiga.a. The defines from
     the inlines result in very poor code. Actually your program
     becomes bigger and slower because of the array filling.

Reported
     by Gunther Nikl <gnikl@informatik.uni-rostock.de> (16-Jul-96)

Work-around
     Use the stack-based functions found in libamiga.a: @{b}#undef@{ub}
     concerned inline defines so that libamiga.a gets linked in.

Status

Bug
     Slow floating point calculations

Description
     If you specify @{b}-lm@{ub} without @{b}-noixemul@{ub}, the @{b}libm.a@{ub} library currently
     in use is extremely slow.  Libnix' @{b}libm.a@{ub} is not affected and
     fast.  Using ixemul, the best choice for 68040/FPU optimizations
     is currently to either use ixemul with @{b}-lc@{ub} only (the math
     functions are already contained in the library), or use @{b}-m68040
     -m68881@{ub}.  When @{b}-m68881@{ub} is used, @{b}math.h@{ub} includes @{b}math-68881.h@{ub} which
     leads to inline FPU code generation of the math functions instead
     of the equivalently fast ixemul functions.

Reported
     by various

Work-around
     Either don't specify @{b}-lm@{ub} at all or use @{b}-m68040 -m68881@{ub} for inline
     FPU code.  Possibly replace the non-Libnix @{b}libm.a@{ub} with an empty
     library.  With Libnix, use @{b}-lm@{ub} or @{b}-m68040 -m68881@{ub} as usual.

Volunteers
     Kriton Kyrimis <kyrimis@dias.cti.gr>

Difficulty
     Finding out a fast replacement for the non-Libnix @{b}libm.a@{ub}

Status
     Still investigating the topic (Nov 1996).  Motorola's FPSP library
     seems a good candidate and is POSIX compliant.


 @{" gcc driver                 " link "gcc driver"}  
 @{" g++                        " link "g++"}  
 @{" cpp                        " link "cpp"}  
 @{" cc1                        " link "cc1"}  
 @{" cross-compilation          " link "cross-compilation"}


@endnode

@node "gcc driver" "GG-Bugs.guide/gcc driver"
@next "g++"
@toc "gcc"

gcc -- C front end
..................

Bug
     Need to make GCC accept absolute Amiga-style pathnames.  GCC
     cannot be used without @{b}ixprefs@{ub} "translate /" settings on.

Description
     The old GCC-2.3.3 could deal with @{b}gcc Source:foo.c@{ub} or         @{b}gcc
     /foo.c@{ub} (parent directory) while now, you must use         @{b}gcc
     /Source/foo.c@{ub} or @{b}gcc ../foo.c@{ub}.  These UNIXish         references
     will be put in preprocessor @{b}#line@{ub} directives and GDB
     debugging information, causing other programs (GNUEmacs among them)
            not to be able to load/edit the source files.

Reported
     by <Joerg.Hoehle@gmd.de> (9-Jul-96)

Volunteers

Difficulty
     The difficult part is to integrate the changes in such a way that
           one can still use @{b}configure; make@{ub}, not the actual change.


@endnode

@node "g++" "GG-Bugs.guide/g++"
@next "cpp"
@prev "gcc driver"
@toc "gcc"

g++ -- C++ front end
....................

   Some bugs mentioned, none included in this list yet.


@endnode

@node "cpp" "GG-Bugs.guide/cpp"
@next "cc1"
@prev "g++"
@toc "gcc"

cpp -- preprocessor
...................


@endnode

@node "cc1" "GG-Bugs.guide/cc1"
@next "cross-compilation"
@prev "cpp"
@toc "gcc"

cc1 -- actual C compiler
........................

Bug
@{b}     fixed or forbidden register was spilled@{ub}

Description
     Some inline functions/macros use lots of registers, especially
        BltBitMap(). RawDoFmt() has also been reported to be involved
     in such         a situation.

Reported
     by various

Work-around
     Work-around by using stack-based function calls instead of
     inlines.  Use libamiga.a/sprintf() instead of RawDoFmt().

Volunteers
     Kamil Iskra <kiskra@ernie.icslab.agh.edu.pl> is the maintainer of
           the "new" inlines but knowing this won't help you.

Difficulty
     Rewrite your code differently.

Status

Bug
@{b}     Internal compiler error: program cc1 got fatal signal 11@{ub} or 6

Description
@{b}     Segmentation fault - /ade/lib/gcc-lib/m68k-amigaos/2.7.2.1/cc1@{ub}
     Signal 11 (SIGSEGV) may be due to the stack extending code when the
     compiler runs out of memory.  The cause of signal 6 is unknown.

Reported
     by various

Work-around
     Use a lower level of optimization or none at all.

Status

Bug
     Wrong floating-point results when using FPU instructions

Description
     Some, but not all are caused by ixemul.library.  Some only occur on
     68040 machines.  Too many bug-reports reports to mention.  GCC's
     FPU machine-description file appears to be seriously broken.

Volunteers
     joop van de wege <Joop.vandeWege@medew.ento.wau.nl> is
     contributing bug-reports.  Kriton Kyrimis <kyrimis@cti.gr> is
     looking for good math routines.

Status
     Much work still needs to be done

Bug
@{b}     -resident@{ub} executables crash, make can't be made resident

Description
          int a=1;
          int * const p = &a;
          
          int main()
          {
            a=2;
            printf ("%d\\n", *p);
          }
     With @{b}-resident@{ub}, result is 1 instead of 2.  There's a problem with
     @{b}const@{ub} items which are put in the code section and not relative to
     @{b}a4@{ub}.

Status
     Daniel Vérité submitted a patch on 18-Oct-96.

Bug
     The @{b}__chip@{ub} and other Amiga-specific keywords (@{b}__saveds@{ub}, @{b}__regards@{ub})
     don't work

Description
     Kamil Iskra implemented most of them but they didn't make it yet
     into Geek Gadgets, neither is their implementation finished yet.

Reported
     by Mark collette <mcollett@stu.athabascau.ca> (7-Aug-96)

Work-around
@{b}     AllocMem()@{ub} and copy data or make Amiga object files (see also
     @{b}dev/misc/BintoHunk.lha@{ub} on Aminet and @{b}atom@{ub} from the AmigaOS SDK)
     and use the @{b}blink@{ub} linker.

Volunteers
     Kamil Iskra <kiskra@ernie.icslab.agh.edu.pl>, Daniel Vérité

Status
@{b}     __chip@{ub} support is not yet complete as far as the assembler and
     linker are concerned (Nov 96).


@endnode

@node "cross-compilation" "GG-Bugs.guide/cross-compilation"
@prev "cc1"
@toc "gcc"

Cross-compilation
.................

   Almost every snapshot introduces few minor bugs as many patches to
GCC have been submitted but seldomly tested in the context of
cross-compilation.  For Details, be sure to read @{"Cross environment" link "GG.guide/Cross environment"}.
Report problems to <gg-gcc@ninemoons.com>.

Bug
@{b}     #error: float.h values not known for cross-compiler@{ub}

Description
     A source just including @{b}math.h@{ub} fails to compile.  @{b}ixemul@{ub}'s
     @{b}include/float.h@{ub} should be included instead of GCC's.

Reported
     by Alfred Minarik <am@mdy.univie.ac.at> (16-Oct-96)

Work-around
     Delete @{b}lib/gcc-lib/m68k-cbm-amigaos/2.7.2.1/include/float.h@{ub}, as
     suggested by Daniel Vérité <daniel@brainstorm.fr>.

Bug
@{b}     ld: Undefined symbol _amiga_cpp_symname_hook@{ub}

Description
     The macro is in the target config file where it should be in the
     host config file.

Reported
     by Maarten D. de Jong <dejong@cpt6.stm.tudelft.nl> (26-Oct-96)

Work-around
     Use the@{b}pub/geekgadgets/updates/gcc-961012-patch-01@{ub} patch to Geek
     Gadgets 961012.


@endnode

@node "gdb" "GG-Bugs.guide/gdb"
@next "ghostscript"
@prev "gcc"
@toc "Packages"

gdb
---

Bug
     some @{b}info@{ub} commands do not work

Description
@{b}     info dcache@{ub} gives Enforcer hits.
@{b}     info float@{ub} gives @{b}No floating point info available for this
     processor.@{ub} on my A4000/40, but @{b}info all-registers@{ub} correctly shows
     FPU registers.

Reported
     by Joerg.Hoehle@gmd.de (25-Aug-96)

Status

@endnode

@node "ghostscript" "GG-Bugs.guide/ghostscript"
@next "ixemul"
@prev "gdb"
@toc "Packages"

ghostscript
-----------

Bug
     GhostScript hangs after @{b}ctrl-c@{ub} or the @{b}quit@{ub} command

Work-around
     Use @{b}GhostScript@{ub} or the @{b}post.library@{ub} from Aminet.

Reported
     by various (last Oct-96)

Status
     Joop van de wege <Joop.vandeWege@medew.ento.wau.nl> wants to
     continue working on this after doing some other jobs.


@endnode

@node "ixemul" "GG-Bugs.guide/ixemul"
@next "less"
@prev "ghostscript"
@toc "Packages"

ixemul.library
--------------

   The @{b}pdksh@{ub} shell stresses the UNIX-compatibility of ixemul.library.
See @{"pdksh" link "pdksh"}.

Bug
@{b}     ENV:@{ub} notification problem with ixemul.library

Description
     If you change something in @{b}ENV:@{ub} using the AmigaOS command @{b}SetEnv@{ub},
     ixemul may not notice it and still report the old settings to all
     ixemul programs.

Reported
     by Jörg Höhle <Joerg.Hoehle@gmd.de> (18-Dec-96)

Work-around
     Flush ixemul.library from memory or try @{b}UnSetEnv@{ub} to remove the
     setting, then @{b}SetEnv@{ub} to force a notify, then @{b}UnSetEnv@{ub} again.

Bug
@{b}     fcntl(,, O_NONBLOCK)@{ub} doesn't work

Description
     From @{b}RPM@{ub} file: @{b}build/pack.c@{ub}
           fcntl(fromCpio[0], F_SETFL, O_NONBLOCK);
           bytes = read(fromCpio[0], buf, sizeof(buf));
     When read() can't read anything from the file (in this case a pipe)
     it returns -1. But read() waits, so the program is blocked.

Reported
     by Kristof Depraetere <Kristof.Depraetere@rug.ac.be> (6-Jul-96)

Work-around
@{b}     ioctl(fh, FIONBIO, 1);@{ub}

Status
     Fixed in ixemul-44.0.

Bug
     missing @{b}ttyname()@{ub} function

Reported
     by Laurent.Peron@emi.u-bordeaux.fr (7-Oct-96)

Work-around
@{b}     Update@{ub} to at least ixemul-44.0

Bug
     missing @{b}sbrk()@{ub} function

Description
@{b}     sbrk@{ub} is a low-level UNIX call which is inappropriate on the Amiga
     as it assumes a memory heap growing in one direction only.

Reported
     by Steve Kaye <stevek@phonelink.telme.com> (19-Jul-96)

Work-around
     Use the GNU @{b}dbmalloc@{ub} package if you can live with preallocating a
     fixed size "sbrk pool" or see if there is some @{b}#define@{ub} not to use
     it.

Bug
     Every ixemul program opens @{b}ixnet.library@{ub}

Description
     For every ixemul program started, the library must check if it was
     run as a daemon as the startup is then different.

Work-around
     Disable networking in @{b}ixprefs@{ub}.


@endnode

@node "less" "GG-Bugs.guide/less"
@next "libnix"
@prev "ixemul"
@toc "Packages"

less
----

Bug
     Can't use @{b}less@{ub} as @{b}man@{ub}'s pager

Description
     Many things can go wrong.
        - @{b}SetEnv TERM amiga@{ub}

        - @{b}SetEnv LESSCHARSET latin1@{ub} to display all of ISO_8859_1

        - @{b}Less@{ub} uses @{b}ncurses@{ub} since Geek Gadgets 960902, growing the
          binary from 90KB to 190KB. See @{"ncurses" link "ncurses"} for @{b}ncurses@{ub} problems.

Work-around
     Check everything. Better: use MultiView (see above) or the
     amigaized @{b}Less-1.6Z@{ub}.

Reported
     by many, including Martin Blom <lcs@lysator.liu.se> (15-Oct-96)


@endnode

@node "libnix" "GG-Bugs.guide/libnix"
@next "manutils"
@prev "less"
@toc "Packages"

libnix
------

Bug
     linker errors about DOSBase or SysBase in 970217 snapshot

Description
     The Libnix archives were stripped with GNU binutils which removed
     long filenames causing duplicate entries, whereas the original
     Libnix archive was built using BSD ar and ranlib.

Reported
     by Fred Fish <fnf@fishpond.ninemoons.com> (21-2-97)

Work-around
     Use Libnix @{b}.a@{ub} files from other snapshots

Bug
     stdio buffer size is 1KB by default

Description
     The default should be somewhere between 8KB and 32KB. DiskSpeed
     shows extremely poor results for buffers below 4KB.

Reported
     by <Joerg.Hoehle@gmd.de> (12-Jun-1996)

Work-around
@{b}     setvbuf()@{ub}, but you don't want to modify foreign code for that

Difficulty
     probably easy

Bug
@{b}     -noixemul@{ub} compiled binaries guru

Description
     Caused since Libnix1.1 by the use of linker features (autoinit
     sections) which were broken in the @{b}binutils-2@{ub} linker.  See @{"BFD" link "binutils"}.

Work-around
@{b}     Update@{ub} to at least version 960530 of binutils/ld.

Bug
     Using @{b}sprintf()@{ub} links in all of stdio

Description
@{b}     sprintf@{ub} uses some kind of pseudo FILE* to a RAM buffer internally
     and then uses its IO routines (@{b}fputc@{ub}, @{b}open@{ub}, @{b}__fflush@{ub} ...) on it.
     This makes your code unnecessary big when you don't want to use
     stdio (because you use @{b}dos.library@{ub} calls for example).  You can't
     make tiny executables with Libnix @{b}sprintf()@{ub}.

Reported
     by <Joerg.Hoehle@gmd.de> (1-Oct-1996)

Work-around
     Try to use @{b}sprintf@{ub} from @{b}libamiga.a@{ub}, be aware that @{b}%d@{ub} assumes
     16-bit ints then.


@endnode

@node "manutils" "GG-Bugs.guide/manutils"
@next "ncurses"
@prev "libnix"
@toc "Packages"

manutils
--------

   See @{"missing documentation" link "missing documentation"}.

Bug
@{b}     man man@{ub} doesn't work, it says @{b}cannot create@{ub}

work-around
@{b}     Update@{ub} to @{b}manutils-2.0@{ub} by Lars Hecking <lhecking@nmrc.ucc.ie>, a
     far better @{b}man@{ub} from NetBSD.

Bug
     Can't use another pager for @{b}man@{ub}

Description
     If you get @{b}sh: less: not found@{ub}, then @{b}$PAGER@{ub} is not set correctly.
     Set the local variable, not the global (@{b}ENV:PAGER@{ub}) one: (@{b}Set PAGER
     `Which MultiView`@{ub}).  Doing so is still prone to fail or deliver at
     least undesirable results, for two reasons:
        - @{b}$PAGER@{ub} ist called with Unix path names, which native programs
          will not grok; for this reason I have included a shell script
          viewer.sh with @{b}manutils-2.0@{ub}, which will translate absolute
          path names. This is really a crutch which may disappear in
          newer versions, but it's not on my current priority list.
          (See @{b}man.conf@{ub} for an example how to use it).

        - formatted man pages may still contain bold and underlined
          characters, which make them a bit unreadable in MultiView.
          [There is a man datatype on Aminet which takes care of this.
          @{b}manutils-2.1@{ub} will use temporary files like @{b}/tmp/man.278672.1@{ub}
          to let @{b}mandt@{ub} recognize the file]

Reported
     by Martin Steigerwald <steigerw@stud.uni-frankfurt.de> (26-Jul-96).
     @{b}manutils-2.0@{ub} by Lars Hecking <lhecking@nmrc.ucc.ie>.

Bug
     The manual datatype @{b}mandt@{ub} is not working

Description
     Not a Geek Gadgets bug.  The so-called manual datatype can only
     display formatted manual pages (those that contain codes like
     @{b}m^H_a^H^_@{ub}) but not unformatted (@{b}nroff@{ub}) ones (containing sequences
     like @{b}.SH@{ub}, @{b}.TH@{ub} etc.).  Unfortunately, most UNIX archives come with
     unformatted manual pages.

Work-around
     Install @{b}groff@{ub} to process unformatted manual pages or find
     formatted ones on the Internet.

Reported
     by Lars Hecking <lhecking@nmrc.ucc.ie> (15-Oct-96)

Status
     Geek Gadgets @{b}Makefile@{ub}s need to be changed to generate and install
     readable (guide or formatted) manuals.  See @{"missing documentation" link "missing documentation"}.


@endnode

@node "ncurses" "GG-Bugs.guide/ncurses"
@next "pdksh"
@prev "manutils"
@toc "Packages"

ncurses
-------

   All UNIX programs that do screen-oriented output use some package or
(link-)library for this purpose, either @{i}termcap@{ui}, @{i}curses@{ui} or @{i}ncurses@{ui}.

@{b}   Ncftp@{ub} and @{b}less@{ub} (since Geek Gadgets 960902) use @{b}ncurses@{ub} and its
associated @{b}lib/terminfo/...@{ub} files.

Bug
     Error messages about terminal or @{b}terminfo@{ub}

Description
     Many things can go wrong.
        - @{b}SetEnv TERM amiga@{ub}

        - Programs using ncurses will build a @{i}terminal information@{ui} file
          when none is found.  Create an empty @{b}GG:lib/terminfo/@{ub}
          directory, then run @{b}less@{ub} (or @{b}ncftp@{ub}) and wait for it to
          process your @{b}termcap@{ub} file, creating @{b}GG:lib/terminfo/A/amiga@{ub}.
          It's not necessary to install the giant (see below) @{b}ncurses@{ub}
          distribution when you need just the @{b}amiga@{ub} file.

        - @{b}$HOME@{ub} must be set correctly, as it will try to create
          @{b}$HOME/.terminfo/...@{ub} if it can't access @{b}GG:lib/terminfo/@{ub}.

Reported
     by many.  Explanations from Steve Hodge <sbh@cs.waikato.ac.nz>
     (18-Oct-96).

Bug
@{b}     Less: Name collision between pcansi-25 pcansi-mono25@{ub}

Description
     Bad @{b}terminfo@{ub} files or missing @{b}$TERM@{ub}?

Work-around
@{b}     SetEnv TERM amiga@{ub}. Make an empty @{b}GG:lib/terminfo/@{ub} and recreate
     entry (as above).

Bug
@{b}     GG:lib/terminfo/...@{ub} is huge

Description
     It comprises 1696 files, summing up to 3.7MB of data, not counting
     the file-system's rounding up to the next block.  Furthermore,
     binaries using ncurses instead of termcap grow, @{b}less@{ub} for example
     from 90KB to 190KB.

Work-around
     Just keep @{b}terminfo/a/amiga@{ub}, @{b}v/vt100*,vt220*@{ub}, @{b}x/xterm*@{ub} and delete
     all others that you don't need.

Reported
     by Lars Hecking <lhecking@nmrc.ucc.ie> (16-Oct-96)


@endnode

@node "pdksh" "GG-Bugs.guide/pdksh"
@next "tar"
@prev "ncurses"
@toc "Packages"

pdksh
-----

   The shell @{b}GG:bin/sh@{ub} is a link to @{b}GG:bin/ksh@{ub}, which is a port of the
@{i}pdksh@{ui} package, a reimplementation of the Korn shell.  It is freely
distribuable and reasonably compatible with the Bourne shell and is
therefore used as the basic UNIX shell within Geek Gadgets.

Bug
     ^C doesn't work for non ixemul-programs when run inside pdksh

Description
     a mixed pdksh/ixemul bug?

Reported
     by <Joerg.Hoehle@gmd.de> (3-Jul-1996)

Difficulty
     Tough

Status
     ^C is disabled as of ixemul V43.1

Bug
@{b}     pdksh@{ub} does not read @{b}etc:profile@{ub} as it previously did

Description
     Should it?

Reported
     by David Aschbrenner <pfloyd@netins.net> (16-Oct-96)

Work-around
     If started as @{b}-ksh@{ub} (the dash is the UNIX login marker), it will
     read @{b}etc:profile@{ub} and @{b}$HOME/.profile@{ub}.  Another possibility is to
     set @{b}$ENV@{ub} before starting @{b}pdksh@{ub}.

Bug
     line editing does not work in @{b}pdksh@{ub}

Description
@{b}     pdksh@{ub} uses the native console by default.  Use @{b}set -o emacs@{ub} to get
     line editing through a @{b}readline@{ub}-like builtin function.  When
     @{b}$VISUAL@{ub}, @{b}$EDITOR@{ub} or @{b}$FCEDIT@{ub} contain the string @{b}emacs@{ub} (or @{b}vi@{ub}),
     @{b}pdksh@{ub} switches to Emacs (or vi) line editing by itself.

Reported
     by various, including Thomas Walter
     <walter@pctc.chemie.uni-erlangen.de> (21-Oct-96)

Work-around
@{b}     set -o vi@{ub} or @{b}set -o emacs@{ub} and @{b}bind ^X=prefix-2@{ub} for Emacs mode.

Status
     Cursor keys are not recognized (Nov-96) when using @{b}set -o@{ub}, but
     <Joerg.Hoehle@gmd.de> posted some @{b}bind@{ub} commands as a work-around
     (11-Dec-96).

Bug
     really not a gcc bug?

Description
     After updating locally to ixemul 44.0, the RCS @{b}conf.sh@{ub} script
     stopped working correctly at the @{b}fread@{ub} test.  This failure was
     reduced to the test case included below.  If the compile + run
     does not succeed on the first combination of types, then the test
     fails to deduce the right types.  With ixemul 43.2, it just
     happened that for @{b}conf.sh@{ub} the first combination was the right one,
     but the return type of @{b}fread@{ub} changed in 44.0, triggering this bug.
     To make the below test succeed, edit @{b}a.c@{ub} to change the hardwired
     types of @{b}foo()@{ub} to be @{b}int foo (int arg);@{ub} and do @{b}sh a.sh@{ub}.  When run
     on a Unix system, the test works no matter what combination of
     types @{b}foo()@{ub} has.

          /* a.c --- Change these types to test */
          long foo (long arg);
          
          type foo (argtype arg) {}
          
          main () { exit (0); }
     ------- a.sh
          #! /bin/sh
          for type in int long
          do
          	for argtype in int long
          	do
          		echo trying type=$type, argtype=$argtype
          		(gcc -Dargtype=$argtype -Dtype=$type a.c && a.out) && echo "FOUND IT" && break
          	done && break
          done || {
          	echo $0: cannot deduce types
          	exit 1
          }
          echo $0: deduced types $type, $argtype

Reported
     on Sun, 18 Aug 1996, by fnf@ninemoons.com (Fred Fish)

Work-around

Status
     bug triggered by fread() return type changing in ixemul-44.0

Bug
     Lock up when exiting some non-ixemul program run from pdksh

Description
     Typical examples are @{b}GNUEmacs@{ub}, @{b}vim@{ub} and @{b}Multiview@{ub}.

Reported
     by Bo Najdrovsky <bn@okcforum.org> (2-Nov-96)

Work-around
@{b}     Update@{ub} to ixemul-45.1 once it's available.

Status
     Traced to an uncleared signal disturbing ixemul.library.  Fixed in
     45.1.


@endnode

@node "tar" "GG-Bugs.guide/tar"
@next "termcap"
@prev "pdksh"
@toc "Packages"

tar
---

Bug
@{b}     tar@{ub} does not accept Amiga filenames containing a colon, thus @{b}tar
     -tfv Store:gcc-2.7.2.tar@{ub} does not work.

Description
     new "feature" makes tar interpret the name before the colon as a
          remote host name, which is bad on the Amiga.  Either drop the
            remote option completely or change the syntax in a portable
            way.

     The easiest way to circumvent the additional cmd line option is to
     add  flag_force_local = 1 at the top of tar.c/decode_options().
     This is ok as  long as no one wants to use tar remotely (which
     doesn't work anyway, I  [Lars Hecking] am told. This feature needs
     the second fork() in  buffer.c/child_open().  And rexec(3),
     methinks.)

Reported
     by <Joerg.Hoehle@gmd.de> (4-Jul-1996)

Work-around
     Use @{b}--force-local@{ub}

Volunteers
     Joerg.Hoehle@gmd.de is working on it, Hans Verkuil
     <hans@wyst.hobby.nl>         has supplied a patch adding a new
     @{b}--force-remote@{ub} switch.

Difficulty
     Seems easy

Status
     A report about the "colon is used in pathnames of several OS"
     problem         has been posted to gnu.utils.bugs and been "filed"
     by Francois         Pinard <pinard@iro.umontreal.ca>, the GNU-tar
     maintainer.

Bug
@{b}     tar xvMf /fd0@{ub} does not work with @{b}FD0:@{ub} RawDiskHandler

Description
     On a UNIX box, prepare a disk with @{b}tar cvMf /dev/fd0
     Verzeichnis@{ub}.  Back on the Amiga, all I get is a requester saying
          @{b}Free: corrupted segment@{ub} after the first fileheader.  It does
     work         with an old tar of mine.

     Lars Hecking <lhecking@nmrc.ucc.ie> adds: I have tried to find
     this bug and failed. AFAIR, the GNU tar port on Aminet was
     compiled with SAS/C and should be less functional than the Geek
     Gadgets version wrt stubbed-out Unix functions/syscalls. I think
     even compiling the SAS'd sources with gcc doesn't make @{b}-M@{ub} work.
     Which leads me to the conclusion that hhere is either a bug in tar
     which doesn't show with SAS, or a bug in ixemul.library, or a bug
     in gg-gcc.

Reported
     by Ingo Saitz <ingo@r1.iqo.uni-hannover.de>

Volunteers

Difficulty

Status
     Untested

Bug
@{b}     tar -tzvf foo.tgz@{ub} and @{b}gzcat foo.tgz | tar -tvf -@{ub} do not work

Work-around
@{b}     Update@{ub} to at least Geek Gadgets version 960530 of tar.


@endnode

@node "termcap" "GG-Bugs.guide/termcap"
@next "texinfo"
@prev "tar"
@toc "Packages"

termcap
-------

   All UNIX programs that do screen-oriented output use some package or
(link-)library for this purpose, either @{i}termcap@{ui}, @{i}curses@{ui} or @{i}ncurses@{ui}.

   GNUEmacs and less (prior to Geek Gadgets 960902) use @{b}termcap@{ub}.

Bug
@{b}     WARNING: terminal cannot clear to end of line@{ub} and others

Description
     Your @{b}$TERM@{ub} or @{b}$TERMCAP@{ub} variable is not set correctly, making
     @{b}termcap@{ub}-based programs assume a dumb terminal (that only knows
     backspace). The @{i}terminal capabilities@{ui} file location is
     @{b}GG:etc/termcap@{ub} or @{b}etc:termcap@{ub}.  Unless somebody can @{b}telnet@{ub} to your
     machine, you can get along with a minimal version that only
     contains an entry for @{b}amiga@{ub} (and possibly @{b}xterm@{ub} if you run some X
     server) instead of the complete one that's 440KB.

Work-around
     First @{b}SetEnv TERM amiga@{ub}.  If it still doesn't work, @{b}SetEnv TERMCAP
     GG:etc/termcap@{ub}.

Reported
     by many, including Martin Steigerwald
     <steigerw@stud.uni-frankfurt.de>


@endnode

@node "texinfo" "GG-Bugs.guide/texinfo"
@prev "termcap"
@toc "Packages"

texinfo
-------

   The texinfo package (see @{"texinfo" link "texinfo"}) contains several elisp and TeX
files; some problems are related to them:

Bug
     TeX files may not be installed in the correct place.

Description
     The two TeX macro files, @{b}texinfo.tex@{ub} and         @{b}epsf.tex@{ub}, which
     are needed when .texi files are processed         into .dvi files,
     may be installed in the wrong place, depending         on the
     local TeX installation. Furthermore, an older copy of
     @{b}texinfo.tex@{ub} may be included, which will break the use of
     new features. The version of an @{b}texinfo.tex@{ub} file can be
     determined with the command:
          grep '^\\\\deftexinfoversion\\$Revision' geekgadgets/texinfo.tex \\
           | awk '{print $2}'

Reported
     by maintainer (Sep 97)

Work-around
     Move texinfo.tex and epsf.tex to a place where they can be found
          by the TeX system. Remove any obsolete copies of
     @{b}texinfo.tex@{ub}.

Bug
     Elisp files are not present in the binary archive.

Description
     The emacs lisp (.el) files from the texinfo distribution are not
          present in the binary archive, as they rely on features
     found in         emacs-19. The files are available in the source
     archive, and         should NOT be installed indiscriminate.
     Emacs' Info-mode will         cease to function if installed.

Reported
     by maintainer (Sep/Oct 97)

Work-around
     Modify the elisp files, or port emacs 19

Difficulty
     Medium, if the files are modified, Hard if the fix involves
     porting emacs 19.


@endnode

@node "Quickies" "GG-Bugs.guide/Quickies"
@next "AmigaOS"
@prev "Packages"
@toc "Bug categories"

Quickies
========

   This list of long-waiting easy fixes are waiting for somebody to
download the archives, change the behaviour of the affected packages
and send back diffs to the Geek Gadgets mailing lists.  Fred Fish can't
do it all.

   Most of them is a matter of modifying @{b}Makefile@{ub} (i.e. in fact
@{b}Makefile.in@{ub}) or @{b}configure@{ub} (@{b}configure.in@{ub}) and thus may require some
knowledge about @{b}autoconf@{ub}.  Some require adding a @{b}configure@{ub} script to a
package that does not yet use @{b}autoconf@{ub}.

   Geek Gadgets packages must have configure scripts (not necessarily
created by autoconf, but doing so is recommended) and be able to build
in a directory other than the source directory.


 @{" missing documentation      " link "missing documentation"}  Some packages are lacking several doc formats.
 @{" configure scripts          " link "configure scripts"}  Some packages are not rebuild automatically.


@endnode

@node "missing documentation" "GG-Bugs.guide/missing documentation"
@next "configure scripts"
@toc "Quickies"

missing documentation
---------------------

Bug
     Some binary archives do not contain documentation files

Description
     The @{b}Makefile@{ub} @{b}install@{ub} targets do not copy manpages or create
     AmigaGuide files.  Known packages missing documentation or guide
     files: @{b}octave@{ub}

Work-around
     Get source archive and run @{b}makeinfo --amiga@{ub}.

Reported
     by various, including <Laurent.Peron@emi.u-bordeaux.fr> (13-Oct-96)

Difficulty
     This particular problem for example would probably not take more
     than an hour for someone to fix. See @{b}autoconf@{ub} as an example of how
     to do it, or any of the other packages for which Guide files get
     installed in @{b}GG:guide/@{ub}.

Status
     Fred Fish already corrected several packages: "The problem is that
     there are hundreds of little things like this that could turn into
     a full time job for one person, and I already have one of those."


@endnode

@node "configure scripts" "GG-Bugs.guide/configure scripts"
@prev "missing documentation"
@toc "Quickies"

configure scripts
-----------------

Bug
     Some packages (i.e. @{b}lynx@{ub}) does not use @{b}configure@{ub}, thus they are
     not rebuilt on every snapshot.  Besides violating the main goal of
     having everything rebuild on each snapshot this can indeed cause
     problems if rebuilts of other packages introduce
     non-backward-compatible changes.

Requires
@{b}     autoconf@{ub} knowledge

Reported
     various

Status
     Some people are said to work here and there.  Please inquire on
     <gg-projects@ninemoons.com> for the current status on this.


@endnode

@node "AmigaOS" "GG-Bugs.guide/AmigaOS"
@next "Third party"
@prev "Quickies"
@toc "Bug categories"

AmigaOS
=======

   This is not a list of all AmigaOS bugs but rather a mention of some
that affect the use of Geek Gadgets tools.

Bug
@{b}     pipe ...| ...@{ub} and/or PIPE: don't work correctly

Description
@{b}     PIPE:@{ub} aka @{b}L:queue-handler@{ub} looses bytes up to and including OS 3.1.
     Use Heinz Wrobel's @{b}util/sys/HWGQueue.lha@{ub}.

     Furthermore, the @{b}pipe@{ub} command from Andy Finkel's os204hacks
     package is slightly broken.  You may wish to replace it with either
     @{b}util/cli/pipe3310.lha@{ub} or @{b}util/shell/Pipe-1.5.lha@{ub}

Work-around

Bug
     Symbolic links don't work in RAM:

Description
     The RAM: filesystem doesn't support soft links.  This affects RPM,
     as it creates symbolic links in tmp: which is normally on RAM:

Reported
     by Kristof Depraetere <Kristof.Depraetere@rug.ac.be> (26-Nov-96)

Work-around
     As far as RPM is concerned, assign tmp: to a HD.

Bug
     Can't delete symbolic link

Description
@{b}     C:Delete@{ub} only works when the file the link points to can be
     accessed.

Work-around
     Use @{b}GG:bin/rm@{ub} or other tools that just call @{b}DeleteFile()@{ub} without
     trying to @{b}Lock()@{ub} first.

Bug
@{b}     mathieeesing*.library@{ub} bug in conjunction with 68040

Description
     Reported to show up with G++

Reported
     by Kriton Kyrimis <kyrimis@dias.cti.gr> (5-Nov-96)

Work-around
     Use @{b}util/boot/MathPatch.lha@{ub} from Aminet or the Libnix archive.

Bug
     Can't put {, } or " in AmigaGuide buttons

Description
     Balanced braces work, unbalanced don't (at least in 39.11).  It
     also depends on the library version.  This affects @{b}makeinfo --amiga@{ub}
     when generating AmigaGuide files.

Reported
     by Kriton Kirimis <kyrimis@cti.gr> (22-Oct-96)

Work-around
     V35: Translate @{b}{@{ub} to @{b}[@{ub}, @{b}}@{ub} to @{b}]@{ub} and @{b}"@{ub} to @{b}'@{ub}
     V39: Either do the same, or only translate unbalanced braces
     (non-trivial to detect)
     V40: Translate @{b}"@{ub} to @{b}'@{ub}
     But sometimes @{b}{@{ub} is needed and can't be translated (e.g. in an
     index list).

Volunteers
     Kristof Depraetere <Kristof.Depraetere@rug.ac.be> maintains the
     Amiga port of Texinfo.

Status
     Makeinfo now translates the characters as above but only if one
     uses @{b}@{@{ub}, @{b}\@}@{ub} or @{b}\@"@{ub} (old @{b}Texinfo@{ub} doesn't know about this last one)
     (Oct-96).

Bug
     different guide files for V34, V39 and V40 versions of
     @{b}amigaguide.library@{ub}

Description
@{b}     \\\\ @{ub} is needed instead of @{b}\\ @{ub} in V40, etc., requiring the
     @{b}--amiga-40@{ub} etc. options to @{b}makeinfo@{ub}.

Difficulty
     Get AT or whoever to release V41 for free, like they did for
     Installer, so everybody gets it and uses that one.


@endnode

@node "Third party" "GG-Bugs.guide/Third party"
@prev "AmigaOS"
@toc "Bug categories"

Third party
===========

   This is not a list of all third party bugs but rather a mention of
some that affect the use of Geek Gadgets tools.

Bug
     AmiCDFS problems show up with @{b}du@{ub}

Description
@{b}     du@{ub} doesn't work with this file system, giving errors like
          du: /HD2/AmiTCP/logs/aws-access: File exists
          du: cannot change to `..' from directory /HD2/: Input/output error
     The other @{b}du: cannot return to starting directory: No such file or
     directory@{ub} error is due to a bug in ixemul.library fixed in 45.1.

Reported
     by Thomas Walter <walter@pctc.chemie.uni-erlangen.de> (27-Nov-96)

Work-around
     Use another CDROM file system.

Status
     Has that bug been reported to Asimware?

Bug
@{b}     libamiga.a@{ub} defines common symbols like @{b}stub@{ub}

Description
     ... and many more.  Avoid using a variable of that name in your
     code or you'll get spurious and hard to find errors.

Reported
     by Matthias Hopf <mshopf@informatik.uni-erlangen.de>

Work-around
     Try to avoid using @{b}libamiga.a@{ub} by using inlines.


@endnode

@node "Concept Index" "GG-Bugs.guide/Concept Index"
@next "Package Index"
@prev "Bug categories"
@toc "Main"

Concept Index
*************

@index "Concept Index"



 @{" $EDITOR                                  " link "pdksh"}   pdksh
 @{" $ENV                                     " link "pdksh"}   pdksh
 @{" $FCEDIT                                  " link "pdksh"}   pdksh
 @{" $HOME                                    " link "ncurses"}   ncurses
 @{" $LESSCHARSET                             " link "less"}   less
 @{" $PAGER                                   " link "manutils"}   manutils
 @{" $TERM <1>                                " link "termcap"}   termcap
 @{" $TERM                                    " link "less"}   less
 @{" $TERMCAP                                 " link "termcap"}   termcap
 @{" $VISUAL                                  " link "pdksh"}   pdksh
 @{" -fbaserel                                " link "binutils"}   binutils
 @{" -lm                                      " link "gcc"}   gcc
 @{" -m68040                                  " link "gcc"}   gcc
 @{" -m68881                                  " link "gcc"}   gcc
 @{" -noixemul                                " link "libnix"}   libnix
 @{" -resident                                " link "cc1"}   cc1
 @{" -s                                       " link "binutils"}   binutils
 @{" __chip                                   " link "cc1"}   cc1
 @{" __regargs                                " link "cc1"}   cc1
 @{" __saveds                                 " link "cc1"}   cc1
 @{" ac_cv_header_stdc                        " link "autoconf"}   autoconf
 @{" AC_HEADER_STDC                           " link "autoconf"}   autoconf
 @{" amiga_cpp_symname_hook                   " link "cross-compilation"}   cross-compilation
 @{" AmigaOS                                  " link "AmigaOS"}   AmigaOS
 @{" BFD                                      " link "binutils"}   binutils
 @{" binutils                                 " link "binutils"}   binutils
 @{" Bug-reports                              " link "Bug-reports"}   Bug-reports
 @{" configure scripts                        " link "configure scripts"}   configure scripts
 @{" cross-compilation                        " link "cross-compilation"}   cross-compilation
 @{" ctype                                    " link "autoconf"}   autoconf
 @{" cvs checkout                             " link "cvs"}   cvs
 @{" cvs commit                               " link "cvs"}   cvs
 @{" documentation, missing                   " link "missing documentation"}   missing documentation
 @{" DT_DIR                                   " link "cvs"}   cvs
 @{" elisp                                    " link "texinfo"}   texinfo
 @{" ENV: notification                        " link "ixemul"}   ixemul
 @{" fcntl                                    " link "ixemul"}   ixemul
 @{" float.h                                  " link "cross-compilation"}   cross-compilation
 @{" floating-point <1>                       " link "cc1"}   cc1
 @{" floating-point                           " link "gcc"}   gcc
 @{" gcc                                      " link "gcc"}   gcc
 @{" getuid                                   " link "cvs"}   cvs
 @{" inlines                                  " link "cc1"}   cc1
 @{" internal cc1 error                       " link "cc1"}   cc1
 @{" line editing                             " link "pdksh"}   pdksh
 @{" links, soft                              " link "AmigaOS"}   AmigaOS
 @{" lock-up                                  " link "pdksh"}   pdksh
 @{" notification                             " link "ixemul"}   ixemul
 @{" Patches                                  " link "Patches"}   Patches
 @{" pipe                                     " link "AmigaOS"}   AmigaOS
 @{" queue-handler                            " link "AmigaOS"}   AmigaOS
 @{" Quickies                                 " link "Quickies"}   Quickies
 @{" sbrk                                     " link "ixemul"}   ixemul
 @{" spilled register                         " link "cc1"}   cc1
 @{" sprintf                                  " link "libnix"}   libnix
 @{" stub                                     " link "Third party"}   Third party
 @{" texinfo                                  " link "texinfo"}   texinfo
 @{" ttyname                                  " link "ixemul"}   ixemul
 @{" varargs inline functions                 " link "gcc"}   gcc


@endnode

@node "Package Index" "GG-Bugs.guide/Package Index"
@prev "Concept Index"
@toc "Main"

Package Index
*************



 @{" AmiCDFS                                  " link "Third party"}   Third party
 @{" amigaguide.library                       " link "AmigaOS"}   AmigaOS
 @{" autoconf                                 " link "autoconf"}   autoconf
 @{" cc1                                      " link "cc1"}   cc1
 @{" config.cache                             " link "autoconf"}   autoconf
 @{" configure <1>                            " link "autoconf"}   autoconf
 @{" configure                                " link "configure scripts"}   configure scripts
 @{" cp                                       " link "fileutils"}   fileutils
 @{" cpp                                      " link "cpp"}   cpp
 @{" curses                                   " link "ncurses"}   ncurses
 @{" cvs                                      " link "cvs"}   cvs
 @{" Delete                                   " link "AmigaOS"}   AmigaOS
 @{" du                                       " link "Third party"}   Third party
 @{" dumphunks                                " link "dumphunks"}   dumphunks
 @{" fd2inline                                " link "fd2inline"}   fd2inline
 @{" g++                                      " link "g++"}   g++
 @{" gcc                                      " link "gcc driver"}   gcc driver
 @{" gdb                                      " link "gdb"}   gdb
 @{" ghostscript                              " link "ghostscript"}   ghostscript
 @{" groff                                    " link "manutils"}   manutils
 @{" gzcat                                    " link "tar"}   tar
 @{" gzip                                     " link "tar"}   tar
 @{" ixemul.library                           " link "ixemul"}   ixemul
 @{" ixnet.library                            " link "ixemul"}   ixemul
 @{" ksh                                      " link "pdksh"}   pdksh
 @{" ld                                       " link "ld"}   ld
 @{" less                                     " link "less"}   less
 @{" libamiga.a                               " link "Third party"}   Third party
 @{" libnix                                   " link "libnix"}   libnix
 @{" ls                                       " link "fileutils"}   fileutils
 @{" makeinfo                                 " link "AmigaOS"}   AmigaOS
 @{" man                                      " link "manutils"}   manutils
 @{" mandt                                    " link "manutils"}   manutils
 @{" manutils                                 " link "manutils"}   manutils
 @{" mathieeesingbas.library                  " link "AmigaOS"}   AmigaOS
 @{" MUI                                      " link "fd2inline"}   fd2inline
 @{" mv                                       " link "fileutils"}   fileutils
 @{" ncftp                                    " link "ncurses"}   ncurses
 @{" ncurses                                  " link "ncurses"}   ncurses
 @{" pdksh                                    " link "pdksh"}   pdksh
 @{" PIPE:                                    " link "AmigaOS"}   AmigaOS
 @{" profile                                  " link "pdksh"}   pdksh
 @{" RAM:                                     " link "AmigaOS"}   AmigaOS
 @{" RPM <1>                                  " link "AmigaOS"}   AmigaOS
 @{" RPM                                      " link "ixemul"}   ixemul
 @{" sh                                       " link "pdksh"}   pdksh
 @{" strip                                    " link "strip"}   strip
 @{" tar                                      " link "tar"}   tar
 @{" termcap                                  " link "termcap"}   termcap
 @{" terminfo                                 " link "ncurses"}   ncurses
 @{" TeX                                      " link "texinfo"}   texinfo
 @{" texinfo                                  " link "texinfo"}   texinfo

@endnode

