English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
problem with LACAML and static linking
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2009-01-28 (17:17)
From: Erick Matsen <matsen@b...>
Subject: Re: [Caml-list] problem with LACAML and static linking
Hello Stephane (and the rest of the ocaml community)---

Thank you for your input here.

I do have libgfortran.a, but I might note that it's in
/usr/lib/gcc/i486-linux-gnu/4.3/ rather than /usr/lib. This is in contrast to
liblapack.a, etc, which just live in /usr/lib. This makes me wonder if this is
somehow the problem.

I did try (naievely!) copying libgfortran.a over to /usr/lib. I also added
/usr/lib/gcc/i486-linux-gnu/4.3/ to my list of directories. No luck yet. Also

$ ldd /usr/lib/liblapack.so
	linux-gate.so.1 =>  (0xffffe000)
	libblas.so.3gf => /usr/lib/libblas.so.3gf (0xb775d000)
	libgfortran.so.3 => /usr/lib/libgfortran.so.3 (0xb76ab000)
	libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7684000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7677000)
	libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb751c000)
	/lib/ld-linux.so.2 (0x80000000)

$ locate linux-gate.a
$ locate libblas.a
$ locate libgfortran.a
$ locate libm.a
$ locate libgcc_s.a
$ locate libc.a

So everything there seems to be OK. Also

# ldd /usr/lib/gcc/i486-linux-gnu/4.3/libgfortran.so
	linux-gate.so.1 =>  (0xffffe000)
	libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7ed9000)
	libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7d7e000)
	/lib/ld-linux.so.2 (0x80000000)

Here is my compile line

ocamlopt \

# source directories:
    -I /home/matsen/ocaml/bio/ -I /home/matsen/ocaml/common/  -I
/usr/lib/ocaml/3.10.2/pcre/ -I /usr/lib/ocaml/3.10.2/glpk/ -I
/usr/lib/ocaml/3.10.2/gsl/ -I /usr/lib/ocaml/3.10.2/lacaml/ -I
/usr/lib/gcc/i486-linux-gnu/4.3/ \

# cc directives
    -ccopt -static  -ccopt -lgfortran    -ccopt
-L/home/matsen/ocaml/bio/ -ccopt -L/home/matsen/ocaml/common/ -ccopt
-L/usr/lib/ocaml/3.10.2/pcre/ -ccopt -L/usr/lib/ocaml/3.10.2/glpk/
-ccopt -L/usr/lib/ocaml/3.10.2/gsl/ -ccopt
-L/usr/lib/ocaml/3.10.2/lacaml/ -ccopt
-L/usr/lib/gcc/i486-linux-gnu/4.3/    pcre.cmxa bigarray.cmxa
unix.cmxa gsl.cmxa lacaml.cmxa   -o placer \

# my code
/home/matsen/ocaml/bio/biobase.cmx base.cmx minimization.cmx
integration.cmx /home/matsen/ocaml/bio/liketree.cmx liketreeFuns.cmx
/home/matsen/ocaml/common/number.cmx /home/matsen/ocaml/common/mat.cmx
/home/matsen/ocaml/bio/diagd.cmx /home/matsen/ocaml/bio/qtree.cmx
/home/matsen/ocaml/bio/alignmentLike.cmx placerFuns.cmx placer.cmx

Thank you again for your help. If we can get this running, I'll
definitely acknowledge your help in our paper, which is in the long
run about understanding the distribution of phytoplankton in the ocean
and ramifications for carbon cycling (very relevant for climate