From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 788B8BBAF for ; Thu, 23 Apr 2009 09:37:38 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlUCAAO370nRVllDlGdsb2JhbACCJiyTdQEBAQEJCwgJEQOnQQmQYwGCQIE0Bg X-IronPort-AV: E=Sophos;i="4.38,431,1233529200"; d="scan'208,217";a="28138996" Received: from elasmtp-scoter.atl.sa.earthlink.net ([209.86.89.67]) by mail1-smtp-roc.national.inria.fr with ESMTP; 23 Apr 2009 09:37:37 +0200 Received: from [69.139.210.102] (helo=[10.0.1.194]) by elasmtp-scoter.atl.sa.earthlink.net with esmtpa (Exim 4.67) (envelope-from ) id 1LwtV2-0002h7-Hg for caml-list@yquem.inria.fr; Thu, 23 Apr 2009 03:37:36 -0400 Mime-Version: 1.0 (Apple Message framework v753.1) To: caml-list@yquem.inria.fr Message-Id: Content-Type: multipart/alternative; boundary=Apple-Mail-1-172029633 From: David McClain Subject: Threads? Date: Thu, 23 Apr 2009 00:37:14 -0700 X-Mailer: Apple Mail (2.753.1) X-ELNK-Trace: 7a0ab3eafc8cf994b22988ad1c62733440683398e744b8a4dd9375943ccb5ff2d697f4d4df10df002601a10902912494350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 69.139.210.102 X-Spam: no; 0.00; ocamlopt:01 compilation:01 ocamlfind:01 ocamlopt:01 -thread:01 -package:01 camlp:01 -package:01 usr:01 lib:01 ocaml:01 -thread:01 -cclib:01 cmxa:01 cmxa:01 --Apple-Mail-1-172029633 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Hi, It's been about 5 years since I faced this situation. I'm trying to link my program against the Thread module. Things go well until I do the ocamlopt compilation, then it aborts the make with the message: ocamlfind ocamlopt -thread -o sdsp.opt -package camlp4 -package threads -package unix -I ../src -I /usr/local/lib/ocaml/threads \ -thread -cclib threads.a nums.cmxa sdsp.cmxa threads/threads.cmxa \ readline.cmx scmMain.cmx File "_none_", line 1, characters 0-1: Error: No implementations provided for the following modules: Thread referenced from ../src/sdsp.cmxa(SdlPrims) make[1]: *** [sdsp.opt] Error 2 make: *** [subdirs] Error 2 Forgive the excessive number of -thread flags in there... this has been trial and error. I understand that it can't seem to find a .ml file to go along with the thread.mli, because there isn't one provided by the distribution. I also understand that the functionality of the thread module is made up largely of the posix threads C-code in the otherlibs directory. Somehow the system needs to be coaxed to look into the threads subdirectory in the lib/ocaml folder, but I am at wits end at this point.... This make is proceeding on Mac OS X 10.4 I'm sure it is possible to do this, because I have an ancient (unreadable) make script that does so for another system. Surely there is a very simple solution here, short of my inventing an entire Makefile script for this project. Eh? Thanks in advance... Dr. David McClain Chief Technical Officer Refined Audiometrics Laboratory 4391 N. Camino Ferreo Tucson, AZ 85750 email: dbm@refined-audiometrics.com phone: 1.520.390.3995 web: http://www.refined-audiometrics.com --Apple-Mail-1-172029633 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=ISO-8859-1 Hi,

It's been about 5 years since I faced this = situation. I'm trying to link my program against the Thread module. = Things go well until I do the ocamlopt compilation, then it aborts the = make with the message:

ocamlfind ocamlopt = -thread -o sdsp.opt =A0 -package camlp4 -package threads -package unix = -I ../src -I /usr/local/lib/ocaml/threads =A0\
-thread = -cclib threads.a =A0nums.cmxa sdsp.cmxa threads/threads.cmxa =A0 = \
= readline.cmx scmMain.cmx=A0

File = "_none_", line 1, characters 0-1:
Error: No implementations = provided for the following modules:
=A0=A0 =A0 =A0 =A0 Thread = referenced from ../src/sdsp.cmxa(SdlPrims)
make[1]: *** = [sdsp.opt] Error 2
make: *** [subdirs] Error = 2


Forgive the excessive number = of -thread flags in there... this has been trial and = error.

I understand that it can't seem to find = a .ml file to go along with the thread.mli, because there isn't one = provided by the distribution. I also understand that the functionality = of the thread module is made up largely of the posix threads C-code in = the otherlibs directory. Somehow the system needs to be coaxed to look = into the threads subdirectory in the lib/ocaml folder, but I am at wits = end at this point....

This make is proceeding = on Mac OS X 10.4=A0

I'm sure it is possible to = do this, because I have an ancient (unreadable) make script that does so = for another system. Surely there is a very simple solution here, short = of my inventing an entire Makefile script for this project. = Eh?

Thanks in advance...

Dr. David McClain
Chief = Technical Officer
Refined Audiometrics = Laboratory
4391 N. Camino Ferreo
Tucson, AZ=A0 85750


=

= --Apple-Mail-1-172029633-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=AWL,SPF_FAIL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 356ACBBAF for ; Thu, 23 Apr 2009 09:42:17 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmcCAKe470kmachml2dsb2JhbACWRwEBAQEBCBUHuEODdQY X-IronPort-AV: E=Sophos;i="4.40,235,1238968800"; d="scan'208";a="25026623" Received: from mx2.janestcapital.com ([38.105.200.102]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 23 Apr 2009 09:42:16 +0200 Received: from nyc-qsv-mail1.delacy.com ([172.25.22.57]) by mx2.janestcapital.com with esmtp (Exim 4.69) (envelope-from ) id 1LwtZW-0008Lm-Ec; Thu, 23 Apr 2009 03:42:14 -0400 Received: from nyc-qsv-004.delacy.com ([172.25.22.194] helo=qsmtp.delacy.com) by nyc-qsv-mail1.DELACY.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1LwtZW-0002tm-Cw; Thu, 23 Apr 2009 03:42:14 -0400 Received: from lon-qws-008.delacy.com ([172.30.3.108] helo=lon-qws-008) by qsmtp.delacy.com with smtp (Exim 4.63) (envelope-from ) id 1LwtZV-00046b-90; Thu, 23 Apr 2009 03:42:14 -0400 Received: by lon-qws-008 (sSMTP sendmail emulation); Thu, 23 Apr 2009 08:42:12 +0100 From: "Mark Shinwell" Date: Thu, 23 Apr 2009 08:42:12 +0100 To: David McClain Cc: caml-list@inria.fr Subject: Re: [Caml-list] Threads? Message-ID: <20090423074212.GW29676@janestcapital.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) X-Spam: no; 0.00; shinwell:01 ocamlopt:01 compilation:01 ocamlfind:01 ocamlopt:01 -thread:01 -package:01 camlp:01 -package:01 usr:01 lib:01 ocaml:01 -thread:01 -cclib:01 cmxa:01 On Thu, Apr 23, 2009 at 12:37:14AM -0700, David McClain wrote: > It's been about 5 years since I faced this situation. I'm trying to link > my program against the Thread module. Things go well until I do the > ocamlopt compilation, then it aborts the make with the message: > > ocamlfind ocamlopt -thread -o sdsp.opt -package camlp4 -package > threads -package unix -I ../src -I /usr/local/lib/ocaml/threads \ > -thread -cclib threads.a nums.cmxa sdsp.cmxa threads/threads.cmxa \ > readline.cmx scmMain.cmx > > File "_none_", line 1, characters 0-1: > Error: No implementations provided for the following modules: > Thread referenced from ../src/sdsp.cmxa(SdlPrims) > make[1]: *** [sdsp.opt] Error 2 > make: *** [subdirs] Error 2 The order of the files on the command line matters here. You need to follow the order given on the page: http://caml.inria.fr/pub/docs/manual-ocaml/manual038.html (in particular it looks like your sdsp.cmxa needs to come after threads.cmxa). Does that make it work? Mark From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 3287BBBAF for ; Thu, 23 Apr 2009 10:24:08 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlACAMvB70nRVllDlGdsb2JhbACCUpN2AQEBAQkLCAkRA6diCZBmAYJAgTQG X-IronPort-AV: E=Sophos;i="4.40,235,1238968800"; d="scan'208,217";a="25029852" Received: from elasmtp-scoter.atl.sa.earthlink.net ([209.86.89.67]) by mail2-smtp-roc.national.inria.fr with ESMTP; 23 Apr 2009 10:24:07 +0200 Received: from [69.139.210.102] (helo=[10.0.1.194]) by elasmtp-scoter.atl.sa.earthlink.net with esmtpa (Exim 4.67) (envelope-from ) id 1LwuE2-0001pz-79; Thu, 23 Apr 2009 04:24:06 -0400 In-Reply-To: <20090423074212.GW29676@janestcapital.com> References: <20090423074212.GW29676@janestcapital.com> Mime-Version: 1.0 (Apple Message framework v753.1) Content-Type: multipart/alternative; boundary=Apple-Mail-1-174818938 Message-Id: <99CF7BBF-EB41-41B9-9A35-64EBEF336752@refined-audiometrics.com> Cc: caml-list@inria.fr From: David McClain Subject: Re: [Caml-list] Threads? Date: Thu, 23 Apr 2009 01:23:43 -0700 To: "Mark Shinwell" X-Mailer: Apple Mail (2.753.1) X-ELNK-Trace: 7a0ab3eafc8cf994b22988ad1c62733440683398e744b8a4653d8197b0e0cdc9f780f183e12a132f350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 69.139.210.102 X-Spam: no; 0.00; cheers:01 shinwell:01 ocamlopt:01 compilation:01 ocamlfind:01 ocamlopt:01 -thread:01 -package:01 camlp:01 -package:01 usr:01 lib:01 ocaml:01 -thread:01 -cclib:01 --Apple-Mail-1-174818938 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed OMG!! You are a Prince! Thank you so much! Cheers, Dr. David McClain Chief Technical Officer Refined Audiometrics Laboratory 4391 N. Camino Ferreo Tucson, AZ 85750 email: dbm@refined-audiometrics.com phone: 1.520.390.3995 web: http://www.refined-audiometrics.com On Apr 23, 2009, at 00:42, Mark Shinwell wrote: > On Thu, Apr 23, 2009 at 12:37:14AM -0700, David McClain wrote: >> It's been about 5 years since I faced this situation. I'm trying >> to link >> my program against the Thread module. Things go well until I do the >> ocamlopt compilation, then it aborts the make with the message: >> >> ocamlfind ocamlopt -thread -o sdsp.opt -package camlp4 -package >> threads -package unix -I ../src -I /usr/local/lib/ocaml/threads \ >> -thread -cclib threads.a nums.cmxa sdsp.cmxa threads/ >> threads.cmxa \ >> readline.cmx scmMain.cmx >> >> File "_none_", line 1, characters 0-1: >> Error: No implementations provided for the following modules: >> Thread referenced from ../src/sdsp.cmxa(SdlPrims) >> make[1]: *** [sdsp.opt] Error 2 >> make: *** [subdirs] Error 2 > > The order of the files on the command line matters here. You need > to follow > the order given on the page: > > http://caml.inria.fr/pub/docs/manual-ocaml/manual038.html > > (in particular it looks like your sdsp.cmxa needs to come after > threads.cmxa). > Does that make it work? > > Mark > --Apple-Mail-1-174818938 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=ISO-8859-1 OMG!! You are a Prince! Thank you so = much!

Cheers,

Dr. David McClain
Chief = Technical Officer
Refined Audiometrics = Laboratory
4391 N. Camino Ferreo
Tucson, AZ=A0 85750


=

On Apr 23, 2009, at 00:42, Mark Shinwell = wrote:

On Thu, Apr 23, 2009 at = 12:37:14AM -0700, David McClain wrote:
It's been about 5 years since I = faced this situation. I'm trying to link=A0
my = program against the Thread module. Things go well until I do the=A0
ocamlopt = compilation, then it aborts the make with the message:

=A0 -package camlp4 -package = =A0
threads -package unix -I ../src -I = /usr/local/lib/ocaml/threads=A0 = \
-thread -cclib threads.a=A0 nums.cmxa sdsp.cmxa = threads/threads.cmxa =A0 = \
readline.cmx = scmMain.cmx

File "_none_", line 1, characters 0-1:
Error: No implementations provided for the following = modules:
=A0=A0 =A0 =A0 =A0 Thread = referenced from ../src/sdsp.cmxa(SdlPrims)
make[1]: = *** [sdsp.opt] Error 2
make: *** [subdirs] Error = 2

The order of the files on the command line matters = here.=A0 You need to = follow
the order given on the = page:


(in = particular it looks like your sdsp.cmxa needs to come after = threads.cmxa).
Does that make it = work?

Mark


= --Apple-Mail-1-174818938-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 82AA8BBAF for ; Thu, 23 Apr 2009 10:24:48 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Al8CALvC70lRZ90vlGdsb2JhbACOL4gZAQEBAQkLCAkRA7g+g3UG X-IronPort-AV: E=Sophos;i="4.38,431,1233529200"; d="scan'208";a="28142687" Received: from mtaout01-winn.ispmail.ntl.com ([81.103.221.47]) by mail1-smtp-roc.national.inria.fr with ESMTP; 23 Apr 2009 10:24:48 +0200 Received: from aamtaout01-winn.ispmail.ntl.com ([81.103.221.35]) by mtaout01-winn.ispmail.ntl.com (InterMail vM.7.08.04.00 201-2186-134-20080326) with ESMTP id <20090423082447.GURN2989.mtaout01-winn.ispmail.ntl.com@aamtaout01-winn.ispmail.ntl.com>; Thu, 23 Apr 2009 09:24:47 +0100 Received: from romulus.metastack.com ([81.102.132.77]) by aamtaout01-winn.ispmail.ntl.com (InterMail vG.2.02.00.01 201-2161-120-102-20060912) with ESMTP id <20090423082447.UFRU13254.aamtaout01-winn.ispmail.ntl.com@romulus.metastack.com>; Thu, 23 Apr 2009 09:24:47 +0100 Received: from Tenor ([172.16.0.9]) (authenticated bits=0) by romulus.metastack.com (8.14.2/8.14.2) with ESMTP id n3N8Oh1M024345 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Thu, 23 Apr 2009 09:24:45 +0100 From: "David Allsopp" To: "'David McClain'" , References: In-Reply-To: Subject: RE: [Caml-list] Threads? Date: Thu, 23 Apr 2009 09:24:02 +0100 Organization: MetaStack Solutions Ltd. Message-ID: <000601c9c3ec$dc57ce90$95076bb0$@com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AcnD5mO9aokg0D8vSu+By+x/fGUjkAABYP1w Content-Language: en-gb X-Scanned-By: MIMEDefang 2.65 on 81.102.132.77 X-Cloudmark-Analysis: v=1.0 c=1 a=QSbwKVI28mKS_vbwHvMA:9 a=Hr6xz8LCBJwrt10KpQ0A:7 a=DVu8QZQUd-N_aZ-ZNn7D5RVJJsIA:4 a=jj-Jh7zM_CKGIc3k:21 a=ySL8-Wz4z1t2Wlp3:21 X-Spam: no; 0.00; ocamlopt:01 compilation:01 ocamlfind:01 ocamlopt:01 -thread:01 -package:01 camlp:01 -package:01 usr:01 lib:01 ocaml:01 -thread:01 -cclib:01 cmxa:01 cmxa:01 > It's been about 5 years since I faced this situation. I'm trying to = link my program against the Thread module. Things go well until I do the = ocamlopt compilation, then it aborts the make with the message: > > ocamlfind ocamlopt -thread -o sdsp.opt =A0 -package camlp4 -package = threads -package unix -I ../src -I /usr/local/lib/ocaml/threads =A0\ > -thread -cclib threads.a =A0nums.cmxa sdsp.cmxa threads/threads.cmxa = =A0 \ > readline.cmx scmMain.cmx=A0 You're missing -linkpkg. It looks like your command should be ocamlfind ocamlopt -thread -o sdsp.opt -package camlp4,threads,unix,num -linkpkg -I ../src sdsp.cmxa readline.cmx scmMain.cmx Notes: -I /usr/local/lib/ocaml/threads =3D=3D> will be added by ocamlfind -cclib threads.a =3D=3D> I think will be added automatically by threads.cmxa nums.cmxa =3D=3D> is better included by having num in your list of findlib packages threads/threads.cmxa =3D=3D> will be included by ocamlfind (when -linkpkg is given and -package threads) AFAIK, ocamlfind always puts libraries first when linking (and they will = be in the correct order because findlib understands inter-library dependencies). Incidentally, when hitting problems like this with ocamlfind, passing -verbose is really useful - because it causes ocamlfind (as well as ocamlopt) to display precise information on what's being called so you = can diagnose the problem. When using ocamlfind, you should never have to use = -I or specify the name of a .cmxa/.cma file (if it's part of a findlib = package) HTH, David=20