# 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 ?
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: Where is the GNOME2 version of Anjuta ?
  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 am a hacker - should I start with Anjuta or Anjuta2 ?
  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 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: 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: 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.
  Q: Should I use Anjuta 1 or Anjuta 2 ?

### 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.

### 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.

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: Where is the GNOME2 version of Anjuta ?

A: Anjuta is being re-written for GNOME2. the GNOME2 version is called Anjuta2 and shares virtually no code with Anjuta. If you want to know details, post to the gnome-devtools mailing list.

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.

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 am a hacker - should I start with Anjuta or Anjuta2 ?

A: Start with Anjuta2. You will need a full GNOME2 installation. Asking quesitons on gnom-devtools list is a good way to start.

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. Anjuta2 will have the ability to organize code into multiple subdirectories.

Q: I want to 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.

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.

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.

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: 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.

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: 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.

Q: I hate the editor fonts/colors.

A: So change them ! Go to Settings->Preferences->Styles.

Q: Should I use Anjuta 1 or Anjuta 2 ?

A: Currently, Anjuta is more usable than Anjuta2. However, most of the development effort is concentrated on Anjuta2, so if you're looking for powerful new features, Anjuta2 is the likely candidate for implementation. Also, Anjuta2 is a full GNOME2 application while Anjuta is dependent on GNOME1 libraries. For long-term investment, Anjuta2 is a better option.

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.