diff --git a/Makefile.generating b/Makefile.generating
index b98dc5e96ebec884e0559f3d21522b5b5d53c8f9..5aeabb3e2bab9cf4e171db282b4f97205c5ad26e 100644
--- a/Makefile.generating
+++ b/Makefile.generating
@@ -31,13 +31,13 @@ tests/ptests_config: Makefile.generating share/Makefile.config
 	$(RM) $@
 	$(TOUCH) $@
 	$(ECHO) "DEFAULT_SUITES=$(PLUGIN_TESTS_LIST)" >> $@
-	$(ECHO) "TOPLEVEL_PATH=bin/toplevel.$(OCAMLBEST)$(EXE)" >> $@
+	$(ECHO) "TOPLEVEL_PATH=$(FRAMAC_ROOT_SRCDIR)/bin/toplevel.$(OCAMLBEST)$(EXE)" >> $@
 	$(ECHO) "OCAMLRUNPARAM=" >> $@
-	$(ECHO) "FRAMAC_SESSION=." >> $@
-	$(ECHO) "FRAMAC_SHARE=./share" >> $@
-	$(ECHO) "FRAMAC_PLUGIN=./lib/plugins" >> $@
-	$(ECHO) "FRAMAC_PLUGIN_GUI=./lib/plugins/gui" >> $@
-	$(ECHO) "FRAMAC_LIB=./lib/fc" >> $@
+	$(ECHO) "FRAMAC_SESSION=$(FRAMAC_ROOT_SRCDIR)" >> $@
+	$(ECHO) "FRAMAC_SHARE=$(FRAMAC_ROOT_SRCDIR)/share" >> $@
+	$(ECHO) "FRAMAC_PLUGIN=$(FRAMAC_ROOT_SRCDIR)/lib/plugins" >> $@
+	$(ECHO) "FRAMAC_PLUGIN_GUI=$(FRAMAC_ROOT_SRCDIR)/lib/plugins/gui" >> $@
+	$(ECHO) "FRAMAC_LIB=$(FRAMAC_ROOT_SRCDIR)/lib/fc" >> $@
 	$(CHMOD_RO) $@
 
 ALL_LIBRARY_NAMES=$(shell ocamlfind query -r -p-format $(LIBRARY_NAMES) $(LIBRARY_NAMES_GUI))
diff --git a/src/kernel_services/cmdline_parameters/cmdline.ml b/src/kernel_services/cmdline_parameters/cmdline.ml
index 4fb1fe39b1174c208bfbe293d73e1b50c95b1dad..aee2fb64e6cba33139387c964db365fd8df2bdd5 100644
--- a/src/kernel_services/cmdline_parameters/cmdline.ml
+++ b/src/kernel_services/cmdline_parameters/cmdline.ml
@@ -268,10 +268,10 @@ exception Cannot_parse of string * string
 let raise_error name because = raise (Cannot_parse(name, because))
 
 let error name msg =
-  let bin_name = Sys.argv.(0) in
+  let bin_name = Filepath.Normalized.of_string Sys.argv.(0) in
   Kernel_log.abort
-    "option `%s' %s.@\nuse `%s -help' for more information."
-    name msg bin_name
+    "option `%s' %s.@\nuse `%a -help' for more information."
+    name msg Filepath.Normalized.pretty bin_name
 
 let warning name msg =
   Kernel_log.warning