This seems to be common with the Linux version of ioquake, and in those cases, people suggest trying a test build:
This is a known issue with the 1.36 stable release for GNU/Linux x86_64.
Install a test build to fix it.
(Note that for me, the test builds link was down for a while as I was writing this post. Just try again later.)
Another solution is given here:
As I could read in some forums, a lot of Linux users are having the same bug. I fixed it uninstalling all the ioquake3 packages and installing the quake3 official packages.
If you have a 64-bit system, the following reaction at the end of that same thread offers another, more convoluted, alternative:
Unfortunately we don’t currently have an ioquake3 test build for 32bit systems, surprisingly it turns out to be easier to cross-compile a build for 32bit windows under 64bit Linux than to do so for a 32bit Linux!
You could use this shell script to download and install a version of ioquake3 from git. Just change the
BUILD_CLIENT="1" and you can also change the
COPYDIR to wherever you’d like the ioquake3 installation to go. You’ll also need various prerequisites to compile like make, gcc, et cetera.
Here's an interesting blog entry, where the author explains what he did in order to get it running. His introduction to the problem:
Interestingly, the Linux 64bit version of ioquake3 only kind-of works. Basically, the engine will start and everything will render correctly, but bot's don't load at all.
I did not look at the code, but it is possible this is a compiler error for the binaries that are on the ioquake3 site for download. My thinking behind this is because of the log errors when adding a bot seem too wrong and because my compile from source version does work. The console errors look like:
Error: file/bots/default_c.c line 2: file charsh" not found
Warning: couldn't find skill 5 in bots/default_c.c
I believe charsh should be chars.h. Anyway, let's fix this up so we can play Quake 3 :]
You can compile the fixes yourself, or download them directly from here.
Credit goes to tiggeron.blogspot.com (I wasn't able to find a username).