demexp-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Demexp-dev] Instructions to compile demexp on Ubuntu Feisty Fawn (7.04)


From: David MENTRE
Subject: [Demexp-dev] Instructions to compile demexp on Ubuntu Feisty Fawn (7.04) (and other Debian systems using OCaml 3.09)
Date: Sat, 15 Sep 2007 16:35:33 +0200
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux)

Hello,

You'll find below instructions and needed patches to compile demexp 0.8
on Ubuntu Feisty Fawn (7.04). Those instructions should help for any
Linux system (especially Debian systems) using OCaml 3.09. There are
specific patches for this release of OCaml. Let me know of any issue.

The compiled client and server work but there is an issue with the
translation with the demexp GTK client. I won't look further at this
issue. The issue might be related to the error I have when compiling
ocaml-gettext. 

You can find pre-patched demexp sources and needed patches (in doc/
directory) here:
  
http://www.linux-france.org/~dmentre/demexp/latest-src/demexp-0.8-ubuntu-feisty.tar.gz


Note on modifications: the most important modification I had to do on
demexp sources was to add libraries libtasn1, libgrcypt, libgpg-error
when compiling the servers. I really don't understand why. I anybody has
an explanation...

Yours,
d.

PS: Thank you Serge for raising issues more than a year ago:
  http://thread.gmane.org/gmane.politics.organizations.demexp.devel/887


Compilation of demexp 0.8 on Ubuntu Feisty (7.04)
=================================================

* Install packages :
    ocaml ocaml-native-compilers ocaml-findlib liblablgtk2-ocaml-dev
    nowebm libocamlnet-ocaml-dev gettext libcamomile-ocaml-dev
    librpc-ocaml-dev cduce make gcc libc6-dev sed tetex-bin tetex-extra 
    latex-ucs libbz2-dev libfileutils-ocaml-dev

* Install Gz library

 $ wget http://ocamlplot.sourceforge.net/gz-0.5.7.tar.gz

 $ tar zxf gz-0.5.7.tar.gz

 $ cd gz-0.5.7

 $ ./configure --with-findlib

 $ make all

 $ ocamlfind install gz META {gz,bz}.{cmi,cmx,mli} gz.{a,cma,cmxa} \
      dllmlgz.so libmlgz.a

 [ The 'make install' target does not work, I don't know why. I've sent
   a bug report to gz's authors. ]


* Install ocaml-ast-analyze

 $ wget http://sylvain.le-gall.net/download/ocaml-ast-analyze-0.1.1.tar.gz

 $ tar zxf ocaml-ast-analyze-0.1.1.tar.gz

 $ cd cd ocaml-ast-analyze-0.1.1/

 $ patch -p1 --dry-run < ocaml-ast-analyze-0.1.1-ocaml-3.09.2.patch 

[ This patch is provided next to this file or email. ]

 $ ./configure --libdir=/usr/local/lib/ocaml/3.09.2/

 $ make

 $ make install


* Install ocaml-gettext

 $ wget http://sylvain.le-gall.net/download/ocaml-gettext-0.2.0.tar.gz

 $ tar zxf ocaml-gettext-0.2.0.tar.gz

 $  cd ocaml-gettext-0.2.0/

 $ ./configure --disable-doc --disable-bench \
                     --libdir=/usr/local/lib/ocaml/3.09.2/

 $ make

[ 'make' does the installation. However, there is an error at the
  end. This error does not seem to trigger any issue.

ocamlfind ocamlc   -package "gettext.extension camomile camomile"   -c 
gettextCamomile.ml
findlib: [WARNING] Package gettext has multiple definitions in 
/home/david/demexp/locally-installed/ocaml-gettext-0.2.0/build/lib/gettext/META,
 /usr/local/lib/ocaml/3.09.2/gettext/META
File "gettextCamomile.ml", line 26, characters 0-13:
Unbound module Camomile
]

* Install config_file

 $ wget http://download.gna.org/cameleon/config_file_0.1.tar.gz

 $ tar zxf config_file_0.1.tar.gz 

 $ cd config_file-0.1/

 $ ./configure

 $ chmod 644 master.Makefile

    Edit master.Makefile and modify INSTALLDIR to install config_file
    where you want (configure script is buggy). In my case:
       INSTALLDIR=/usr/local/lib/ocaml/3.09.2/config_file

 $ make all

 $ make install


* Install demexp

  [I choose to install it using stow, so don't forget to install the stow
   package.]

 $ patch -p1 --dry-run \
      < /home/david/demexp/docs/ubuntu-feisty-demexp-0.8.patch 

 $ ./configure --prefix /usr/local/stow/demexp-0.8-feisty/ --no-web

 $ make

 $ make install

  The compiled version works but the interface is not translated. I
  don't know why.

-- 
GPG/PGP key: A3AD7A2A David MENTRE <address@hidden>
 5996 CC46 4612 9CA4 3562  D7AC 6C67 9E96 A3AD 7A2A

diff -r 368dc1bbf5f5 config/Makefile.inc
--- a/config/Makefile.inc       Sun Mar 25 16:07:14 2007 +0200
+++ b/config/Makefile.inc       Sat Sep 15 15:58:30 2007 +0200
@@ -359,15 +359,20 @@ srv/demexp-server.ml: srv/demexp-server.
 
 ### native code
 srv/demexp-server: $(SRVOBJ)
-       $(OCAMLOPT) $(SRV_OCAMLOPTFLAGS) -o $@ $(SRV_CMXALIBS) $^
+       $(OCAMLOPT) $(SRV_OCAMLOPTFLAGS)  \
+                -cclib -ltasn1 -cclib -lgcrypt -cclib -lgpg-error \
+                -o $@ $(SRV_CMXALIBS) $^
 
 srv/demexp-server.static: $(SRVOBJ)
        $(OCAMLOPT) $(SRV_OCAMLOPTFLAGS) -ccopt $(STATIC) \
+                -cclib -ltasn1 -cclib -lgcrypt -cclib -lgpg-error \
                -o $@ $(SRV_CMXALIBS) $^
 
 ## bytecode
 srv/demexp-server.bc: $(SRVCMO)
-       $(OCAMLC) -custom -dllib pcre_stubs -ccopt $(STATIC) -cclib -lpcre \
+       $(OCAMLC) -custom -dllib pcre_stubs -ccopt $(STATIC) \
+                -cclib -ltasn1 -cclib -lgcrypt -cclib -lgpg-error \
+                -cclib -lpcre \
                $(SRV_OCAMLCFLAGS) -o $@ $(SRV_CMALIBS) $^
 
 ## gtk2 client
@@ -413,6 +418,7 @@ srv/example-demexp-base.xml: srv/demexp.
 ## install
 
 install: 
+       if test -d $(PREFIX); then : ; else $(MKDIR) $(PREFIX); fi
        if test -d $(BINDIR); then : ; else $(MKDIR) $(BINDIR); fi
        if test -d $(MANDIR); then : ; else $(MKDIR) $(MANDIR); fi
        if test -d $(MANDIR)/man$(MANEXT); then : ; \
diff -Nur ocaml-ast-analyze-0.1.1/CHANGELOG 
ocaml-ast-analyze-0.1.1-patched/CHANGELOG
--- ocaml-ast-analyze-0.1.1/CHANGELOG   2005-04-16 18:39:08.000000000 +0200
+++ ocaml-ast-analyze-0.1.1-patched/CHANGELOG   2007-09-15 15:15:34.000000000 
+0200
@@ -1,3 +1,7 @@
+v 0.1.2 :
+  * Don't search for camlidl in configure, camlidl is not used (Closes: #60),
+  * Compile for ocaml 3.09.0
+
 v 0.1.1 :
   * Add website/ : generate some pages to present ocaml-ast-analyze.
 
diff -Nur ocaml-ast-analyze-0.1.1/configure.in 
ocaml-ast-analyze-0.1.1-patched/configure.in
--- ocaml-ast-analyze-0.1.1/configure.in        2005-04-16 18:39:40.000000000 
+0200
+++ ocaml-ast-analyze-0.1.1-patched/configure.in        2007-09-15 
15:15:34.000000000 +0200
@@ -12,7 +12,7 @@
        AC_HELP_STRING([--with-localedir=dir], [Location of the locale dir ( 
default is /usr/share/locale and /usr/local/share/locale )]),
        LOCALEDIR=$LOCALEDIR "\"$withval\";", LOCALEDIR="\"/usr/share/locale\"; 
\"/usr/local/share/locale\"")
 
-VERSION=0.1.1
+VERSION=0.1.2
 DATE=`date`
 
 # Check for Ocaml compilers
@@ -122,11 +122,6 @@
         AC_MSG_ERROR(Cannot find camlp4.)
 fi
 
-AC_CHECK_PROG(CAMLIDL,camlidl,camlidl,no)
-if test "$CAMLIDL" = no ; then
-        AC_MSG_ERROR(Cannot find camlidl.)
-fi
-
 AC_CHECK_PROG(OCAMLMKLIB,ocamlmklib,ocamlmklib,no)
 if test "$OCAMLMKLIB" = no ; then
         AC_MSG_ERROR(Cannot find ocamlmklib.)
@@ -147,7 +142,6 @@
 AC_SUBST(OCAMLWIN32)
 AC_SUBST(OCAMLFIND)
 AC_SUBST(OCAMLP4)
-AC_SUBST(CAMLIDL)
 AC_SUBST(OCAMLMKLIB)
 AC_SUBST(EXE)
 AC_SUBST(LOCALEDIR)
diff -Nur ocaml-ast-analyze-0.1.1/libast-analyze-ocaml/META 
ocaml-ast-analyze-0.1.1-patched/libast-analyze-ocaml/META
--- ocaml-ast-analyze-0.1.1/libast-analyze-ocaml/META   2005-02-03 
01:46:18.000000000 +0100
+++ ocaml-ast-analyze-0.1.1-patched/libast-analyze-ocaml/META   2007-09-15 
15:15:43.000000000 +0200
@@ -1,4 +1,4 @@
-version = "0.1"
+version = "0.1.1-patched-for-ocaml-3.09.2"
 predicates = ""
 requires = "camlp4.gramlib" 
 archive(byte) = "pr_ast_analyze.cmo" 
diff -Nur ocaml-ast-analyze-0.1.1/libast-analyze-ocaml/pr_ast_analyze.ml 
ocaml-ast-analyze-0.1.1-patched/libast-analyze-ocaml/pr_ast_analyze.ml
--- ocaml-ast-analyze-0.1.1/libast-analyze-ocaml/pr_ast_analyze.ml      
2005-01-11 01:16:37.000000000 +0100
+++ ocaml-ast-analyze-0.1.1-patched/libast-analyze-ocaml/pr_ast_analyze.ml      
2007-09-15 15:15:39.000000000 +0200
@@ -75,16 +75,18 @@
         ctyp t c1
     | TyQuo (loc,str) -> 
         t
-    | TyRec (loc,b,lst) -> 
+    | TyRec (loc,lst) -> 
         fold ( 
           fun t (loc,str,b,c1) -> 
             ctyp t c1 
           ) t lst
-    | TySum (loc,b,lst) -> 
+    | TySum (loc,lst) -> 
         fold ( 
           fun t (loc,str,lst) -> 
             fold ctyp t lst
           ) t lst
+    | TyPrv (loc, c1) ->
+        ctyp t c1
     | TyTup (loc,lst) -> 
         fold ctyp t lst
     | TyUid (loc,str)-> 
diff -Nur ocaml-ast-analyze-0.1.1/libast-analyze-ocaml/pr_ast_dump.ml 
ocaml-ast-analyze-0.1.1-patched/libast-analyze-ocaml/pr_ast_dump.ml
--- ocaml-ast-analyze-0.1.1/libast-analyze-ocaml/pr_ast_dump.ml 2005-01-11 
01:16:37.000000000 +0100
+++ ocaml-ast-analyze-0.1.1-patched/libast-analyze-ocaml/pr_ast_dump.ml 
2007-09-15 15:15:41.000000000 +0200
@@ -108,10 +108,9 @@
       fprintf ppf "TyQuo(@[%a,@ address@hidden)" 
       ast_loc loc
       str
-  | TyRec (loc,b,lst) -> 
-      fprintf ppf "TyRec(@[%a,@ %B,@ address@hidden)" 
+  | TyRec (loc,lst) -> 
+      fprintf ppf "TyRec(@[%a,@ address@hidden)" 
       ast_loc loc
-      b
       (
         ast_list ( 
           fun ppf (loc,str,b,c1) -> 
@@ -122,10 +121,9 @@
             ast_ctyp c1 
           )
       ) lst
-  | TySum (loc,b,lst) -> 
-      fprintf ppf "TySum(@[%a,@ %B,@ address@hidden)" 
+  | TySum (loc,lst) -> 
+      fprintf ppf "TySum(@[%a,@ address@hidden)" 
       ast_loc loc
-      b
       (
         ast_list ( 
           fun ppf (loc,str,lst) -> 
@@ -135,6 +133,10 @@
             (ast_list ast_ctyp) lst
           )
       ) lst
+  | TyPrv (loc,c1) ->
+      fprintf ppf "TyPrv(@[%a,@ address@hidden)"
+      ast_loc loc
+      ast_ctyp c1
   | TyTup (loc,lst) -> 
       fprintf ppf "TyTup(@[%a,@ address@hidden)"
       ast_loc loc
diff -Nur ocaml-ast-analyze-0.1.1/TopMakefile.in 
ocaml-ast-analyze-0.1.1-patched/TopMakefile.in
--- ocaml-ast-analyze-0.1.1/TopMakefile.in      2005-01-11 23:46:51.000000000 
+0100
+++ ocaml-ast-analyze-0.1.1-patched/TopMakefile.in      2007-09-15 
15:15:34.000000000 +0200
@@ -35,7 +35,6 @@
 OCAMLFIND    = @OCAMLFIND@
 OCAMLP4      = @OCAMLP4@
 OCAMLMKLIB   = @OCAMLMKLIB@
-CAMLIDL      = @CAMLIDL@
 OCAMLYACC    = @OCAMLYACC@
 OCAMLLEX     = @OCAMLLEX@
 EXE          = @EXE@

reply via email to

[Prev in Thread] Current Thread [Next in Thread]