# Anjuta FAQ

Copyright © 2001 by Andy Piper

Copyright © 2002 by Biswapesh Chatopadhyay

# Anjuta FAQ

This is a list of the most frequently asked questions for the `Anjuta` C/C++ IDE. If you have got a question which is not listed, feel free to contact the `Anjuta` developers via the mailing lists

1. General Information
  Q: What does the name Anjuta stand for? It does not look like one of those recursive names
  Q: Is here/will there ever be Anjuta for Windows ?
  Q: How about a GNOME2 version of Anjuta ?
2. Building `Anjuta`
  Q: Where can I find the latest source for `Anjuta`? There is no CVS repository on the project page at SourceForge!
  Q: I don't have CVS access - how do I access the latest Anjuta source ?
  Q: There is no configure script in CVS version !
  Q: When I build the `Anjuta` source, I get compiler errors for some missing header files / missing library / etc.
  Q: I can't compile `Anjuta` - complains about missing package. But I have the package RPMs installed.
  Q: When I try to build `Anjuta` from source, `make` fails in the `intl` directory.
3. Installing `Anjuta`
  Q: Can I install `Anjuta` locally, in my home directory?
  Q: Installation hangs while executing create_global_tags.sh.
  Q: I get lots of jade errors while building documentation.
4. Getting Involved with `Anjuta` development
  Q: Why doesn't Anjuta have my favourite XYZ feature ?
  Q: Why doesn't Anjuta compile/work on my favourite platform ?
  Q: Anjuta crashes/does strange things when I do this.
  Q: I want to help to develop `Anjuta` — where can I find out what tasks need to be done?
  Q: I want to add XYZ feature/new language to the editor.
  Q: I have added this cool feature to my copy of Anjuta - where do I send a patch ?
5. Using `Anjuta`
  Q: What is the correct way of including the GTk header files in my applications ?
  Q: I want to organize my code into multiple directories.
  Q: I want to add/customize the way programs are called.
  Q: Anjuta crashes during printing/preview.
  Q: How do I copy/print messages that appear during build ?
  Q: What flag do I specify if I want to link my project to libxxx.a or libxxx.so ?
  Q: What does this error message COLLECT 2: LD RETURN / EXIT STATES mean?
  Q: I cannot use names like 'my-project' for project names.
  Q: How do I add multiple files at once to my project or open multiple files at once? Adding/opening single file repeatedly is very tedious.
  Q: How do I define another projects directory other than the default "~/Projects"?
  Q: How do I add multiple build targets/modules/subdirectories?
  Q: Loading is very slow on large projects.
  Q: How do I change shortcuts for common commands ?
  Q: I cannot use a standard shortcut with Anjuta. All shortcuts seem to be messed up !
  Q: Why don't you add file manipulation commands on the file pane like 'Rename', 'Delete', etc. ?
  Q: Project wizards do not work on RH8.
  Q: Context help does not work/is disabled.
  Q: How do I supply my own compiler/linker flags to my program ?
  Q: I can't stop the debuger/debugger hangs.
  Q: Find in files/Show Usage do not work properly.
  Q: How do a add files written in a different language to my project ?
  Q: I imported a project using the Project Import feature. Now, when I add source files to the project, I find that they no longer compile.
  Q: The project/messages panes keep shrinking back to zero size ?
  Q: I already have a projct tree. How do I use Anjuta ?
  Q: I hate the editor fonts/colors/XYZ feature. How do I have better control of editor preferences ?

### 1. General Information

Q: What does the name Anjuta stand for? It does not look like one of those recursive names

A: It stands for nothing. Naba Kumar started writing `Anjuta`, and named it after his girlfriend — this software is dedicated to her.

Q: Is here/will there ever be Anjuta for Windows ?

A: No, unless GNOME itself is ported to Windows first. Anjuta depends a lot on features provided by GNOME and UNIX.

Q: How about a GNOME2 version of Anjuta ?

A: GNOME 2 port of anjuta is under development.

### 2. Building `Anjuta`

Q: Where can I find the latest source for `Anjuta`? There is no CVS repository on the project page at SourceForge!

A: That is because `Anjuta` is a GNOME application, and is in GNOME CVS. You can find out more about how to obtain the CVS sources at the GNOME site, or at the project home page.

Q: I don't have CVS access - how do I access the latest Anjuta source ?

A: Latest nightly tarballs of Anjuta are available here. You should download the ANJUTA_1_0_0 branch sources since HEAD is currently unstable and will probably not build.

Q: There is no configure script in CVS version !

A: You'll have to generate the configure script using the autogen.sh script that is included with the distribution. Note that you will need compatible versions of automake, autoconf and libtool.

Q: When I build the `Anjuta` source, I get compiler errors for some missing header files / missing library / etc.

A: The missing header files probably belong to the GNOME libraries. You may have an old version of the GNOME libraries. You should upgrade to a full GNOME 1.4 installation. Ximian provides pre-built packages for many Linux distributions.

Q: I can't compile `Anjuta` - complains about missing package. But I have the package RPMs installed.

A: If you want to compile Anjuta from source tarballs/CVS, you'll need the devel versions of the packages as well. For example, Anjuta requires gnome-print. So, you'll need to install gnome-print as well as gnome-print-devel.

Q: When I try to build `Anjuta` from source, `make` fails in the `intl` directory.

A: Look at the output from `configure`. There may be errors like:

          checking for xgettext... (cached) /usr/bin/xgettext
          checking for catalogs to be installed...  es fr it ja pl ru sv tr uk
          sed: can't read ./intl/po2tbl.sed.in: No such file or directory
          creating ./config.status
          creating Makefile
          creating intl/Makefile
          sed: can't read ./intl/Makefile.in: No such file or directory
          creating po/Makefile.in

This means that the build failure is probably due to the infamous `gettext` bug. This sometimes causes the files required to build message translations to be destroyed (note: this is not an `Anjuta` issue!). You should reinstall `gettext` or use a working version. version 0.10.x if known to work well.

### 3. Installing `Anjuta`

Q: Can I install `Anjuta` locally, in my home directory?

A: It is best to do a system installation (as root) and not local installation. `Anjuta` depends on GNOME for supplying pixmaps, and the help system works with `gnome-help-browser` or `Nautilus`, none of which will be happy if you do a local installation.

Having said that, Anjuta mostly works fine from a local installtion and Anjuta hackers do it all the time. You might experience some problems with the Help entries, but that's about it. If you encounter such a problem (missing Help entries), install the stable version in the GNOME install prefix and then install the latest version in a local directory.

Q: Installation hangs while executing create_global_tags.sh.

A: This is a known problem with some distributions. Basically, there is a recursive include loop in some of the files Anjuta is trying to parse. You'll have to manually identify and fix the loop, or create a dummy system.tags file.

Q: I get lots of jade errors while building documentation.

A: You probably do not have updated Docbook stylesheets and/or OpenJade. You can ignore the errors since Anjuta will install fine even if the documentation could not be built.

### 4. Getting Involved with `Anjuta` development

Q: Why doesn't Anjuta have my favourite XYZ feature ?

A: Because you haven't added them ? This is free software. You are free to, even encouraged to take the source code and add the features you need. If you don't think yourself to be capable of doing that, file a request for enhancement or send a mail to the devel list.

Q: Why doesn't Anjuta compile/work on my favourite platform ?

A: Because you haven't sent us patches/bug reports. Please send log messages and, if possible, patches to anjuta-devel mailing list. You can also file it as a bug or feature request.

Q: Anjuta crashes/does strange things when I do this.

A: File a bug report.

Q: I want to help to develop `Anjuta` — where can I find out what tasks need to be done?

A: Check the Project Page at SourceForge. There are always plenty of bugs and feature requests to pick up. It is a good idea to join the anjuta-devel mailing list first, though. Start small and then gradually tackle bigger and bigger thngs.

Q: I want to add XYZ feature/new language to the editor.

A: If you want to improve Anjuta's editor, it is beter to hack on Scintilla instead. Anjuta simply uses the Scintilla editor widget with some minor changes.

Q: I have added this cool feature to my copy of Anjuta - where do I send a patch ?

A: Send it to the developer's mailing list. It is a good idea to subscribe to the develeper's mailing list if you plan to do some hacking. You can find links here.

### 5. Using `Anjuta`

Q: What is the correct way of including the GTk header files in my applications ?

A: It depends on the GTK verion you are using. If you are using GTK 1.x, you should add the output of 'gtk-config --cflags' to your compiler flags. If you are using GTK 2.x, you'll need to use the command 'pkg-config --cflags gtk-2.0' instead.

Q: I want to organize my code into multiple directories.

A: This is curently not possible with the existing project manager. A future version of Anjuta will also hopefully have this ability.

Q: I want to add/customize the way programs are called.

A: See the menu option Settings->Commands. If you are curious about the variables you can use, have a look at /usr/share/anjuta/properties/anjuta.properties file. It contains a brief list of variables names and heir meanings. You can also use the tools editor under Settings->Tools to create and use your own tools.

Q: Anjuta crashes during printing/preview.

A: There are known issues with gnome-print. please upgrade gnome-print to the latest version.

Q: How do I copy/print messages that appear during build ?

A: Build->Save Build Messages

Q: What flag do I specify if I want to link my project to libxxx.a or libxxx.so ?

A: In general, to link against any external library which has a name lib[name].a or lib[name].so, you need to add '-l[name]' to linker flags. You can do this under Settings->Compiler and Linker Settings.

Q: What does this error message COLLECT 2: LD RETURN / EXIT STATES mean?

A: This means that the linker failed. This usualay happens when you do not link your application with the necessary libaries or object files.

Q: I cannot use names like 'my-project' for project names.

A: You can only use alphabets, numbers and the underscore character in project names.

Q: How do I add multiple files at once to my project or open multiple files at once? Adding/opening single file repeatedly is very tedious.

A: Press CTRL in the fileselector and it will enter multiple select mode. You can then select all the files to add and press OK. Ditto for opening files.

Q: How do I define another projects directory other than the default "~/Projects"?

A: In Settings->Preferences->General, you should be able to change the default projects directory.

Q: How do I add multiple build targets/modules/subdirectories?

A: First create the new sub-directory and and fill it with your own Makefile.am and other source files. Decide if you want to build this directory before the src/ module or after it. If the targets in your sub-directory depend on the target in src/ directory, you should build your directory before the src/ directory, otherwise you can build it after the src/ directory.

Then go to Project->Project Configuration ->Modules and add the directory in the appropriate entry box. All the directory names should be space separated in these entries. Also, add your module in only of the two entry boxes. lastly, save the project and run autogeneration from the Build menu.

Remember, you are responsible for maintaining the files in these extra sub-directories. A future version of Anjuta will have better GUI support for projects with multiple directories and targets.

Q: Loading is very slow on large projects.

A: This is probably due to the symbol browser. You can increase your loading speed by turning 'Build Symbol Browser automatically' and 'Update tags image automatically' off in Settings->general.

Note that this issue has largely been fixed in the current version of Anjuta so loading time should be tolerable for large projects even with the symbol and file browser building turned on.

Q: How do I change shortcuts for common commands ?

A: Just position your mouse on the menu item and press the key combination you want to associate it with.

Q: I cannot use a standard shortcut with Anjuta. All shortcuts seem to be messed up !

A: Exit from Anjuta, delete $HOME/.gnome/accels/anjuta and restart. This will restore the shortcut to the (sane) default values.

Q: Why don't you add file manipulation commands on the file pane like 'Rename', 'Delete', etc. ?

A: Because we feel that these commands are better off being in your file manager and not in the IDE. However, you can always try and convince us otherwise ;-)

Q: Project wizards do not work on RH8.

A: This might be a configuration or package version problem. Please send detailed bug reports to the devel mailing list or file a bug report.

Q: Context help does not work/is disabled.

A: You probably do not have Devhelp installed. please install DevHelp.

Q: How do I supply my own compiler/linker flags to my program ?

A: You can set your flags using Settings->Compiler and Linker flags.

Q: I can't stop the debuger/debugger hangs.

A: You are probably trying to debug a multi-theaded program on Linux. This is a known issue.

Q: Find in files/Show Usage do not work properly.

A: You probably do not have GNU grep installed. GNU grep is required for the Find functionality to work corectly. Please install GNU Grep.

Note that it is quite easy to customize your own grep command by adding a new tool using the Tools Editor.

Q: How do a add files written in a different language to my project ?

A: You'll have to manually edit your Makefile.am to add the necessary rules. But before that, open Project->Configure Project-> Build Files and disable overwriting of Makefile.am so that your changes don't get lost.

Q: I imported a project using the Project Import feature. Now, when I add source files to the project, I find that they no longer compile.

A: You'll have to manually edit your Makefile.am to add the necessary files. This is because Anjuta is currently not smart enough to parse your Makefiles and make the addition of the source files without risking damage to your build system.

Q: The project/messages panes keep shrinking back to zero size ?

A: This is a known problem with Xenophilia based themes when the window manager is not set to remember all window positions automatically. See if changing the GTK theme works.

Q: I already have a projct tree. How do I use Anjuta ?

A: Use File->Import Project. However, you will have to manage your Makefiles manually. A future version of Anjuta will have better project importing for Autotools based projects, and hopefully projects of other types as well.

Q: I hate the editor fonts/colors/XYZ feature. How do I have better control of editor preferences ?

A: Go to Settings->Preferences. You can find most of the editor preferences unset the 'Styles' and 'Editor' tabs. However, not all preferences are available through the GUI. If you want more control over the editor, open $HOME/.anjuta/session.properties, $HOME/.anjuta/user.properties and $prefix/share/anjuta/properties/anjuta.properties and edit them by hand. Make sure that Anjuta if not running when you do this, however !

This FAQ was compiled by Andy Piper(`<andy.piper@freeuk.com>`) and Biswapesh Chatopadhyay (`<biswapesh_chatterjee@tcscal.co.in>`). Please send all comments and suggestions regarding the FAQ to the authors. For more information on `Anjuta` or the `Anjuta` mailing lists, please visit the Anjuta Home Page.