# Anjuta FAQ

2001
Andy Piper
2002
Biswapesh Chatopadhyay

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You may obtain a copy of the GNU Free Documentation License from the Free Software Foundation by visiting their Web site or by writing to: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any GNOME documentation, and those trademarks are made aware to the members of the GNOME Documentation Project, the names have been printed in caps or initial caps.

This is version 1.2 of the Anjuta FAQ

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

### General Information

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

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

Is here/will there ever be Anjuta for Windows ?

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

How about a GNOME2 version of Anjuta ?

A GNOME2 port was started but it has stagnated due to lack of interest. Besides, there is already Anjuta2 (a completely different project) which works on GNOME2. However, the Anjuta development team welcomes any effort to port Anjuta to GNOME2.

### Building Anjuta

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

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.

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

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.

There is no configure script in CVS version !

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.

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

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.

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

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.

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

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.

### Installing Anjuta

Can I install Anjuta locally, in my home directory?

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

Installation hangs while executing create_global_tags.sh.

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.

I get lots of jade errors while building documentation.

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.

### Getting Involved with Anjuta development

Why doesn't Anjuta have my favourite XYZ feature ?

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.

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

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.

Anjuta crashes/does strange things when I do this.

File a bug report.

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

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.

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

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.

I am a hacker - should I start with Anjuta or Anjuta2 ?

Start with Anjuta2. You will need a full GNOME2 installation. Asking quesitons on gnome-devtools list is a good way to start. Currently, Anjuta2 is missing lots of Anjuta features. A good way to get involved is to port you favourite missing feature from Anjuta to Anjuta2.

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

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.

### Using Anjuta

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

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.

I want to organize my code into multiple directories.

This is curently not possible with the existing project manager. Anjuta2 will have the ability to organize code into multiple subdirectories. A future version of Anjuta will also hopefully have this ability.

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

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.

Anjuta crashes during printing/preview.

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

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

Build->Save Build Messages

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

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.

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

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

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

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

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.

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.

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

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

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

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.

Loading is very slow on large projects.

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.

How do I change shortcuts for common commands ?

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

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

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

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

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 ;-)

Project wizards do not work on RH8.

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

Context help does not work/is disabled.

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

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

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

I can't stop the debuger/debugger hangs.

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

Find in files/Show Usage do not work properly.

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.

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

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.

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.

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.

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

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.

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

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.

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

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 !

Should I use Anjuta 1 or Anjuta 2 ?

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.

Ultimately, it is all about what works best at a particular time for a particular scenario for you. You'll need to use both and make an informed decision.

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.