Good shot, thank you !
with ocamlobjinfo, i have :
    2a19929a535447ed0c8fc58ae3adc1a0    Unix
    2a19929a535447ed0c8fc58ae3adc1a0    Unix

When i make the webserver with ocamlfind, ocamlc launchs :
   
+ /Developer/usr/bin/clang -o 'cwbtop'   '-L/opt/local/lib/ocaml/site-lib/pcre' '-L/opt/local/lib/ocaml/site-lib/netsys' '-L/opt/local/lib/ocaml/site-lib/netstring' '-L/opt/local/lib/ocaml/site-lib/netcgi2' '-L/opt/local/lib/ocaml/site-lib/equeue' '-L/opt/local/lib/ocaml/site-lib/netgssapi' '-L/opt/local/lib/ocaml/site-lib/rpc' '-L/opt/local/lib/ocaml/site-lib/netplex' '-L/opt/local/lib/ocaml/site-lib/nethttpd' '-L/opt/local/lib/ocaml/site-lib/nethttpd-for-netcgi2' '-L/opt/local/lib/ocaml/site-lib/netclient' '-L/opt/local/lib/ocaml/site-lib/easy-format' '-L/opt/local/lib/ocaml/site-lib/atd' '-L/opt/local/lib/ocaml/site-lib/biniou' '-L/opt/local/lib/ocaml/site-lib/yojson' '-L/opt/local/lib/ocaml/site-lib/atdgen' '-L/opt/local/lib/ocaml/site-lib/ssl' '-L/opt/local/lib/ocaml/site-lib/equeue-ssl' '-L/opt/local/lib/ocaml/site-lib/rpc-ssl' '-L/opt/local/lib/ocaml' -L/opt/local/lib '/var/folders/nh/pbvym9z90wj_9kt95s16p_3h0000gn/T/camlprim21027d.c' '-lequeue_ssl'
'-lunix'
'-lssl_stubs' '-lcrypto' '-lssl' '-lcamlstr' '-lnetaccel_c' '-lnetsys' '-lpthread' '-lbigarray'
'-lunix'
'-L/opt/local/lib' '-lpcre' '-lpcre_stubs' '-lcamlrun' -I'/opt/local/lib/ocaml' -lcurses -lpthread

In fact, it works well with ocamlopt as you said. It's realy a problem of double link

I searched a bit around this problem, but i don't find a way to fix it : the clang command line always call unix two times...
(But i can test with a native version it's a beginning)

2011/12/29 Gerd Stolpmann <info@gerd-stolpmann.de>
Hi,

I cannot reproduce the problem (using my quite recent GODI
installation). That EINPROGRESS "breaks out" is quite strange, because
the HTTP connection is made via Uq_engines.direct_connector, and there
it is caught.

A subtle problem I could imagine is that one of the libraries includes
unix.cma erroneously (i.e. the Unix module is defined twice), and
because of this there are two versions of Unix_error, and one cannot
catch this exception anymore. You could check this by running
ocamlobjinfo on the cma files, and looking whether a "Unit name" of Unix
occurs (should only be in unix.cma). (Btw: Do you see the problem also
for ocamlopt-compiled programs? cmxa's cannot be partially linked,
unlike cma's, so a linking problem is not possible.)

My versions are:

godi-atd-1.0.1godi1            Syntax for cross-language data types
godi-atdgen-1.2.2              Code generator for biniou and JSON serialization
godi-biniou-1.0.0godi1         Flexible binary data format
godi-easy-format-1.0.0godi1    Indentation made easy(ier)
godi-ocaml-3.12.1godi2         The core of the OCaml system (compiler, runtime)
godi-ocaml-src-3.12.1godi1     OCaml sources (required for GODI builds)
godi-ocaml-ssl-0.4.4godi2      The Secure Socket Layer
godi-ocamlnet-3.4.1            base library for network protocols
godi-ocamlnet-crypto-3.4.1     crypto extension for ocamlnet
godi-ocamlnet-ssl-3.4.1        SSL extension for ocamlnet
godi-pcre-6.2.3                Perl compatible regular expressions
godi-yojson-1.0.2godi1         JSON library succeeding to json-wheel

We can enable debugging. I get then:

# Http_client.Debug.enable := true;;
- : unit = ()
# Http_client.Convenience.http_get "http://perdu.com";;
[Thu Dec 29 00:17:20 2011] [debug] [32146:0] Http_client: HTTP connection: creating direct connection to perdu.com:80
[Thu Dec 29 00:17:20 2011] [debug] [32146:0] Http_client: FD 3 - HTTP direct connection to perdu.com:80: Connected!
[Thu Dec 29 00:17:20 2011] [debug] [32146:0] Http_client: HTTP Connection: adding call 74
[Thu Dec 29 00:17:20 2011] [debug] [32146:0] Http_client: Call 74: initialize transmitter
[Thu Dec 29 00:17:20 2011] [debug] [32146:0] Http_client: FD 3 - Call 74 - HTTP request: GET / HTTP/1.1
[Thu Dec 29 00:17:20 2011] [debug] [32146:0] Http_client: FD 3 - HTTP connection: Got Call 74!
[Thu Dec 29 00:17:20 2011] [debug] [32146:0] Http_client: FD 3 - HTTP connection: pipelining=true persistency=false close_connection=false->false
[Thu Dec 29 00:17:20 2011] [debug] [32146:0] Http_client: Call 74 - postprocessing
[Thu Dec 29 00:17:20 2011] [debug] [32146:0] Http_client: FD 3 - HTTP connection: Shutdown!
[Thu Dec 29 00:17:20 2011] [debug] [32146:0] Http_client: FD 3 - HTTP connection: Closing socket!
[Thu Dec 29 00:17:20 2011] [debug] [32146:0] Http_client: HTTP connection: checking remaining pipeline requests
- : string =
"<html><head><title>Vous Etes Perdu ?</title></head><body><h1>Perdu sur l'Internet ?</h1><h2>Pas de panique, on va vous aider</h2><strong><pre>    * <----- vous &ecirc;tes ici</pre></strong></body></html>\n"

Gerd

Am Freitag, den 23.12.2011, 16:11 +0100 schrieb Pierre-Alexandre Voye:
> Hi everyone,
>
> I have just discovered a strange behavior of ocamlnet.
>
> As i understood, it seems like if you load certain library together,
> the library is unable to make a simple http_get.
> I need to add these libs (particularly SSL), because i have to write a
> POST multipart https function.
>
> Here an example with the toplevel which show the problem :
> (Sorry for the long long command)
>
> 1. It works :-)
>
> $ ocaml -I /opt/local/lib/ocaml/site-lib/pcre
> -I /opt/local/lib/ocaml/site-lib/netsys
> -I /opt/local/lib/ocaml/site-lib/netstring
> -I /opt/local/lib/ocaml/site-lib/netcgi2
> -I /opt/local/lib/ocaml/site-lib/equeue
> -I /opt/local/lib/ocaml/site-lib/netclient /opt/local/lib/ocaml/site-lib/pcre/pcre.cma /opt/local/lib/ocaml/unix.cma /opt/local/lib/ocaml/bigarray.cma /opt/local/lib/ocaml/site-lib/netsys/netsys_oothr.cma /opt/local/lib/ocaml/site-lib/netsys/netsys.cma /opt/local/lib/ocaml/site-lib/netstring/netstring.cma /opt/local/lib/ocaml/site-lib/netstring/netaccel.cma /opt/local/lib/ocaml/site-lib/netstring/netaccel_link.cmo /opt/local/lib/ocaml/site-lib/netcgi2/netcgi.cma /opt/local/lib/ocaml/site-lib/equeue/equeue.cma /opt/local/lib/ocaml/site-lib/netgssapi/netgssapi.cma /opt/local/lib/ocaml/site-lib/rpc/rpc.cma /opt/local/lib/ocaml/site-lib/netplex/netplex.cma /opt/local/lib/ocaml/site-lib/nethttpd/nethttpd.cma /opt/local/lib/ocaml/site-lib/netclient/netclient.cma
>
>         Objective Caml version 3.12.1
>
> # Http_client.Convenience.http_get "http://perdu.com";;
> - : string =
> "<html><head><title>Vous Etes Perdu ?</title></head><body><h1>Perdu
> sur l'Internet ?</h1><h2>Pas de panique, on va vous
> aider</h2><strong><pre>    * <----- vous &ecirc;tes
> ici</pre></strong></body></html>\n"
>
>
> 2. There's a problem !
>
> ocaml -I /opt/local/lib/ocaml/site-lib/pcre
> -I /opt/local/lib/ocaml/site-lib/netsys
> -I /opt/local/lib/ocaml/site-lib/netstring
> -I /opt/local/lib/ocaml/site-lib/netcgi2
> -I /opt/local/lib/ocaml/site-lib/equeue
> -I /opt/local/lib/ocaml/site-lib/netgssapi
> -I /opt/local/lib/ocaml/site-lib/rpc
> -I /opt/local/lib/ocaml/site-lib/netplex
> -I /opt/local/lib/ocaml/site-lib/nethttpd
> -I /opt/local/lib/ocaml/site-lib/nethttpd-for-netcgi2
> -I /opt/local/lib/ocaml/site-lib/netclient
> -I /opt/local/lib/ocaml/site-lib/easy-format
> -I /opt/local/lib/ocaml/site-lib/atd
> -I /opt/local/lib/ocaml/site-lib/biniou
> -I /opt/local/lib/ocaml/site-lib/yojson
> -I /opt/local/lib/ocaml/site-lib/atdgen
> -I /opt/local/lib/ocaml/site-lib/ssl
> -I /opt/local/lib/ocaml/site-lib/equeue-ssl
> -I /opt/local/lib/ocaml/site-lib/rpc-ssl /opt/local/lib/ocaml/site-lib/pcre/pcre.cma /opt/local/lib/ocaml/unix.cma /opt/local/lib/ocaml/bigarray.cma /opt/local/lib/ocaml/site-lib/netsys/netsys_oothr.cma /opt/local/lib/ocaml/site-lib/netsys/netsys.cma /opt/local/lib/ocaml/site-lib/netstring/netstring.cma /opt/local/lib/ocaml/site-lib/netstring/netaccel.cma /opt/local/lib/ocaml/site-lib/netstring/netaccel_link.cmo /opt/local/lib/ocaml/site-lib/netcgi2/netcgi.cma /opt/local/lib/ocaml/site-lib/equeue/equeue.cma /opt/local/lib/ocaml/site-lib/netgssapi/netgssapi.cma /opt/local/lib/ocaml/site-lib/rpc/rpc.cma /opt/local/lib/ocaml/site-lib/netplex/netplex.cma /opt/local/lib/ocaml/site-lib/nethttpd/nethttpd.cma /opt/local/lib/ocaml/site-lib/netclient/netclient.cma /opt/local/lib/ocaml/str.cma /opt/local/lib/ocaml/site-lib/easy-format/easy_format.cmo /opt/local/lib/ocaml/site-lib/atd/atd.cma /opt/local/lib/ocaml/site-lib/biniou/biniou.cma /opt/local/lib/ocaml/site-lib/yojson/yojson.cmo /opt/local/lib/ocaml/site-lib/atdgen/atdgen.cma /opt/local/lib/ocaml/site-lib/ssl/ssl.cma /opt/local/lib/ocaml/site-lib/equeue-ssl/equeue_ssl.cma /opt/local/lib/ocaml/site-lib/rpc-ssl/rpc_ssl.cma
>
> Objective Caml version 3.12.1
>
> # Http_client.Convenience.http_get "http://perdu.com";;
> Exception:
> Http_client.Http_protocol (Unix.Unix_error (Unix.EINPROGRESS,
> "connect", "")).
>
>
> So every http_call doesn't work, and of course https  with post verb.
>
> is anayone have an idea ?
>
>
>
> Merry Christmas to all !
>
>
> Pierre-Alexandre
> --
> ---------------------
> https://twitter.com/#!/ontologiae/
> http://linuxfr.org/users/montaigne
>
> ------------------------------------------------------------------------------
> Write once. Port to many.
> Get the SDK and tools to simplify cross-platform app development. Create
> new or port existing apps to sell to consumers worldwide. Explore the
> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
> http://p.sf.net/sfu/intel-appdev
> _______________________________________________ Ocamlnet-devel mailing list Ocamlnet-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel





--
---------------------
https://twitter.com/#!/ontologiae/
http://linuxfr.org/users/montaigne