OCaml version 3.11.0+beta1

View: New views
8 Messages — Rating Filter:   Alert me  
< Prev | 1 - 2 | Next >

RE: OCaml version 3.11.0+beta1

by David Allsopp :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Apologies if I missed them, but are there any installation instructions for
flexdll for Win32 building OCaml 3.11? I copied flexdll.h,
flexdll_initer_mingw.o, flexdll_mingw.o and flexlink.exe to my (empty) OCaml
bin directory (C:\Dev\OCaml\bin which is in PATH) before starting to build
which seemed to allow things to work.

[Aside: As I don't expect to use flexdll for anything else, the OCaml bin
directory seems as good a place as any to put it - I, out of personal
choice, put development tools in C:\Dev rather than C:\Program Files]

The install target of flexdll's Makefile suggests copying:

flexdll_initer.c, flexdll.c
        Surely these aren't needed once it's compiled?

cmdline.o, coff.o, reloc.o, version.o
        Aren't these all part of flexlink.exe and therefore not needed?

default.manifest
        Is this necessary for a MinGW build?

There seems to be an interesting chicken-and-egg source dependency between
flexdll and OCaml 3.11 - you can't build OCaml 3.11 from source or use it
afterwards without flexdll and you can't build flexdll from source without
OCaml. Doesn't that suggest a binary copy of flexdll should be included in
OCaml's boot directory? All of the other *binary* dependencies for Windows
OCaml don't require OCaml themselves... just a thought!

There are now some documentation inconsistencies in the sections for linking
C code - but I'll finish working through the various libraries I use before
reporting back. It's great that ocamlmklib is now available for all ports on
Win32 as well (that's one typo in manual032!) as it means that most of my
broken calls to gcc (rather than flexlib) can be replaced with the much more
portable ocamlmklib anyway!

Is there a useful way of submitted patches to the documentation? The HTML
docs are all generated from something, right?


David

-----Original Message-----
From: caml-list-bounces@...
[mailto:caml-list-bounces@...] On Behalf Of Damien Doligez
Sent: 15 October 2008 15:40
To: caml users
Subject: [Caml-list] OCaml version 3.11.0+beta1

Dear OCaml Users,

We are pleased to celebrate the birthday of Friedrich Nietzsche
by releasing OCaml version 3.11.0+beta1.  We need YOU to test
it thoroughly and report any problems you might have.  Does
your favorite software work with it?

It is available as a source release only (plus documentation),
from this address:
< http://caml.inria.fr/pub/distrib/ocaml-3.11/ >

It is also available from our CVS server at:
< http://camlcvs.inria.fr/ >
Use tag "ocaml3110beta1" to get the beta release, and tag
"release311" to track the bug fixes between this and the
final release of 3.11.0.

Have fun and PLEASE send us some feedback, positive or negative.


-- The OCaml team.


--------------------- Camlp5 HOW-TO ------------------------

Camlp5 version 5.09 does not work with OCaml 3.11.0+beta1 out of the
box.  A new version compatible with OCaml 3.11.0 should be released
very soon.  In the meantime you can use the following commands (in the
root directory of the Camlp5 5.09 sources) to compile Camlp5 5.09 with
OCaml 3.11.0+beta1.  Note that you will need to provide the path name
to a copy of the OCaml 3.11.0+beta1 sources at the line labelled
"HERE".


cp -R ocaml_stuff/3.11 ocaml_stuff/3.11.0
cp ocaml_src/main/ast2pt.ml_3.11 ocaml_src/main/ast2pt.ml_3.11.0
ed main/ast2pt.ml <<-EOF
   g/OCAML_3_11/s//& OR OCAML_3_11_0/
   wq
EOF
ed top/rprint.ml <<-EOF
   g/OCAML_3_11/s//& OR OCAML_3_11_0/
   wq
EOF
./configure --transitional
make steal OCAML_SRC=<path-to-ocaml-source-dir>      # HERE
make core
make bootstrap_sources
./configure --transitional
make world.opt

That's all.  Now you can "make install" as usual.

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Re: OCaml version 3.11.0+beta1

by Alain Frisch-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

David Allsopp wrote:
> The install target of flexdll's Makefile suggests copying:
>
> flexdll_initer.c, flexdll.c
> Surely these aren't needed once it's compiled?

Indeed. However, some people might want to recompile them (e.g. to keep
debug symbols, or to use a specific version of their C compiler).

>
> cmdline.o, coff.o, reloc.o, version.o
> Aren't these all part of flexlink.exe and therefore not needed?

As far as I can tell, the install target does not copy these files.

> default.manifest
> Is this necessary for a MinGW build?

No.

> There seems to be an interesting chicken-and-egg source dependency between
> flexdll and OCaml 3.11 - you can't build OCaml 3.11 from source or use it
> afterwards without flexdll and you can't build flexdll from source without
> OCaml. Doesn't that suggest a binary copy of flexdll should be included in
> OCaml's boot directory? All of the other *binary* dependencies for Windows
> OCaml don't require OCaml themselves... just a thought!

You're right about the circular dependency, but the answer is much
simpler than for the chicken-and-egg question: OCaml came first.
I don't see a compelling reason to include a binary version of flexdll
in the OCaml distribution. Just consider flexdll as an external
dependency that comes in binary form (like the MS C compiler). It just
happens to be produced by the OCaml compiler.

Note that flexlink.exe can be compiler with an old OCaml compiler. Also,
if you insist to bootstrap everything, it shouldn't be too difficult to
get a minimal (=no dynamic linking of external C code) ocamlrun.exe for
3.11 that does not require flexlink.



-- Alain

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Re : OCaml version 3.11.0+beta1

by Camarade_Tux :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2008/10/16, Alain Frisch <alain@...>:

> David Allsopp wrote:
>> There seems to be an interesting chicken-and-egg source dependency between
>> flexdll and OCaml 3.11 - you can't build OCaml 3.11 from source or use it
>> afterwards without flexdll and you can't build flexdll from source without
>> OCaml. Doesn't that suggest a binary copy of flexdll should be included in
>> OCaml's boot directory? All of the other *binary* dependencies for Windows
>> OCaml don't require OCaml themselves... just a thought!
>
> You're right about the circular dependency, but the answer is much
> simpler than for the chicken-and-egg question: OCaml came first.
> I don't see a compelling reason to include a binary version of flexdll
> in the OCaml distribution. Just consider flexdll as an external
> dependency that comes in binary form (like the MS C compiler). It just
> happens to be produced by the OCaml compiler.
>
> Note that flexlink.exe can be compiler with an old OCaml compiler. Also,
> if you insist to bootstrap everything, it shouldn't be too difficult to
> get a minimal (=no dynamic linking of external C code) ocamlrun.exe for
> 3.11 that does not require flexlink.
>

How often should we expect new releases of flexlink ? Basically, the
question is : will it have to be updated from time to time or can we
just drop it somewhere and forget everything about it ?


 ---

Adrien Nader

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Re: Re : OCaml version 3.11.0+beta1

by Alain Frisch-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Adrien wrote:
> How often should we expect new releases of flexlink ? Basically, the
> question is : will it have to be updated from time to time or can we
> just drop it somewhere and forget everything about it ?

There will be new releases when bugs are found and fixed. It's hard to
predict. I don't expect any correlation between OCaml releases and new
flexlink versions.

-- Alain

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Re: OCaml version 3.11.0+beta1

by Andres Varon :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Oct 16, 2008, at 5:58 AM, David Allsopp wrote:

> Both the MSVC and MinGW ports seem to have an error in the Makefile -
> they're linking against tk83.dll and tcl83.dll - the OCaml 3.10.2  
> line to
> link against tk84.lib and tcl84.lib is commented out.
>
> Changing the Makefile to link against tk84.dll and tcl84.dll seems  
> to fix
> the problem.

Did you manage to do it with *.dll or *.lib? I don't have those dll's  
and have been unable to compile the MinGW port with a setup that  
succeeded since 3.09.3. I keep getting:

Cannot export tcl84_NULL_THUNK_DATA: symbol not found

Could it be a path issue? Could you please show me an example of the a  
path that you are using successfully?


Andres

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Re: OCaml version 3.11.0+beta1

by Andres Varon :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Oct 16, 2008, at 12:22 PM, Andres Varon wrote:

>
> On Oct 16, 2008, at 5:58 AM, David Allsopp wrote:
>
>> Both the MSVC and MinGW ports seem to have an error in the Makefile -
>> they're linking against tk83.dll and tcl83.dll - the OCaml 3.10.2  
>> line to
>> link against tk84.lib and tcl84.lib is commented out.
>>
>> Changing the Makefile to link against tk84.dll and tcl84.dll seems  
>> to fix
>> the problem.
>
> Did you manage to do it with *.dll or *.lib? I don't have those  
> dll's and have been unable to compile the MinGW port with a setup  
> that succeeded since 3.09.3. I keep getting:
>
> Cannot export tcl84_NULL_THUNK_DATA: symbol not found
>
> Could it be a path issue? Could you please show me an example of the  
> a path that you are using successfully?

Let me clarify what I'm asking: I have in config/Makefile

TK_ROOT=c:/tcl

Do you write your paths somehow differently there? In all honesty I  
don't think that this is a wrongly written path (there are no  
complains of not finding the libraries), but I'm clueless and I don't  
have enough experience in Windows.

best,

Andres

>
>
>
> Andres

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Re: OCaml version 3.11.0+beta1

by Andres Varon :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Oct 16, 2008, at 12:31 PM, Andres Varon wrote:

>>> Changing the Makefile to link against tk84.dll and tcl84.dll seems  
>>> to fix
>>> the problem.
>>
>> Did you manage to do it with *.dll or *.lib? I don't have those  
>> dll's and have been unable to compile the MinGW port with a setup  
>> that succeeded since 3.09.3. I keep getting:
>>
>> Cannot export tcl84_NULL_THUNK_DATA: symbol not found
>>
>> Could it be a path issue? Could you please show me an example of  
>> the a path that you are using successfully?
>

To answer myself: the path is not anymore lib/tcl84.lib but bin/
tcl84.dll and correspondingly to tk. Sorry for the noise.

Andres

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Re: OCaml version 3.11.0+beta1

by Xavier Leroy :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

David Allsopp wrote:
> The Win64 port is listed as requiring Windows XP 64 or Server 64 - is 64 bit
> Windows Vista not included in the list because it's not supported or because
> it's not been tested with it?

Because it hasn't been tested with Vista 64.  But I'm pretty sure that
if Microsoft's PSDK for x86-64 works well on Vista 64, so should
OCaml.

- Xavier Leroy

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs
< Prev | 1 - 2 | Next >