Hi, installwatch uses an implementation of canonicalize using realpath. The GLibC has canonicalize_file_name, which malloc()s a buffer. You have to define _GNU_SOURCE at the top of the file, before including any headers. Then you can do #ifdef __GLIBC__ use canonicalize_file_name #endif I suggest to reimplement the current canonicalize to always allocate a buffer with malloc (or use the above function on glibc systems), and make the caller free it. Thanks, Marcus