Ok, that explanation helped me to figure it out. I tried to run DLS with strace. Here is relevant part of the output:
readlink("/proc/self/exe", "/home/teddy/Pobrane/DLS/DLS_x64_"..., 512) = 39
mkdir("/home/teddy/Documents/DLS/", 0700) = -1 ENOENT (No such file or directory)
chdir("/home/teddy/Documents/DLS/") = -1 ENOENT (No such file or directory)
exit_group(-1) = ?
mkdir fails because I don't have Documents subdirectory (I'v got Polish
locale and it's ~/Dokumenty/ ony my system :D ). It's should be easy fix (temporary
workaround is to create ~/Documents directory manually).
Another thing is you implemented XDG spec incorrectly. If XDG_DATA_HOME is
not set or empty (usually it is) you should use $HOME/.local/share This way
you won't clutter user's home/Documents directory :) I suppose this is the best solution since it does not depend on system locale.