From: Pierre-Alexandre V. <ont...@gm...> - 2012-01-03 10:39:56
|
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 <in...@ge...> > 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 ê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 ê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 Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > > > -- --------------------- https://twitter.com/#!/ontologiae/ http://linuxfr.org/users/montaigne |