I use Pardus GNU/Linux and I prepare an unofficial PiSi(*) repository for Pardus. Unfortunately enet-old or similar one is not available for Pardus and I prepared enet12 package. Since other applications may use Enet 1.3, I want to keep it and I installed Enet 1.2 to a non-standart directory (/opt/enet12) Your solution works. But instead of tinsert(package.libpaths, libraries_dir.."/opt/enet12/lib"), I used tinsert(package.libpaths, "/opt/enet12/lib") Because, if I use previous one, something like "-L"../../../libraries//opt/enet12/lib"" is added to pyrogenesis.make. Since I changed, only "-L"/opt/enet12/lib"" is added and I think the right one is that. After compiling, "ldd pyrogenesis" says that libenet.so.0 => not found So I used LD_LIBRARY_PATH=/opt/enet12/lib ./pyrogenesis and it works. (*) PiSi is Pardus's package management system.