The critical thing is to make sure that the most recently released program is loaded first in your mod_perl startup file. Of the example programs mentioned above, Gossamer Forum 1.2.2 and Gossamer Mail 2.2.2 were released at the same time, both after Community 1.0.1, which was released after Links SQL 2.1.2. So, the order we'll use is: GMail -> GForum -> Community -> Links SQL. If Community 1.0.2 was released (and no new versions of other programs), the order would change to Community -> GMail -> GForum -> Links SQL. A new Links SQL release after that would change the order to Links SQL -> Community -> GMail -> GForum, and so on.
I should point out that it is not possible to run different versions of the same product under mod_perl - specifically, you cannot have both Links SQL 2.1.2 and 2.2.0 under the same mod_perl installation. Multiple installations of the same version - in other words, multiple 2.1.2 installations or multiple 2.2.0 installations - are okay.
To ensure that the library paths are searched in the correct order, you should combine all the "use lib" lines into a single command, ordered appropriately from newest to eldest program library path:
Following this, you want to load each program's mod_perl file:
Note that the above calls are _not_ in any particular order - the order of these calls is not important, it is only the 'use lib' command above that needs to specify the program library paths in the correct order.
A common mistake is in using a configuration such as:
use lib '/path/to/gforum/admin';
use lib '/path/to/community/private/lib';
use lib '/path/to/linkssql/admin';