caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gerd Stolpmann <info@gerd-stolpmann.de>
To: Johann Spies <jspies@sun.ac.za>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Distributing programs
Date: 19 May 2003 16:01:11 +0200	[thread overview]
Message-ID: <1053352872.18085.238.camel@ares> (raw)
In-Reply-To: <20030519133738.GA6485@sun.ac.za>

Am Mon, 2003-05-19 um 15.37 schrieb Johann Spies:
> I have developed a program on Debian Sarge Linux using pcre and
> ocaml-tools.  I thought that a static (ocamlopt) compilation of the
> program would allow me to run it on other Linux systems without having
> to install ocaml (or pcre-ocaml) on them.  But this seems not to be
> the case.

The ocamlopt executables are not fully static. Only the compiled O'Caml
code is static, the system libraries are dynamically linked.

Add -ccopt -static to the ocamlopt call to produce a fully static
executable.

> Trying to run the program on a Redhat 7.2 system firstly complained
> about a missing libpcre.so.3 file.  After copying a libcpre.so.3 from
> another system to /usr/local/lib and making a symlink to /usr/lib/ the
> next complaint was 
> 
> zsh % sncd
> sncd: /lib/i686/libc.so.6: version `GLIBC_2.3' not found (required by
> sncd)

It is not possible to compile a program on a glibc-2.3 system and run it
on a glibc-2.2 system. The reverse way should work, though. (You can 
find out the glibc version number by _running_ /lib/libc.so.6. The
library prints a nice summary of its features.)

Regarding libpcre.so.3: There seems to be no standard for the versions
attached to so files. libpcre.so.3 is often called libpcre.so.0 because
the author of pcre does not add a version number, and the Linux
distributors often follow this decision. Not nice.

> I then installed ocaml-3.06-1.src.rpm on the system and did a rpm -ba,
> installed the binary package, converted Debian libpcre-ocaml-packages
> to rpm's, installed it and recompiled my program (sncd) and ... at
> last I have sncd running.
> 
> Is there an easier way distribute a binary program?

Unfortunately, this is still a major problem for Linux. Static
executables are no real solution, and especially glibc should be
dynamically linked to enable all the special configurations of the
system (e.g. special login modules and all that).

Gerd
-- 
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany 
gerd@gerd-stolpmann.de          http://www.gerd-stolpmann.de
------------------------------------------------------------

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


      reply	other threads:[~2003-05-19 14:01 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-19 13:37 Johann Spies
2003-05-19 14:01 ` Gerd Stolpmann [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1053352872.18085.238.camel@ares \
    --to=info@gerd-stolpmann.de \
    --cc=caml-list@inria.fr \
    --cc=jspies@sun.ac.za \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).