diff --git a/Makefile.dev b/Makefile.dev
index 3c5a9f1cbd241059f1aa1ecd9bd3b66984d0f339..ea7200e7601cc6ba7dd79d022fb9eaa652c7f1cd 100644
--- a/Makefile.dev
+++ b/Makefile.dev
@@ -79,18 +79,19 @@ WWWTEST=/import/www/DIST-TOOLS/SYNCHRONE/test
 HTTPTEST=http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/test
 
 
-OPAM_FILE=$(shell find  $(WWW)/opam-repository/packages -name opam -cmin -1 | sed -e 's/^./\U&/')
-OPAM_FILE_TEST=$(shell find  $(WWW)/test/opam-repository/packages -name opam -cmin -1 | sed -e 's/^./\U&/')
+OPAM_FILE=$(shell      find  $(WWW)/opam-repository/packages      -name opam | grep lutils | sort | tail -1 | sed -e 's/^./\U&/')
+OPAM_FILE_TEST=$(shell find  $(WWW)/test/opam-repository/packages -name opam | grep lutils | sort | tail -1 | sed -e 's/^./\U&/')
 OPAM_DIR=$(shell dirname $(OPAM_FILE))
 OFFICIAL_OPAM_DIR=/home/jahier/local/opam-repository/packages/lutils
 
+
 $(PACKNAME).tgz:
 	git archive --prefix=$(PACKNAME)/ -o $(PACKNAME).tgz HEAD
 
 $(WWW)/pool/$(PACKNAME).tgz: $(PACKNAME).tgz
-	mv $^ $@ 
+	cp $^ $@ 
 $(WWWTEST)/pool/$(PACKNAME).tgz: $(PACKNAME).tgz
-	mv $^ $@ 
+	cp $^ $@ 
 
 
 opam : $(WWW)/pool/$(PACKNAME).tgz
@@ -103,13 +104,18 @@ opam : $(WWW)/pool/$(PACKNAME).tgz
 opam-test : $(WWWTEST)/pool/$(PACKNAME).tgz
 	cd $(WWWTEST)/opam-repository/packages && \
 	oasis2opam  $(HTTPTEST)/pool/$(PACKNAME).tgz && \
-	cp ~/lutils/opam $(OPAM_FILE_TEST) && \
+	cp $(OPAM_FILE_TEST) $(PWD)/opam.oasis2opam  && \
+	diff -u $(PWD)/opam.oasis2opam $(PWD)/opam | \
+       grep -v opam.oasis2opam > $(PWD)/opam.diff &&\
+	diff $(PWD)/opam.diff $(PWD)/opam.diff.exp && \
+         cp $(PWD)/opam $(OPAM_FILE_TEST) || \
+         (echo "The opam file needs some update"; exit 2) && \
 	cd .. ; opam-admin check  && opam-admin make -g
 
 opam-pr:
 	cp $(OPAM_DIR) /home/jahier/local/opam-repository/packages/
 
-OPAM_FILE=$(shell find  $(WWW)/opam-repository/packages -name opam -cmin -1 | sed -e 's/^./\U&/')
+OPAM_FILE=$(shell find  $(WWW)/opam-repository/packages -name opam | head -1 | sed -e 's/^./\U&/')
 OPAM_DIR=`dirname $(OPAM_FILE)`
 opam-pr:
 	cp $(OPAM_DIR) /home/jahier/local/opam-repository/packages/
diff --git a/_oasis b/_oasis
index a490fa83ac16d296bbabc74b34a5328b5adead80..d9d6c1bbd8bccfe894b78053e6a135a80ccd5bbc 100644
--- a/_oasis
+++ b/_oasis
@@ -1,6 +1,6 @@
 OASISFormat: 0.4
 Name:        lutils
-Version:     1.47
+Version:     1.48
 Authors:     Erwan Jahier
 Maintainers: erwan.jahier@imag.fr
 License:     CeCILL
diff --git a/doc/version.tex b/doc/version.tex
index 78ce4e3d057c47fb079e7c94934fd00046f4146c..3d8f868e861270ee0dc7daeb358111e4a12006fc 100644
--- a/doc/version.tex
+++ b/doc/version.tex
@@ -1,4 +1,4 @@
-\newcommand{\version}{1.47}
-\newcommand{\sha}{5ccef6c}
+\newcommand{\version}{1.48}
+\newcommand{\sha}{1e357b2}
 \newcommand{\versionname}{none}
-\newcommand{\versiondate}{06-07-18}
+\newcommand{\versiondate}{18-10-18}
diff --git a/setup.ml b/setup.ml
index 7127ad3e0f4f8d52aa2b791833f42a8aaf936fff..523f74ef3e353190e3546a0d071a97576b32dadc 100644
--- a/setup.ml
+++ b/setup.ml
@@ -1,9 +1,9 @@
 (* setup.ml generated for the first time by OASIS v0.4.10 *)
 
 (* OASIS_START *)
-(* DO NOT EDIT (digest: 47b927d7c777c07448135f2fda8d07e9) *)
+(* DO NOT EDIT (digest: 165b8ff790ff149fb4ea96afed869f1f) *)
 (*
-   Regenerated by OASIS v0.4.10
+   Regenerated by OASIS v0.4.11
    Visit http://oasis.forge.ocamlcore.org for more information and
    documentation about functions used in this file.
 *)
@@ -6477,7 +6477,11 @@ module OCamlbuildCommon = struct
   open OASISTypes
 
 
-  type extra_args = string list
+  type args =
+    {
+      plugin_tags: string option;
+      extra: string list;
+    }
 
 
   let ocamlbuild_clean_ev = "ocamlbuild-clean"
@@ -6519,7 +6523,14 @@ module OCamlbuildCommon = struct
           ]
         else
           [];
-        args;
+
+        args.extra;
+
+        begin
+          match args.plugin_tags with
+          | Some t -> ["-plugin-tag"; Filename.quote t]
+          | None -> []
+        end;
 
         if bool_of_string (debug ()) then
           ["-tag"; "debug"]
@@ -6550,7 +6561,9 @@ module OCamlbuildCommon = struct
     (* Run if never called with these args *)
     if not (BaseLog.exists ~ctxt ocamlbuild_clean_ev extra_cli) then
       begin
-        OASISExec.run ~ctxt (ocamlbuild ()) (fix_args ["-clean"] extra_argv);
+        OASISExec.run
+          ~ctxt (ocamlbuild ())
+          (fix_args {extra = ["-clean"]; plugin_tags = None} extra_argv);
         BaseLog.register ~ctxt ocamlbuild_clean_ev extra_cli;
         at_exit
           (fun () ->
@@ -6582,7 +6595,7 @@ module OCamlbuildCommon = struct
         | [] ->
           dir
     in
-    search_args "_build" (fix_args [] extra_argv)
+    search_args "_build" (fix_args {extra = []; plugin_tags = None} extra_argv)
 
 
 end
@@ -6608,7 +6621,7 @@ module OCamlbuildPlugin = struct
   let cond_targets_hook = ref (fun lst -> lst)
 
 
-  let build ~ctxt extra_args pkg argv =
+  let build ~ctxt args pkg argv =
     (* Return the filename in build directory *)
     let in_build_dir fn =
       Filename.concat
@@ -6756,14 +6769,14 @@ module OCamlbuildPlugin = struct
     (* Run a list of target... *)
     run_ocamlbuild
       ~ctxt
-      (List.flatten (List.map snd cond_targets) @ extra_args)
+      {args with extra = List.flatten (List.map snd cond_targets) @ args.extra}
       argv;
     (* ... and register events *)
     List.iter check_and_register (List.flatten (List.map fst cond_targets))
 
 
-  let clean ~ctxt pkg extra_args  =
-    run_clean ~ctxt extra_args;
+  let clean ~ctxt pkg args  =
+    run_clean ~ctxt args;
     List.iter
       (function
          | Library (cs, _, _) ->
@@ -6794,7 +6807,7 @@ module OCamlbuildDocPlugin = struct
 
   type run_t =
     {
-      extra_args: string list;
+      args: args;
       run_path: unix_filename;
     }
 
@@ -6816,7 +6829,8 @@ module OCamlbuildDocPlugin = struct
           cs.cs_name^".docdir";
         ]
     in
-    run_ocamlbuild ~ctxt (index_html :: run.extra_args) argv;
+    run_ocamlbuild ~ctxt
+      {run.args with extra = index_html :: run.args.extra} argv;
     List.iter
       (fun glb ->
          match OASISFileUtil.glob ~ctxt (Filename.concat tgt_dir glb) with
@@ -6834,13 +6848,15 @@ module OCamlbuildDocPlugin = struct
 end
 
 
-# 6837 "setup.ml"
+# 6851 "setup.ml"
 open OASISTypes;;
 
 let setup_t =
   {
      BaseSetup.configure = InternalConfigurePlugin.configure;
-     build = OCamlbuildPlugin.build ["-use-ocamlfind"];
+     build =
+       OCamlbuildPlugin.build
+         {OCamlbuildCommon.plugin_tags = None; extra = ["-use-ocamlfind"]};
      test = [];
      doc = [];
      install = InternalInstallPlugin.install;
@@ -6855,7 +6871,7 @@ let setup_t =
        {
           oasis_version = "0.4";
           ocaml_version = Some (OASISVersion.VGreaterEqual "4.02");
-          version = "1.47";
+          version = "1.48";
           license =
             OASISLicense.DEP5License
               (OASISLicense.DEP5Unit
@@ -7255,8 +7271,8 @@ let setup_t =
           plugin_data = []
        };
      oasis_fn = Some "_oasis";
-     oasis_version = "0.4.10";
-     oasis_digest = Some "\235\021\204\007>\\j\2124C\251\165RWP\238";
+     oasis_version = "0.4.11";
+     oasis_digest = Some "\180;n\0216^d\220\199\217\164\169[-\003\170";
      oasis_exec = None;
      oasis_setup_args = [];
      setup_update = false
@@ -7264,7 +7280,7 @@ let setup_t =
 
 let setup () = BaseSetup.setup setup_t;;
 
-# 7268 "setup.ml"
+# 7284 "setup.ml"
 let setup_t = BaseCompat.Compat_0_4.adapt_setup_t setup_t
 open BaseCompat.Compat_0_4
 (* OASIS_STOP *)
diff --git a/src/META b/src/META
index 11e3d62a6f7f22385f65633a25783a2e3cbe94f7..3c05ca88eede8960cee961b94b41d45d49080a83 100644
--- a/src/META
+++ b/src/META
@@ -1,6 +1,6 @@
 # OASIS_START
-# DO NOT EDIT (digest: bf8172c86adedb3828b5e12fde134b83)
-version = "1.47"
+# DO NOT EDIT (digest: c22b7c3da2fdf3698667b5855935852c)
+version = "1.48"
 description = "shared by Verimag/synchronous tools (lustre, lutin, rdbg)."
 requires = "unix str camlp4 num"
 archive(byte) = "lutils.cma"
diff --git a/src/luciole.ml b/src/luciole.ml
index 9a1c0ccdd13e48bc1d77556b26e5826ff63e9413..b657001640a05490460fcb475400a8b68b2a00a6 100644
--- a/src/luciole.ml
+++ b/src/luciole.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 06/07/2018 (at 15:47) by Erwan Jahier> *)
+(* Time-stamp: <modified the 09/07/2018 (at 10:34) by Erwan> *)
 (*-----------------------------------------------------------------------
 ** This file may only be copied under the terms of the GNU Library General
 ** Public License
@@ -125,6 +125,7 @@ struct dro_desc_t {
 ";
     pn "#include \"stdlib.h\"";      
     pn "#include <stdio.h>";
+    pn "#include <string.h>";
 
     pn "typedef int _bool;";
     pn "typedef int _int;";
@@ -165,7 +166,8 @@ struct dro_desc_t {
     pn "}";
 
     pn "
-void _read_pragma(char b[]) {
+#define LINEMAXSIZE 256
+void _read_pragma(char b[LINEMAXSIZE]) {
    int s = 1;
 
    if (!strcmp(b,\"#quit\")) exit(0);
@@ -176,7 +178,7 @@ void _read_pragma(char b[]) {
 
 /* Standard Input procedures **************/
 _bool _get_bool(){
-   char b[];
+   char b[LINEMAXSIZE];
    _bool r = 0;
    int s = 1;
    char c;
@@ -192,7 +194,7 @@ _bool _get_bool(){
    return r;
 }
 _int _get_int(){
-   char b[];
+   char b[LINEMAXSIZE];
    _int r;
    int s = 1;
    char c;
@@ -209,7 +211,7 @@ _int _get_int(){
    return r;
 }
 _real _get_real(){
-   char b[];
+   char b[LINEMAXSIZE];
    _real r;
    int s = 1;
    char c;
diff --git a/src/lutilsVersion.ml b/src/lutilsVersion.ml
index b8a117a851a3b1fef4d7fd19373d34e1fb72cc2b..0c6a7d5d0a631fa3e2e815206cc45035ea54c0fe 100644
--- a/src/lutilsVersion.ml
+++ b/src/lutilsVersion.ml
@@ -1,2 +1,2 @@
-let str="1.47"
-let sha="5ccef6c"
+let str="1.48"
+let sha="1e357b2"