From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id BAA29270; Wed, 22 May 2002 01:25:41 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id BAA29214 for ; Wed, 22 May 2002 01:25:40 +0200 (MET DST) Received: from orcaware.com (bdsl.66.12.233.174.gte.net [66.12.233.174]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id g4LNPcL26681 for ; Wed, 22 May 2002 01:25:38 +0200 (MET DST) Received: from orcaware.com (localhost.localdomain [127.0.0.1]) by orcaware.com (8.12.2/8.12.2) with ESMTP id g4LNPUtD022608; Tue, 21 May 2002 16:25:32 -0700 Message-ID: <3CEAD769.C6392402@orcaware.com> Date: Tue, 21 May 2002 16:25:29 -0700 From: Blair Zajac X-Mailer: Mozilla 4.79 [en] (Windows NT 5.0; U) X-Accept-Language: en,x-ns1rfacHe4WNh5,x-ns2U100btwUq5f MIME-Version: 1.0 To: Gerd Stolpmann CC: caml-list@inria.fr Subject: Re: [Caml-list] OCaml packaging problems: findlib helps! References: <20020518202316.C629@ice.gerd-stolpmann.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk 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/ > /usr/local/lib/ocaml/site-lib/Y/ > /usr/local/lib/ocaml/site-lib/Z/ > > 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/ > > 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 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