Previous: Reporting Suggestions and Bugs, Up: Environment [Index]
This section addresses some common problems that may arise when using or installing GPS.
Q: I have installed GPS originally as super user, and ran GPS successfully, but normal users can’t.
A: You should check the permissions of the directory $HOME/.gps and its subdirectories, they should be owned by the user.
This is usually due to font problems. Editing the file $HOME/.gps/preferences and changing the name of the fonts, e.g changing Courier by Courier Medium, and Helvetica by Sans should solve the problem.
If GPS cannot properly initialize the debugger (using the menu
Debug->Initialize
), it is usually because the underlying debugger
(gdb) cannot be launched properly. To verify this, try to launch the
’gdb’ command from a shell (i.e outside GPS). If gdb cannot be launched from
a shell, it usually means that you are using a wrong version of gdb
(e.g a version of gdb built for Solaris 8, but run on Solaris 2.6).
If GPS is no longer responding while debugging an application you should
first wait a little bit, since some communications between GPS and gdb
can take a long time to finish. If GPS is still not responding after a
few minutes, you can usually get the control back in GPS by either typing
Ctrl-C in the shell where you’ve started GPS: this should unblock it;
if it does not work, you can kill the gdb process launched by GPS using the
ps
and kill
, or the top
command under Unix,
and the Task Manager
under Windows: this will terminate your debugging
session, and will unblock GPS.
If your program was compiled with GNAT, the main program is
generated by the binder. This program is an ordinary Ada (or C if the
-C switch was used) program, compiled in the usual manner,
and fully debuggable provided that the -g switch is used on
the gnatlink
command (or -g is used in the
gnatmake
command itself).
The name of this package containing the main program is b~xxx.ads/adb where xxx is the name of the Ada main unit given in the gnatbind command, and you can edit and debug this file in the normal manner. You will see a series of calls to the elaboration routines of the packages, and you can debug these in the usual manner, just as if you were debugging code in your application.
The run time distributed in binary versions of GNAT hasn’t been compiled with debug information. Thus, it needs to be recompiled before you can actually debug it.
The simplest is to recompile your application by adding the switches
-a and -f to the gnatmake
command
line. This extra step is then no longer required, assuming that you
keep the generated object and ali files corresponding to the GNAT run time
available.
Another possibility on Unix systems is to use the file Makefile.adalib that can be found in the adalib directory of your GNAT installation and specify e.g -g -O2 for the CFLAGS switches.
If when launching GPS, nothing happens, you can try to rename the .gps directory (see Files) to start from a fresh set up.
GPS’s projects do not allow implicit overriding of sources file, i.e. you cannot have multiple times the same file name in the project hierarchy. The reason is that GPS needs to know exactly where the file is, and cannot reliably guess which occurrence to use.
There are several solutions to handle this issue:
There is one specific case where a project is allowed to have duplicate source files: if the list of source directories is specified explicitly. All duplicate files must be in the same project. With these conditions, there is no ambiguity for GPS and the GNAT tools which file to use, and the first file found on the source path is the one hiding all the others. GPS only shows the first file.
You can then have a scenario variable that changes the order of source directories to give visibility on one of the other duplicate files.
The idea is that you define various scenarios in your project (For instance compiling in "debug" mode or "production" mode), and change the source directories depending on this setup. Such projects can be edited directly from GPS (in the project properties editor, this is the right part of the window, as described in this documentation). On top of the project view (left part of the GPS main window), you have a combo box displayed for each of the variable, allowing a simple switch between scenarios depending on what you want to build.
These projects cannot currently be created through GPS, so you will need to edit them by hand. See the GNAT user’s guide for more information on extending projects.
The idea behind this approach is that you can have a local overriding of some source files from the common build/source setup (if you are working on a small part of the whole system, you may not want to have a complete copy of the code on your local machine).
GPS versions 4.x need the X RENDER extension when running under unix systems to perform at a reasonable speed, so you need to make sure your X server properly supports this extension.
This is specific to the way GNOME is configured on Ubuntu distributions.
To address this incompatibility, close GPS, then go to the GNOME menu
System->Preferences->Keyboard (or launch
gnome-keyboard-properties
).
Select the Layout tab, click on Layout Options. Then click twice on Using space key to input non-breakable space character and then select Usual space at any level and then close the dialogs.
Previous: Reporting Suggestions and Bugs, Up: Environment [Index]