Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Blair Zajac <blair@orcaware.com>
To: Gerd Stolpmann <info@gerd-stolpmann.de>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] OCaml packaging problems: findlib helps!
Date: Tue, 21 May 2002 16:25:29 -0700	[thread overview]
Message-ID: <3CEAD769.C6392402@orcaware.com> (raw)
In-Reply-To: <20020518202316.C629@ice.gerd-stolpmann.de>

Gerd Stolpmann wrote:
> 
> Hello list,
> 
> I have prepared an experimental version of findlib (download see below)
> that allows users to store DLLs into a shared directory, called "libexec".
> As you may know, findlib organizes packages by directory. For example,
> an installation with three packages X, Y, and Z could look like:
> 
> /usr/local/lib/ocaml/site-lib/X/<files>
> /usr/local/lib/ocaml/site-lib/Y/<files>
> /usr/local/lib/ocaml/site-lib/Z/<files>
> 
> Previous versions of findlib put DLLs simply into the package directories,
> and findlib tried to update the ld.conf file (which may fail because of
> missing file permissions). A similar solution is also used by the Debian
> packagers.
> 
> There are some problems with it:
> - There are scalability problems when really many directories are in ld.conf
> - Package management systems like dpkg and rpm must use postinstall scripts
>   which makes packaging more difficult
> - There is a conflict between dpkg/rpm packages and additional manual
>   installations: Who is responsible for which line in ld.conf?
> - Name clashes are hard to detect (e.g. X and Y use both dllfoo.so)
> 
> The experimental version of findlib recognizes a special directory libexec:
> 
> /usr/local/lib/ocaml/site-lib/libexec/<DLL files>
> 
> The simple existence of this directory causes that all files with the suffixes
> .so and .dll are copied into this directory (no symlinks). Of course, this breaks
> the current way of representing the ownership of files. In previous versions,
> all files in the package directory for X are owned by X. This is simple,
> and works for everything else very well. In libexec, there are now .owner files,
> e.g. for dllfoo.so findlib creates a second file dllfoo.so.owner, containing
> only one line with the name of the owner.

Gerd,

What about the possibility of having multiple owners for the same library?
I can see the case (in fact I'm going to build a module that does this)
that segments a single shared library into multiple modules.  Then I'd
want multiple owners for the same library.

Are there any other tricks I need to be careful of to make sure that
this works?

On an unrelated point, can you modify the Makefile to define a new
variable, say DEBUG, that is set to either -g or nothing and replace
all the -g's with $(DEBUG)?  This would trim down the size of the
generated files.  This could also be added to configure as a -debug
command line option.  I can send in a patch if requested.

Best,
Blair

--
Blair Zajac <blair@orcaware.com>
Web and OS performance plots - http://www.orcaware.com/orca/
-------------------
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


  parent reply	other threads:[~2002-05-21 23:25 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-18 18:23 Gerd Stolpmann
2002-05-20 15:09 ` [Caml-list] RFC [Was: ... findlib helps!] Stefano Zacchiroli
2002-05-21 23:25 ` Blair Zajac [this message]
2002-05-22 20:55   ` [Caml-list] OCaml packaging problems: findlib helps! Gerd Stolpmann

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=3CEAD769.C6392402@orcaware.com \
    --to=blair@orcaware.com \
    --cc=caml-list@inria.fr \
    --cc=info@gerd-stolpmann.de \
    /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