CAPS Universe documentation  1.0.4
All you need to know to be successful
caps-report: Extract Setup and Run-Time Information

In order to create a helpful bug report more information than the bug description is required. This tool tries to collect this information. Its output is intended to be added to the bug report.

Main goal is to output the current run-time information versus the static information when compiled and linked.

At run-time:

  • the really used helper library versions, versus the (expected) linked-in
  • environment variables with influence
  • supported MIME types
  • directory setup
  • directory permissions

A typical run looks like:

$ caps-report
Using libcapsbase-1.1.0
Environment checks start
Environment checks done
libcapsbase seems compiled with DEBUG enabled
Run-time directory setup checks start
Compiled-in 'CAPS Configuration Directory' is: '/etc/caps'
Compiled-in 'CAPS Printer Driver Database Directory' is: '/usr/share/caps/drivers'
Compiled-in 'CAPS Printer Driver Configuration Directory' is: '/etc/caps/drivers'
Compiled-in 'CAPS Printer Driver Executables Directory' is: '/usr/libexec/caps'
Compiled-in 'CAPS Printer Device Database Directory' is: '/var/lib/caps'
Run-time directory setup checks done
Permission checks start
Permission checks done
Using libcapstable-1.0.1
Using libcapsinif-1.0.1
Using libcapsmime
Using libcapsppd-1.1.0
Using libcapsclient-1.0.0
Using libcapsprovider-1.0.0
Using libcapsraster-1.0.0
 It supports the following MIME types:
 - application/pdf
 - application/octet-stream
Using libcapsdriver-1.0.0
Using libc-2.31
Compiled with GNU C compiler 9.4.0
 architecture is: x86 64 bit
 long int: 8 bytes, int: 4 bytes
 little endian byte order
 for a Unix/Linux based system

In this case, the setup conforms to the configuration.

It looks different if the compile time expectations differ from the run-time:

$ caps-report
Using libcapsbase-1.1.0
        But expecting libcapsbase-1.0.99
Environment checks done
libcapsbase seems compiled with DEBUG enabled
Compiled-in 'CAPS Configuration Directory' is: '/etc/caps'
Compiled-in 'CAPS Printer Driver Database Directory' is: '/usr/share/caps/drivers'
Compiled-in 'CAPS Printer Driver Configuration Directory' is: '/etc/caps/drivers'
Compiled-in 'CAPS Printer Driver Executables Directory' is: '/usr/libexec/caps'
Compiled-in 'CAPS Printer Device Database Directory' is: '/var/lib/caps'
Run-time directory setup checks done
Permission checks done
Using libcapstable-1.0.1
        But expecting libcapstable-1.0.99
Using libcapsinif-1.0.2
        But expecting libcapsinif-1.0.99
Using libcapsppd-1.2.0
        But expecting libcapsppd-1.0.99
Using libcapsclient-1.0.1
        But expecting libcapsclient-0.99.0
Using libcapsprovider-1.0.1
        But expecting libcapsprovider-0.99.0
Using libcapsraster-1.0.1
        But expecting libcapsraster-1.0.99
[…]

Trouble running this tool

If you have trouble running the tool due to the use of the ASAN feature in one of its libraries and you see an error message like this:

ASan runtime does not come first in initial library list; you should
either link runtime to your application or manually preload it with LD_PRELOAD.

you can follow the workaround described in Address Sanitizer Troubleshooting.

Or build the tool itself with ASAN enabled instead:

CFLAGS="-fsanitize=address" ./configure && make && sudo make install