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
prev parent 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).