You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(23) |
Nov
(34) |
Dec
(36) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(6) |
Feb
(1) |
Mar
(12) |
Apr
|
May
(3) |
Jun
(3) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2003 |
Jan
|
Feb
(6) |
Mar
(1) |
Apr
|
May
|
Jun
(1) |
Jul
(2) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
(10) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
(2) |
Feb
(3) |
Mar
|
Apr
(9) |
May
(17) |
Jun
(14) |
Jul
(13) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
(5) |
2006 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
(1) |
Oct
(16) |
Nov
(5) |
Dec
|
2007 |
Jan
(2) |
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(4) |
Dec
|
2008 |
Jan
(14) |
Feb
(5) |
Mar
(7) |
Apr
(3) |
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
(6) |
Mar
(9) |
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
(17) |
Sep
(2) |
Oct
(1) |
Nov
(4) |
Dec
|
2010 |
Jan
|
Feb
(3) |
Mar
(21) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
(1) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
(5) |
Jul
(23) |
Aug
(7) |
Sep
|
Oct
|
Nov
|
Dec
(9) |
2012 |
Jan
(7) |
Feb
(9) |
Mar
(2) |
Apr
(2) |
May
(5) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
(9) |
Oct
|
Nov
(3) |
Dec
(2) |
2013 |
Jan
(4) |
Feb
|
Mar
(4) |
Apr
(1) |
May
(1) |
Jun
(4) |
Jul
(4) |
Aug
(6) |
Sep
(15) |
Oct
(7) |
Nov
(3) |
Dec
(2) |
2014 |
Jan
(1) |
Feb
|
Mar
(7) |
Apr
(2) |
May
(8) |
Jun
|
Jul
|
Aug
(4) |
Sep
(1) |
Oct
(4) |
Nov
(2) |
Dec
(2) |
2015 |
Jan
(6) |
Feb
(1) |
Mar
|
Apr
(2) |
May
(6) |
Jun
(6) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(7) |
Dec
|
2016 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Oliver B. <ol...@fi...> - 2017-07-16 16:07:32
|
Fix: --- src/ocamlnet-4.1.2/src/netsys/netsys_posix.ml 2017-07-16 17:56:18.361397096 +0200 +++ netsys_posix.ml 2017-07-16 17:33:02.207173822 +0200 @@ -719,7 +719,7 @@ type open_flag1 = Unix.open_flag = O_RDONLY | O_WRONLY | O_RDWR | O_NONBLOCK | O_APPEND | O_CREAT | O_TRUNC | O_EXCL | O_NOCTTY | O_DSYNC | O_SYNC | O_RSYNC | O_SHARE_DELETE - | O_CLOEXEC + | O_CLOEXEC | O_KEEPEXEC #else #ifdef HAVE_O_SHARE_DELETE type open_flag1 = Unix.open_flag = Zitat von Oliver Bandel <ol...@fi...> (Sun, 16 Jul 2017 17:04:47 +0200) > This is, what I get: > > (I'm using ocamlnet-4.1.2.tar.gz) > > ====================================================================== > File "netsys_mem.ml", line 17, characters 0-143: > Warning 3: deprecated: [@@noalloc] should be used instead of "noalloc" > File "netsys_mem.ml", line 21, characters 0-143: > Warning 3: deprecated: [@@noalloc] should be used instead of "noalloc" > ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp > "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D > HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c > netsys_signal.mli > ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp > "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D > HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c > netsys_signal.ml > ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp > "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D > HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c > netsys_crypto_types.mli > ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp > "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D > HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c > netsys_crypto_types.ml > ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp > "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D > HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c > netsys_crypto.mli > ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp > "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D > HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c > netsys_crypto.ml > ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp > "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D > HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c > netsys_crypto_modes.mli > ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp > "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D > HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c > netsys_crypto_modes.ml > ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp > "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D > HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c > netsys_posix.mli > ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp > "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D > HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c > netsys_posix.ml > File "netsys_posix.ml", line 719, characters 0-193: > Error: This variant or record definition does not match that of type > Unix.open_flag > The field O_KEEPEXEC is only present in the original definition. > make[1]: *** [../../Makefile.rules:113: netsys_posix.cmo] Error 2 > make[1]: Leaving directory > '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.1.2/src/netsys' > make: *** [Makefile:23: all] Error 2 > ==> ERROR: A failure occurred in build(). > Aborting... > ====================================================================== > > > Ciao, > Oliver > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel |
From: Oliver B. <ol...@fi...> - 2017-07-16 15:24:52
|
This is, what I get: (I'm using ocamlnet-4.1.2.tar.gz) ====================================================================== File "netsys_mem.ml", line 17, characters 0-143: Warning 3: deprecated: [@@noalloc] should be used instead of "noalloc" File "netsys_mem.ml", line 21, characters 0-143: Warning 3: deprecated: [@@noalloc] should be used instead of "noalloc" ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c netsys_signal.mli ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c netsys_signal.ml ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c netsys_crypto_types.mli ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c netsys_crypto_types.ml ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c netsys_crypto.mli ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c netsys_crypto.ml ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c netsys_crypto_modes.mli ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c netsys_crypto_modes.ml ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c netsys_posix.mli ocamlfind ocamlc -g -safe-string -package "bytes unix" -pp "../../tools/cppo-0.9.4/cppo -include ../../config.cppo -D HAVE_O_SHARE_DELETE -D HAVE_O_CLOEXEC -D HAVE_BYTES " -w -25 -c netsys_posix.ml File "netsys_posix.ml", line 719, characters 0-193: Error: This variant or record definition does not match that of type Unix.open_flag The field O_KEEPEXEC is only present in the original definition. make[1]: *** [../../Makefile.rules:113: netsys_posix.cmo] Error 2 make[1]: Leaving directory '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.1.2/src/netsys' make: *** [Makefile:23: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting... ====================================================================== Ciao, Oliver |
From: Oliver B. <ol...@fi...> - 2017-02-07 22:53:09
|
Yes, question answered there. But I got strange results, when activating the windows-charset-conversion... Experimental code, makefile and output I got, attached. (First time I tried it with added ziop-file, which was not accepted by the mailinglist-sw). Looks strange to me. Ciao, Oliver Zitat von Gerd Stolpmann <in...@ge...> (Tue, 07 Feb 2017 18:15:08 +0100) > Does this page answer the question? > > http://projects.camlcity.org/projects/dl/ocamlnet-4.1.2/doc/html-main/Netunidata.html > > Gerd > > Am Dienstag, den 07.02.2017, 14:49 +0100 schrieb Oliver Bandel: >> Hi, >> >> I tried to convert webstuff from windows.-1252 to UTF8, >> and got the following err-message: >> >> >> Fatal error: exception Failure("Ocamlnet: No such lookup table: >> cmapf.windows1252") >> >> >> Is that conversion not available? >> Or do I have a non-complete ocamlnet installed? >> >> >> Ciao, >> Oliver >> >> >> ------------------------------------------------------------------- >> ----------- >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> _______________________________________________ >> Ocamlnet-devel mailing list >> Oca...@li... >> https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > -- > ------------------------------------------------------------ > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > My OCaml site: http://www.camlcity.org > Contact details: http://www.camlcity.org/contact.html > Company homepage: http://www.gerd-stolpmann.de > ------------------------------------------------------------ |
From: Gerd S. <in...@ge...> - 2017-02-07 17:41:06
|
Does this page answer the question? http://projects.camlcity.org/projects/dl/ocamlnet-4.1.2/doc/html-main/Netunidata.html Gerd Am Dienstag, den 07.02.2017, 14:49 +0100 schrieb Oliver Bandel: > Hi, > > I tried to convert webstuff from windows.-1252 to UTF8, > and got the following err-message: > > > Fatal error: exception Failure("Ocamlnet: No such lookup table: > cmapf.windows1252") > > > Is that conversion not available? > Or do I have a non-complete ocamlnet installed? > > > Ciao, > Oliver > > > ------------------------------------------------------------------- > ----------- > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Oliver B. <ol...@fi...> - 2017-02-07 14:10:36
|
Hi, I tried to convert webstuff from windows.-1252 to UTF8, and got the following err-message: Fatal error: exception Failure("Ocamlnet: No such lookup table: cmapf.windows1252") Is that conversion not available? Or do I have a non-complete ocamlnet installed? Ciao, Oliver |
From: Oliver B. <ol...@fi...> - 2016-08-04 20:20:25
|
Hello, I want to use ocamlnet and neetnettls/gnutls for https. AFAIK I have installed all necessary modules, but get the err-message that "module Nettls_gnutls" is not bound. Any idea how to get the needed stuff with opam? Ciao, Oliver |
From: Oliver B. <ol...@fi...> - 2016-08-04 20:20:24
|
Hi, ok, forget it. There was mistake in the Makefile. Wrong tls-stuff used.... Ciao, Oliver Zitat von Oliver Bandel <ol...@fi...> (Thu, 04 Aug 2016 21:59:04 +0200) > Hello, > > > I want to use ocamlnet and neetnettls/gnutls for https. > AFAIK I have installed all necessary modules, but > get the err-message that "module Nettls_gnutls" is not bound. > > Any idea how to get the needed stuff with opam? > > Ciao, > Oliver |
From: Gerd S. <in...@ge...> - 2016-06-19 15:19:17
|
Hi, I just released ocamlnet-4.1.2 which includes fixes so that you can build it with ocaml-4.03. See the project page for download, documentation, a detailed changelog, and the mailing list: http://projects.camlcity.org/projects/ocamlnet.html The repository has been moved to https://gitlab.camlcity.org/gerd/lib-ocamlnet3 Gerd -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Gerd S. <in...@ge...> - 2016-03-04 15:00:28
|
Am Freitag, den 04.03.2016, 15:04 +0100 schrieb Oliver Bandel: > Hi, > > Zitat von Gerd Stolpmann <in...@ge...> (Fri, 04 Mar 2016 > 14:47:07 +0100) > > > Hello, > > > > a new release of OCamlnet is available for download: 4.1.1. The major > > changes: > > > > - Supports bytes, and builds with -safe-string so far possible. > > OCaml-4.01 is still supported with the "bytes" add-on package > > distributed with ocamlfind. > > - Speeding up the exchange of RPC messages between threads of > > the same process. This bypasses now some serialization steps. > > (This will make most sense with multicore OCaml, of course, > > and is provided in preparation of that.) > [...] > > multicore OCaml? > > Can you elaborate more on this issue? > Did I miss news about OCaml's new features? > Or is this planned for OCaml for the near future? There is a group working on multicore OCaml. A prerelease is expected shortly after OCaml-4.03 is out. https://github.com/ocamllabs/compiler-hacking/wiki/Multicore-OCaml Gerd > Ciao, > Oliver > > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 > _______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Oliver B. <ol...@fi...> - 2016-03-04 14:23:20
|
Hi, Zitat von Gerd Stolpmann <in...@ge...> (Fri, 04 Mar 2016 14:47:07 +0100) > Hello, > > a new release of OCamlnet is available for download: 4.1.1. The major > changes: > > - Supports bytes, and builds with -safe-string so far possible. > OCaml-4.01 is still supported with the "bytes" add-on package > distributed with ocamlfind. > - Speeding up the exchange of RPC messages between threads of > the same process. This bypasses now some serialization steps. > (This will make most sense with multicore OCaml, of course, > and is provided in preparation of that.) [...] multicore OCaml? Can you elaborate more on this issue? Did I miss news about OCaml's new features? Or is this planned for OCaml for the near future? Ciao, Oliver |
From: Gerd S. <in...@ge...> - 2016-03-04 14:00:46
|
As a followup of the new OCamlnet-4.1.1 a number of other libraries have also been updated. The new versions need OCamlnet-4.1.1 and require at least OCaml-4.01. For details, see the project pages: http://projects.camlcity.org/projects/pxp.html http://projects.camlcity.org/projects/webdav.html http://projects.camlcity.org/projects/cache.html http://projects.camlcity.org/projects/netamqp.html http://projects.camlcity.org/projects/wdialog.html http://projects.camlcity.org/projects/wtimer.html Gerd -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Gerd S. <in...@ge...> - 2016-03-04 14:00:42
|
Hello, a new release of OCamlnet is available for download: 4.1.1. The major changes: - Supports bytes, and builds with -safe-string so far possible. OCaml-4.01 is still supported with the "bytes" add-on package distributed with ocamlfind. - Speeding up the exchange of RPC messages between threads of the same process. This bypasses now some serialization steps. (This will make most sense with multicore OCaml, of course, and is provided in preparation of that.) - Added an LDAP client - Support some public-key cryptography See the project page for download, documentation, a detailed changelog, and the mailing list: http://projects.camlcity.org/projects/ocamlnet.html The repository has been moved to https://gitlab.camlcity.org/gerd/lib-ocamlnet3 Gerd PS. This overlaps with the OCaml-4.03 release window. I haven't found time to look into that. -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Gerd S. <in...@ge...> - 2015-11-27 18:19:18
|
Am Mittwoch, den 25.11.2015, 10:50 +0000 schrieb Thomas Calderon: > Hi, > > > Our project, Caml Crush, a PKCS#11 proxy in OCaml uses OCamlnet > Netplex and RPC layer. > > > We have been migrating from OCamlnet 3.x to OCamlnet 4.x during the > last months and we had some questions regarding the newly released TLS > bindings. > > > In our code compatible with Ocamlnet 3.x SSL bindings (through > OCaml-ssl), we are using the Ssl.get_certificate OCaml-ssl call in the > 'get_peer_user_name' server hook to get and dump the peer client > certificate (this allows us to check this certificate against a white > list on the server side). > > > We would like to have the same degree of control with the 4.x release > of OCamlnet. > > > After some digging in OCamlnet 4.x TLS code, we have not found an API > providing the Ssl.get_certificate service. Did we miss something? Is > it possible to emulate such a feature? From the RPC server you get the certificate this way: let props = Rpc_server.get_tls_session_props session then, there are a couple of methods for props, in particular peer_credentials_raw for getting the DER encoding of the certificate, and peer_credentials for a structured view of the certificate (see the Netx509 module for accessing the components). There is also a utility function Nettls_support.get_tls_user_name. For a fingerprint of a certificate, the common method is to use a digest (usually SHA-1) of the DER encoding. If you want to check the peer certificate earlier (before receiving data), there is also the verify callback in the TLS configuration (arg of Netsys_tls.create_x509_config; get the certificate with the get_peer_creds function of the provider module; I guess this is what you are missing: remember that the TLS provider is a first-class module, and you can call functions of this module: let provider = Netsys_crypto.current_tls() let verify endpoint p_trust p_hostmatch = let module P = (val provider : Netsys_crypto_types.TLS_PROVIDER) in let cert = P.get_peer_creds endpoint in p_trust && p_hostmatch && my_check cert let tls_config = Netsys_tls.create_x509_config ... ~verify provider ). > Also, the current implementation does not allow to have a separate > trust chain (one for the server and one for the clients when peer_auth > is enabled). This would be a welcome addition. Hmm, why do you need the trust chain for the server? The trust chain always refers to the peer, AFAIK. Gerd > > > Thanks in advance for your help, > > > Thomas > ------------------------------------------------------------------------------ > Go from Idea to Many App Stores Faster with Intel(R) XDK > Give your users amazing mobile app experiences with Intel(R) XDK. > Use one codebase in this all-in-one HTML5 development environment. > Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs. > http://pubads.g.doubleclick.net/gampad/clk?id=254741551&iu=/4140 > _______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Thomas C. <cal...@gm...> - 2015-11-25 10:50:43
|
Hi, Our project, Caml Crush, a PKCS#11 proxy in OCaml uses OCamlnet Netplex and RPC layer. We have been migrating from OCamlnet 3.x to OCamlnet 4.x during the last months and we had some questions regarding the newly released TLS bindings. In our code compatible with Ocamlnet 3.x SSL bindings (through OCaml-ssl), we are using the Ssl.get_certificate OCaml-ssl call in the 'get_peer_user_name' server hook to get and dump the peer client certificate (this allows us to check this certificate against a white list on the server side). We would like to have the same degree of control with the 4.x release of OCamlnet. After some digging in OCamlnet 4.x TLS code, we have not found an API providing the Ssl.get_certificate service. Did we miss something? Is it possible to emulate such a feature? Also, the current implementation does not allow to have a separate trust chain (one for the server and one for the clients when peer_auth is enabled). This would be a welcome addition. Thanks in advance for your help, Thomas |
From: Gerd S. <in...@ge...> - 2015-11-05 22:43:23
|
Wondering how you could configure -enable-zip without having camlzip installed (that's where the Gzip module comes from). Gerd Am Donnerstag, den 05.11.2015, 17:12 +0100 schrieb Oliver Bandel: > Hi, > > ok, I misinterpreted the last part of confugure-script. > It was mentioned the DEFAULTS were -disable-<...> > not that the defaults could be overwritten with -disable-<...> > > So I used now > > > ./configure \ > -enable-pcre \ > -enable-full-pcre \ > -enable-gtk \ > -enable-gtk2 \ > -enable-tcl \ > -enable-gnutls \ > -enable-gssapi \ > -enable-zip \ > -enable-apache \ > -enable-nethttpd \ > > > Result: configure worked fine and "make" worked fine, > but "make doc" failed again: > > ==================================================== > make[1]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > make[1]: Entering directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > ocamlfind ocamlc -g -I ../../src/netstring -package "unix " -w -3-25 > -c netgzip.mli > File "netgzip.mli", line 5, characters 19-34: > Error: Unbound module Gzip > ../../Makefile.rules:120: recipe for target 'netgzip.cmi' failed > make[1]: *** [netgzip.cmi] Error 2 > make[1]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > Makefile:40: recipe for target 'doc' failed > make: *** [doc] Error 2 > ==================================================== > > So, even though configure worked and make worked, > make doc failed. > > If there is missing a module (Gzip), I would assume, > that aomething before "make doc" would fail or mention the problem. > > Somehow it does not. > > More ideas on that? > > Ciao, > Oliver > > > > > > > > > Zitat von Gerd Stolpmann <in...@ge...> (Thu, 05 Nov 2015 > 10:47:31 +0100) > > > I create the documentation all the time. You need a fully configured > > ocamlnet, with all bells and whistles. Which makes sense, because the > > docs should be complete. > > > > Gerd > > > > Am Mittwoch, den 04.11.2015, 16:34 +0100 schrieb Oliver Bandel: > >> Well, the main problem was: > >> > >> ocamlfind: Package `lablgtk' not found > >> > >> > >> Now I tried with svn-stuff. > >> > >> The configure seems to have different defaults. > >> -enable-gtk2 seems not to be necessary. > >> > >> So I did just "./configure". > >> Then "make doc" > >> > >> Result: > >> > >> ============================================================================================ > >> ~/tmp/OCamlnet-Docs/trunk/code >make doc > >> for pkg in src/*/.; do \ > >> test ! -f $pkg/Makefile -o -f $pkg/doc-ignore || \ > >> { ( cd $pkg && make -f Makefile.pre generate ) || exit; \ > >> ( cd $pkg && make -f Makefile.pre depend ) || exit; \ > >> ( cd $pkg && make ocamldoc.dump ) || exit; \ > >> }; \ > >> done > >> make[1]: Entering directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > >> make[2]: Entering directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > >> sed -e 's/@VERSION@/4.0.4/' \ > >> -e 's/@AUTHDHREQS@//' \ > >> -e 's/@PREFERRED_CGI_PKG@//' \ > >> -e 's/@REGEXP_PROVIDER@/str/' \ > >> -e 's/@COMPAT_PCRE_PROVIDER@//' \ > >> -e 's/@ZIP_PROVIDER@//' \ > >> META.in >META > >> make[2]: Leaving directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > >> make[1]: Leaving directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > >> make[1]: Entering directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > >> ocamlfind ocamldep *.ml *.mli >depend || { rm -f depend; exit 1; } > >> make[1]: Leaving directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > >> make[1]: Entering directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > >> ocamlfind ocamlc -g -I ../../src/equeue -I ../../src/netsys -package > >> "unix" -w -3-25 -c uq_tcl.mli > >> File "uq_tcl.mli", line 3, characters 5-11: > >> Error: Unbound module Equeue > >> ../../Makefile.rules:120: recipe for target 'uq_tcl.cmi' failed > >> make[1]: *** [uq_tcl.cmi] Error 2 > >> make[1]: Leaving directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > >> Makefile:40: recipe for target 'doc' failed > >> make: *** [doc] Error 2 > >> ============================================================================================ > >> > >> > >> Then directly afterwards I compiled the software, before starting > >> again a "make doc". > >> Software builds. > >> > >> Result of "make doc", after is does some work: > >> ============================================================================================ > >> [...] > >> ocamlfind ocamlc -g -I ../../src/netsys -I ../../src/netstring > >> -package "unix unix" -w -3-25 -c nettls_gnutls.ml > >> ocamlfind ocamldoc -dump ocamldoc.dump -stars -I ../../src/netsys -I > >> ../../src/netstring -package "unix unix" nettls_gnutls_bindings.mli > >> nettls_nettle_bindings.mli nettls_gnutls.mli || { rm -f ocamldoc.dump; > >> exit 1; } > >> Warning: Module type Netsys_crypto_types.DIGESTS not found > >> Warning: Module type Netsys_crypto_types.SYMMETRIC_CRYPTO not found > >> Warning: Module type Netsys_crypto_types.TLS_PROVIDER not found > >> Warning: Module or module type Netsys_crypto_types.TLS_PROVIDER not found > >> Warning: Element Netsys_types.memory not found > >> Warning: Element Netsys_types not found > >> Warning: Element Netsys_types not found > >> make[1]: Leaving directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/nettls-gnutls' > >> make[1]: Entering directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > >> make[2]: Entering directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > >> make[2]: Nothing to be done for 'realgenerate'. > >> make[2]: Leaving directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > >> make[1]: Leaving directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > >> make[1]: Entering directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > >> make[1]: 'depend' is up to date. > >> make[1]: Leaving directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > >> make[1]: Entering directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > >> ocamlfind ocamldoc -dump ocamldoc.dump -stars -I ../../src/netstring > >> -package "unix" netunidata.mli || { rm -f ocamldoc.dump; exit 1; } > >> Warning: Element Netconversion not found > >> make[1]: Leaving directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > >> make[1]: Entering directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > >> make[2]: Entering directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > >> sed -e 's/@VERSION@/4.0.4/' \ > >> -e 's/@AUTHDHREQS@//' \ > >> -e 's/@PREFERRED_CGI_PKG@//' \ > >> -e 's/@REGEXP_PROVIDER@/str/' \ > >> -e 's/@COMPAT_PCRE_PROVIDER@//' \ > >> -e 's/@ZIP_PROVIDER@//' \ > >> META.in >META > >> make[2]: Leaving directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > >> make[1]: Leaving directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > >> make[1]: Entering directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > >> ocamlfind ocamldep *.ml *.mli >depend || { rm -f depend; exit 1; } > >> make[1]: Leaving directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > >> make[1]: Entering directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > >> ocamlfind ocamlc -g -I ../../src/netstring -package "unix " -w -3-25 > >> -c netgzip.mli > >> File "netgzip.mli", line 5, characters 19-34: > >> Error: Unbound module Gzip > >> ../../Makefile.rules:120: recipe for target 'netgzip.cmi' failed > >> make[1]: *** [netgzip.cmi] Error 2 > >> make[1]: Leaving directory > >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > >> Makefile:40: recipe for target 'doc' failed > >> make: *** [doc] Error 2 > >> ~/tmp/OCamlnet-Docs/trunk/code > > >> ============================================================================================ > >> > >> > >> So it's not possible to generate the docs from the svn-stuff, even > >> though the lib itself can be build. > >> > >> Ciao, > >> Oliver > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> Zitat von Gerd Stolpmann <in...@ge...> (Wed, 04 Nov 2015 > >> 10:56:44 +0100) > >> > >> > Try it with a checked-out version of ocamlnet: > >> > > >> > svn co https://godirepo.camlcity.org/svn/lib-ocamlnet2/trunk ocamlnet > >> > > >> > Obviously the file src/equeue-gtk1/doc-ignore is missing in the tarball. > >> > > >> > Gerd > >> > > >> > > >> > Am Freitag, den 30.10.2015, 22:44 +0100 schrieb Oliver Bandel: > >> >> Hello, > >> >> > >> >> my main goal was, to get the documentation as pdf. > >> >> > >> >> So I tried the target "doc" with "make doc", to see what happens. > >> >> > >> >> The process failed with a message, that "lablgtk" is unknown. > >> >> I tried with "-enable-gtk2" (after using a fresh source dir to be sure > >> >> about this problem). > >> >> > >> >> But "lablgtk" is used anyway for the "make doc" and the stuff > >> fails again. > >> >> > >> >> > >> >> > >> >> Here is the output from "make doc": > >> >> > >> >> > >> >> > >> ================================================================================================= > >> >> ocamlnet-4.0.4> make doc > >> >> for pkg in src/*/.; do \ > >> >> test ! -f $pkg/Makefile -o -f $pkg/doc-ignore || \ > >> >> { ( cd $pkg && make -f Makefile.pre generate ) || exit; \ > >> >> ( cd $pkg && make -f Makefile.pre depend ) || exit; \ > >> >> ( cd $pkg && make ocamldoc.dump ) || exit; \ > >> >> }; \ > >> >> done > >> >> make[1]: Entering directory > >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> >> make[2]: Entering directory > >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> >> sed -e 's/@VERSION@/4.0.4/' \ > >> >> -e 's/@AUTHDHREQS@//' \ > >> >> -e 's/@PREFERRED_CGI_PKG@//' \ > >> >> -e 's/@REGEXP_PROVIDER@/str/' \ > >> >> -e 's/@COMPAT_PCRE_PROVIDER@//' \ > >> >> -e 's/@ZIP_PROVIDER@//' \ > >> >> META.in >META > >> >> make[2]: Leaving directory > >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> >> make[1]: Leaving directory > >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> >> make[1]: Entering directory > >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> >> make[1]: Leaving directory > >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> >> make[1]: Entering directory > >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> >> ocamlfind ocamlc -g -I ../../src/equeue -I ../../src/netsys -package > >> >> "unix lablgtk" -pp "../../tools/cppo-0.9.4/cppo -D GTK1" -w -3-25 -c > >> >> uq_gtk_helper.ml > >> >> ocamlfind: Package `lablgtk' not found > >> >> ../../Makefile.rules:117: recipe for target 'uq_gtk_helper.cmo' failed > >> >> make[1]: *** [uq_gtk_helper.cmo] Error 2 > >> >> make[1]: Leaving directory > >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> >> Makefile:40: recipe for target 'doc' failed > >> >> make: *** [doc] Error 2 > >> >> ocamlnet-4.0.4> > >> >> > >> ================================================================================================= > >> >> > >> >> Any ideas on that? > >> >> > >> >> Ciao, > >> >> Oliver > >> >> > >> >> > >> >> > >> ------------------------------------------------------------------------------ > >> >> _______________________________________________ > >> >> Ocamlnet-devel mailing list > >> >> Oca...@li... > >> >> https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > >> > > >> > -- > >> > ------------------------------------------------------------ > >> > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > >> > My OCaml site: http://www.camlcity.org > >> > Contact details: http://www.camlcity.org/contact.html > >> > Company homepage: http://www.gerd-stolpmann.de > >> > ------------------------------------------------------------ > >> > >> > >> > > > > -- > > ------------------------------------------------------------ > > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > > My OCaml site: http://www.camlcity.org > > Contact details: http://www.camlcity.org/contact.html > > Company homepage: http://www.gerd-stolpmann.de > > ------------------------------------------------------------ > > > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Oliver B. <ol...@fi...> - 2015-11-05 16:13:10
|
Hi, ok, I misinterpreted the last part of confugure-script. It was mentioned the DEFAULTS were -disable-<...> not that the defaults could be overwritten with -disable-<...> So I used now ./configure \ -enable-pcre \ -enable-full-pcre \ -enable-gtk \ -enable-gtk2 \ -enable-tcl \ -enable-gnutls \ -enable-gssapi \ -enable-zip \ -enable-apache \ -enable-nethttpd \ Result: configure worked fine and "make" worked fine, but "make doc" failed again: ==================================================== make[1]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' make[1]: Entering directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' ocamlfind ocamlc -g -I ../../src/netstring -package "unix " -w -3-25 -c netgzip.mli File "netgzip.mli", line 5, characters 19-34: Error: Unbound module Gzip ../../Makefile.rules:120: recipe for target 'netgzip.cmi' failed make[1]: *** [netgzip.cmi] Error 2 make[1]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' Makefile:40: recipe for target 'doc' failed make: *** [doc] Error 2 ==================================================== So, even though configure worked and make worked, make doc failed. If there is missing a module (Gzip), I would assume, that aomething before "make doc" would fail or mention the problem. Somehow it does not. More ideas on that? Ciao, Oliver Zitat von Gerd Stolpmann <in...@ge...> (Thu, 05 Nov 2015 10:47:31 +0100) > I create the documentation all the time. You need a fully configured > ocamlnet, with all bells and whistles. Which makes sense, because the > docs should be complete. > > Gerd > > Am Mittwoch, den 04.11.2015, 16:34 +0100 schrieb Oliver Bandel: >> Well, the main problem was: >> >> ocamlfind: Package `lablgtk' not found >> >> >> Now I tried with svn-stuff. >> >> The configure seems to have different defaults. >> -enable-gtk2 seems not to be necessary. >> >> So I did just "./configure". >> Then "make doc" >> >> Result: >> >> ============================================================================================ >> ~/tmp/OCamlnet-Docs/trunk/code >make doc >> for pkg in src/*/.; do \ >> test ! -f $pkg/Makefile -o -f $pkg/doc-ignore || \ >> { ( cd $pkg && make -f Makefile.pre generate ) || exit; \ >> ( cd $pkg && make -f Makefile.pre depend ) || exit; \ >> ( cd $pkg && make ocamldoc.dump ) || exit; \ >> }; \ >> done >> make[1]: Entering directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' >> make[2]: Entering directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' >> sed -e 's/@VERSION@/4.0.4/' \ >> -e 's/@AUTHDHREQS@//' \ >> -e 's/@PREFERRED_CGI_PKG@//' \ >> -e 's/@REGEXP_PROVIDER@/str/' \ >> -e 's/@COMPAT_PCRE_PROVIDER@//' \ >> -e 's/@ZIP_PROVIDER@//' \ >> META.in >META >> make[2]: Leaving directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' >> make[1]: Leaving directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' >> make[1]: Entering directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' >> ocamlfind ocamldep *.ml *.mli >depend || { rm -f depend; exit 1; } >> make[1]: Leaving directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' >> make[1]: Entering directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' >> ocamlfind ocamlc -g -I ../../src/equeue -I ../../src/netsys -package >> "unix" -w -3-25 -c uq_tcl.mli >> File "uq_tcl.mli", line 3, characters 5-11: >> Error: Unbound module Equeue >> ../../Makefile.rules:120: recipe for target 'uq_tcl.cmi' failed >> make[1]: *** [uq_tcl.cmi] Error 2 >> make[1]: Leaving directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' >> Makefile:40: recipe for target 'doc' failed >> make: *** [doc] Error 2 >> ============================================================================================ >> >> >> Then directly afterwards I compiled the software, before starting >> again a "make doc". >> Software builds. >> >> Result of "make doc", after is does some work: >> ============================================================================================ >> [...] >> ocamlfind ocamlc -g -I ../../src/netsys -I ../../src/netstring >> -package "unix unix" -w -3-25 -c nettls_gnutls.ml >> ocamlfind ocamldoc -dump ocamldoc.dump -stars -I ../../src/netsys -I >> ../../src/netstring -package "unix unix" nettls_gnutls_bindings.mli >> nettls_nettle_bindings.mli nettls_gnutls.mli || { rm -f ocamldoc.dump; >> exit 1; } >> Warning: Module type Netsys_crypto_types.DIGESTS not found >> Warning: Module type Netsys_crypto_types.SYMMETRIC_CRYPTO not found >> Warning: Module type Netsys_crypto_types.TLS_PROVIDER not found >> Warning: Module or module type Netsys_crypto_types.TLS_PROVIDER not found >> Warning: Element Netsys_types.memory not found >> Warning: Element Netsys_types not found >> Warning: Element Netsys_types not found >> make[1]: Leaving directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/nettls-gnutls' >> make[1]: Entering directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' >> make[2]: Entering directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' >> make[2]: Nothing to be done for 'realgenerate'. >> make[2]: Leaving directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' >> make[1]: Leaving directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' >> make[1]: Entering directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' >> make[1]: 'depend' is up to date. >> make[1]: Leaving directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' >> make[1]: Entering directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' >> ocamlfind ocamldoc -dump ocamldoc.dump -stars -I ../../src/netstring >> -package "unix" netunidata.mli || { rm -f ocamldoc.dump; exit 1; } >> Warning: Element Netconversion not found >> make[1]: Leaving directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' >> make[1]: Entering directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' >> make[2]: Entering directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' >> sed -e 's/@VERSION@/4.0.4/' \ >> -e 's/@AUTHDHREQS@//' \ >> -e 's/@PREFERRED_CGI_PKG@//' \ >> -e 's/@REGEXP_PROVIDER@/str/' \ >> -e 's/@COMPAT_PCRE_PROVIDER@//' \ >> -e 's/@ZIP_PROVIDER@//' \ >> META.in >META >> make[2]: Leaving directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' >> make[1]: Leaving directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' >> make[1]: Entering directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' >> ocamlfind ocamldep *.ml *.mli >depend || { rm -f depend; exit 1; } >> make[1]: Leaving directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' >> make[1]: Entering directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' >> ocamlfind ocamlc -g -I ../../src/netstring -package "unix " -w -3-25 >> -c netgzip.mli >> File "netgzip.mli", line 5, characters 19-34: >> Error: Unbound module Gzip >> ../../Makefile.rules:120: recipe for target 'netgzip.cmi' failed >> make[1]: *** [netgzip.cmi] Error 2 >> make[1]: Leaving directory >> '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' >> Makefile:40: recipe for target 'doc' failed >> make: *** [doc] Error 2 >> ~/tmp/OCamlnet-Docs/trunk/code > >> ============================================================================================ >> >> >> So it's not possible to generate the docs from the svn-stuff, even >> though the lib itself can be build. >> >> Ciao, >> Oliver >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> Zitat von Gerd Stolpmann <in...@ge...> (Wed, 04 Nov 2015 >> 10:56:44 +0100) >> >> > Try it with a checked-out version of ocamlnet: >> > >> > svn co https://godirepo.camlcity.org/svn/lib-ocamlnet2/trunk ocamlnet >> > >> > Obviously the file src/equeue-gtk1/doc-ignore is missing in the tarball. >> > >> > Gerd >> > >> > >> > Am Freitag, den 30.10.2015, 22:44 +0100 schrieb Oliver Bandel: >> >> Hello, >> >> >> >> my main goal was, to get the documentation as pdf. >> >> >> >> So I tried the target "doc" with "make doc", to see what happens. >> >> >> >> The process failed with a message, that "lablgtk" is unknown. >> >> I tried with "-enable-gtk2" (after using a fresh source dir to be sure >> >> about this problem). >> >> >> >> But "lablgtk" is used anyway for the "make doc" and the stuff >> fails again. >> >> >> >> >> >> >> >> Here is the output from "make doc": >> >> >> >> >> >> >> ================================================================================================= >> >> ocamlnet-4.0.4> make doc >> >> for pkg in src/*/.; do \ >> >> test ! -f $pkg/Makefile -o -f $pkg/doc-ignore || \ >> >> { ( cd $pkg && make -f Makefile.pre generate ) || exit; \ >> >> ( cd $pkg && make -f Makefile.pre depend ) || exit; \ >> >> ( cd $pkg && make ocamldoc.dump ) || exit; \ >> >> }; \ >> >> done >> >> make[1]: Entering directory >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> >> make[2]: Entering directory >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> >> sed -e 's/@VERSION@/4.0.4/' \ >> >> -e 's/@AUTHDHREQS@//' \ >> >> -e 's/@PREFERRED_CGI_PKG@//' \ >> >> -e 's/@REGEXP_PROVIDER@/str/' \ >> >> -e 's/@COMPAT_PCRE_PROVIDER@//' \ >> >> -e 's/@ZIP_PROVIDER@//' \ >> >> META.in >META >> >> make[2]: Leaving directory >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> >> make[1]: Leaving directory >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> >> make[1]: Entering directory >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> >> make[1]: Leaving directory >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> >> make[1]: Entering directory >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> >> ocamlfind ocamlc -g -I ../../src/equeue -I ../../src/netsys -package >> >> "unix lablgtk" -pp "../../tools/cppo-0.9.4/cppo -D GTK1" -w -3-25 -c >> >> uq_gtk_helper.ml >> >> ocamlfind: Package `lablgtk' not found >> >> ../../Makefile.rules:117: recipe for target 'uq_gtk_helper.cmo' failed >> >> make[1]: *** [uq_gtk_helper.cmo] Error 2 >> >> make[1]: Leaving directory >> >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> >> Makefile:40: recipe for target 'doc' failed >> >> make: *** [doc] Error 2 >> >> ocamlnet-4.0.4> >> >> >> ================================================================================================= >> >> >> >> Any ideas on that? >> >> >> >> Ciao, >> >> Oliver >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> >> _______________________________________________ >> >> Ocamlnet-devel mailing list >> >> Oca...@li... >> >> https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel >> > >> > -- >> > ------------------------------------------------------------ >> > Gerd Stolpmann, Darmstadt, Germany ge...@ge... >> > My OCaml site: http://www.camlcity.org >> > Contact details: http://www.camlcity.org/contact.html >> > Company homepage: http://www.gerd-stolpmann.de >> > ------------------------------------------------------------ >> >> >> > > -- > ------------------------------------------------------------ > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > My OCaml site: http://www.camlcity.org > Contact details: http://www.camlcity.org/contact.html > Company homepage: http://www.gerd-stolpmann.de > ------------------------------------------------------------ |
From: Gerd S. <in...@ge...> - 2015-11-05 09:47:54
|
I create the documentation all the time. You need a fully configured ocamlnet, with all bells and whistles. Which makes sense, because the docs should be complete. Gerd Am Mittwoch, den 04.11.2015, 16:34 +0100 schrieb Oliver Bandel: > Well, the main problem was: > > ocamlfind: Package `lablgtk' not found > > > Now I tried with svn-stuff. > > The configure seems to have different defaults. > -enable-gtk2 seems not to be necessary. > > So I did just "./configure". > Then "make doc" > > Result: > > ============================================================================================ > ~/tmp/OCamlnet-Docs/trunk/code >make doc > for pkg in src/*/.; do \ > test ! -f $pkg/Makefile -o -f $pkg/doc-ignore || \ > { ( cd $pkg && make -f Makefile.pre generate ) || exit; \ > ( cd $pkg && make -f Makefile.pre depend ) || exit; \ > ( cd $pkg && make ocamldoc.dump ) || exit; \ > }; \ > done > make[1]: Entering directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > make[2]: Entering directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > sed -e 's/@VERSION@/4.0.4/' \ > -e 's/@AUTHDHREQS@//' \ > -e 's/@PREFERRED_CGI_PKG@//' \ > -e 's/@REGEXP_PROVIDER@/str/' \ > -e 's/@COMPAT_PCRE_PROVIDER@//' \ > -e 's/@ZIP_PROVIDER@//' \ > META.in >META > make[2]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > make[1]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > make[1]: Entering directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > ocamlfind ocamldep *.ml *.mli >depend || { rm -f depend; exit 1; } > make[1]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > make[1]: Entering directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > ocamlfind ocamlc -g -I ../../src/equeue -I ../../src/netsys -package > "unix" -w -3-25 -c uq_tcl.mli > File "uq_tcl.mli", line 3, characters 5-11: > Error: Unbound module Equeue > ../../Makefile.rules:120: recipe for target 'uq_tcl.cmi' failed > make[1]: *** [uq_tcl.cmi] Error 2 > make[1]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' > Makefile:40: recipe for target 'doc' failed > make: *** [doc] Error 2 > ============================================================================================ > > > Then directly afterwards I compiled the software, before starting > again a "make doc". > Software builds. > > Result of "make doc", after is does some work: > ============================================================================================ > [...] > ocamlfind ocamlc -g -I ../../src/netsys -I ../../src/netstring > -package "unix unix" -w -3-25 -c nettls_gnutls.ml > ocamlfind ocamldoc -dump ocamldoc.dump -stars -I ../../src/netsys -I > ../../src/netstring -package "unix unix" nettls_gnutls_bindings.mli > nettls_nettle_bindings.mli nettls_gnutls.mli || { rm -f ocamldoc.dump; > exit 1; } > Warning: Module type Netsys_crypto_types.DIGESTS not found > Warning: Module type Netsys_crypto_types.SYMMETRIC_CRYPTO not found > Warning: Module type Netsys_crypto_types.TLS_PROVIDER not found > Warning: Module or module type Netsys_crypto_types.TLS_PROVIDER not found > Warning: Element Netsys_types.memory not found > Warning: Element Netsys_types not found > Warning: Element Netsys_types not found > make[1]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/nettls-gnutls' > make[1]: Entering directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > make[2]: Entering directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > make[2]: Nothing to be done for 'realgenerate'. > make[2]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > make[1]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > make[1]: Entering directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > make[1]: 'depend' is up to date. > make[1]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > make[1]: Entering directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > ocamlfind ocamldoc -dump ocamldoc.dump -stars -I ../../src/netstring > -package "unix" netunidata.mli || { rm -f ocamldoc.dump; exit 1; } > Warning: Element Netconversion not found > make[1]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' > make[1]: Entering directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > make[2]: Entering directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > sed -e 's/@VERSION@/4.0.4/' \ > -e 's/@AUTHDHREQS@//' \ > -e 's/@PREFERRED_CGI_PKG@//' \ > -e 's/@REGEXP_PROVIDER@/str/' \ > -e 's/@COMPAT_PCRE_PROVIDER@//' \ > -e 's/@ZIP_PROVIDER@//' \ > META.in >META > make[2]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > make[1]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > make[1]: Entering directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > ocamlfind ocamldep *.ml *.mli >depend || { rm -f depend; exit 1; } > make[1]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > make[1]: Entering directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > ocamlfind ocamlc -g -I ../../src/netstring -package "unix " -w -3-25 > -c netgzip.mli > File "netgzip.mli", line 5, characters 19-34: > Error: Unbound module Gzip > ../../Makefile.rules:120: recipe for target 'netgzip.cmi' failed > make[1]: *** [netgzip.cmi] Error 2 > make[1]: Leaving directory > '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' > Makefile:40: recipe for target 'doc' failed > make: *** [doc] Error 2 > ~/tmp/OCamlnet-Docs/trunk/code > > ============================================================================================ > > > So it's not possible to generate the docs from the svn-stuff, even > though the lib itself can be build. > > Ciao, > Oliver > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Zitat von Gerd Stolpmann <in...@ge...> (Wed, 04 Nov 2015 > 10:56:44 +0100) > > > Try it with a checked-out version of ocamlnet: > > > > svn co https://godirepo.camlcity.org/svn/lib-ocamlnet2/trunk ocamlnet > > > > Obviously the file src/equeue-gtk1/doc-ignore is missing in the tarball. > > > > Gerd > > > > > > Am Freitag, den 30.10.2015, 22:44 +0100 schrieb Oliver Bandel: > >> Hello, > >> > >> my main goal was, to get the documentation as pdf. > >> > >> So I tried the target "doc" with "make doc", to see what happens. > >> > >> The process failed with a message, that "lablgtk" is unknown. > >> I tried with "-enable-gtk2" (after using a fresh source dir to be sure > >> about this problem). > >> > >> But "lablgtk" is used anyway for the "make doc" and the stuff fails again. > >> > >> > >> > >> Here is the output from "make doc": > >> > >> > >> ================================================================================================= > >> ocamlnet-4.0.4> make doc > >> for pkg in src/*/.; do \ > >> test ! -f $pkg/Makefile -o -f $pkg/doc-ignore || \ > >> { ( cd $pkg && make -f Makefile.pre generate ) || exit; \ > >> ( cd $pkg && make -f Makefile.pre depend ) || exit; \ > >> ( cd $pkg && make ocamldoc.dump ) || exit; \ > >> }; \ > >> done > >> make[1]: Entering directory > >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> make[2]: Entering directory > >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> sed -e 's/@VERSION@/4.0.4/' \ > >> -e 's/@AUTHDHREQS@//' \ > >> -e 's/@PREFERRED_CGI_PKG@//' \ > >> -e 's/@REGEXP_PROVIDER@/str/' \ > >> -e 's/@COMPAT_PCRE_PROVIDER@//' \ > >> -e 's/@ZIP_PROVIDER@//' \ > >> META.in >META > >> make[2]: Leaving directory > >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> make[1]: Leaving directory > >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> make[1]: Entering directory > >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> make[1]: Leaving directory > >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> make[1]: Entering directory > >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> ocamlfind ocamlc -g -I ../../src/equeue -I ../../src/netsys -package > >> "unix lablgtk" -pp "../../tools/cppo-0.9.4/cppo -D GTK1" -w -3-25 -c > >> uq_gtk_helper.ml > >> ocamlfind: Package `lablgtk' not found > >> ../../Makefile.rules:117: recipe for target 'uq_gtk_helper.cmo' failed > >> make[1]: *** [uq_gtk_helper.cmo] Error 2 > >> make[1]: Leaving directory > >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > >> Makefile:40: recipe for target 'doc' failed > >> make: *** [doc] Error 2 > >> ocamlnet-4.0.4> > >> ================================================================================================= > >> > >> Any ideas on that? > >> > >> Ciao, > >> Oliver > >> > >> > >> ------------------------------------------------------------------------------ > >> _______________________________________________ > >> Ocamlnet-devel mailing list > >> Oca...@li... > >> https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > > > > -- > > ------------------------------------------------------------ > > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > > My OCaml site: http://www.camlcity.org > > Contact details: http://www.camlcity.org/contact.html > > Company homepage: http://www.gerd-stolpmann.de > > ------------------------------------------------------------ > > > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Oliver B. <ol...@fi...> - 2015-11-04 15:34:37
|
Well, the main problem was: ocamlfind: Package `lablgtk' not found Now I tried with svn-stuff. The configure seems to have different defaults. -enable-gtk2 seems not to be necessary. So I did just "./configure". Then "make doc" Result: ============================================================================================ ~/tmp/OCamlnet-Docs/trunk/code >make doc for pkg in src/*/.; do \ test ! -f $pkg/Makefile -o -f $pkg/doc-ignore || \ { ( cd $pkg && make -f Makefile.pre generate ) || exit; \ ( cd $pkg && make -f Makefile.pre depend ) || exit; \ ( cd $pkg && make ocamldoc.dump ) || exit; \ }; \ done make[1]: Entering directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' make[2]: Entering directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' sed -e 's/@VERSION@/4.0.4/' \ -e 's/@AUTHDHREQS@//' \ -e 's/@PREFERRED_CGI_PKG@//' \ -e 's/@REGEXP_PROVIDER@/str/' \ -e 's/@COMPAT_PCRE_PROVIDER@//' \ -e 's/@ZIP_PROVIDER@//' \ META.in >META make[2]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' make[1]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' make[1]: Entering directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' ocamlfind ocamldep *.ml *.mli >depend || { rm -f depend; exit 1; } make[1]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' make[1]: Entering directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' ocamlfind ocamlc -g -I ../../src/equeue -I ../../src/netsys -package "unix" -w -3-25 -c uq_tcl.mli File "uq_tcl.mli", line 3, characters 5-11: Error: Unbound module Equeue ../../Makefile.rules:120: recipe for target 'uq_tcl.cmi' failed make[1]: *** [uq_tcl.cmi] Error 2 make[1]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/equeue-tcl' Makefile:40: recipe for target 'doc' failed make: *** [doc] Error 2 ============================================================================================ Then directly afterwards I compiled the software, before starting again a "make doc". Software builds. Result of "make doc", after is does some work: ============================================================================================ [...] ocamlfind ocamlc -g -I ../../src/netsys -I ../../src/netstring -package "unix unix" -w -3-25 -c nettls_gnutls.ml ocamlfind ocamldoc -dump ocamldoc.dump -stars -I ../../src/netsys -I ../../src/netstring -package "unix unix" nettls_gnutls_bindings.mli nettls_nettle_bindings.mli nettls_gnutls.mli || { rm -f ocamldoc.dump; exit 1; } Warning: Module type Netsys_crypto_types.DIGESTS not found Warning: Module type Netsys_crypto_types.SYMMETRIC_CRYPTO not found Warning: Module type Netsys_crypto_types.TLS_PROVIDER not found Warning: Module or module type Netsys_crypto_types.TLS_PROVIDER not found Warning: Element Netsys_types.memory not found Warning: Element Netsys_types not found Warning: Element Netsys_types not found make[1]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/nettls-gnutls' make[1]: Entering directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' make[2]: Entering directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' make[2]: Nothing to be done for 'realgenerate'. make[2]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' make[1]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' make[1]: Entering directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' make[1]: 'depend' is up to date. make[1]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' make[1]: Entering directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' ocamlfind ocamldoc -dump ocamldoc.dump -stars -I ../../src/netstring -package "unix" netunidata.mli || { rm -f ocamldoc.dump; exit 1; } Warning: Element Netconversion not found make[1]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netunidata' make[1]: Entering directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' make[2]: Entering directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' sed -e 's/@VERSION@/4.0.4/' \ -e 's/@AUTHDHREQS@//' \ -e 's/@PREFERRED_CGI_PKG@//' \ -e 's/@REGEXP_PROVIDER@/str/' \ -e 's/@COMPAT_PCRE_PROVIDER@//' \ -e 's/@ZIP_PROVIDER@//' \ META.in >META make[2]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' make[1]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' make[1]: Entering directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' ocamlfind ocamldep *.ml *.mli >depend || { rm -f depend; exit 1; } make[1]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' make[1]: Entering directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' ocamlfind ocamlc -g -I ../../src/netstring -package "unix " -w -3-25 -c netgzip.mli File "netgzip.mli", line 5, characters 19-34: Error: Unbound module Gzip ../../Makefile.rules:120: recipe for target 'netgzip.cmi' failed make[1]: *** [netgzip.cmi] Error 2 make[1]: Leaving directory '/home/oliver/tmp/OCamlnet-Docs/trunk/code/src/netzip' Makefile:40: recipe for target 'doc' failed make: *** [doc] Error 2 ~/tmp/OCamlnet-Docs/trunk/code > ============================================================================================ So it's not possible to generate the docs from the svn-stuff, even though the lib itself can be build. Ciao, Oliver Zitat von Gerd Stolpmann <in...@ge...> (Wed, 04 Nov 2015 10:56:44 +0100) > Try it with a checked-out version of ocamlnet: > > svn co https://godirepo.camlcity.org/svn/lib-ocamlnet2/trunk ocamlnet > > Obviously the file src/equeue-gtk1/doc-ignore is missing in the tarball. > > Gerd > > > Am Freitag, den 30.10.2015, 22:44 +0100 schrieb Oliver Bandel: >> Hello, >> >> my main goal was, to get the documentation as pdf. >> >> So I tried the target "doc" with "make doc", to see what happens. >> >> The process failed with a message, that "lablgtk" is unknown. >> I tried with "-enable-gtk2" (after using a fresh source dir to be sure >> about this problem). >> >> But "lablgtk" is used anyway for the "make doc" and the stuff fails again. >> >> >> >> Here is the output from "make doc": >> >> >> ================================================================================================= >> ocamlnet-4.0.4> make doc >> for pkg in src/*/.; do \ >> test ! -f $pkg/Makefile -o -f $pkg/doc-ignore || \ >> { ( cd $pkg && make -f Makefile.pre generate ) || exit; \ >> ( cd $pkg && make -f Makefile.pre depend ) || exit; \ >> ( cd $pkg && make ocamldoc.dump ) || exit; \ >> }; \ >> done >> make[1]: Entering directory >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> make[2]: Entering directory >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> sed -e 's/@VERSION@/4.0.4/' \ >> -e 's/@AUTHDHREQS@//' \ >> -e 's/@PREFERRED_CGI_PKG@//' \ >> -e 's/@REGEXP_PROVIDER@/str/' \ >> -e 's/@COMPAT_PCRE_PROVIDER@//' \ >> -e 's/@ZIP_PROVIDER@//' \ >> META.in >META >> make[2]: Leaving directory >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> make[1]: Leaving directory >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> make[1]: Entering directory >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> make[1]: Leaving directory >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> make[1]: Entering directory >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> ocamlfind ocamlc -g -I ../../src/equeue -I ../../src/netsys -package >> "unix lablgtk" -pp "../../tools/cppo-0.9.4/cppo -D GTK1" -w -3-25 -c >> uq_gtk_helper.ml >> ocamlfind: Package `lablgtk' not found >> ../../Makefile.rules:117: recipe for target 'uq_gtk_helper.cmo' failed >> make[1]: *** [uq_gtk_helper.cmo] Error 2 >> make[1]: Leaving directory >> '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' >> Makefile:40: recipe for target 'doc' failed >> make: *** [doc] Error 2 >> ocamlnet-4.0.4> >> ================================================================================================= >> >> Any ideas on that? >> >> Ciao, >> Oliver >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Ocamlnet-devel mailing list >> Oca...@li... >> https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel > > -- > ------------------------------------------------------------ > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > My OCaml site: http://www.camlcity.org > Contact details: http://www.camlcity.org/contact.html > Company homepage: http://www.gerd-stolpmann.de > ------------------------------------------------------------ |
From: Gerd S. <in...@ge...> - 2015-11-04 10:10:18
|
Try it with a checked-out version of ocamlnet: svn co https://godirepo.camlcity.org/svn/lib-ocamlnet2/trunk ocamlnet Obviously the file src/equeue-gtk1/doc-ignore is missing in the tarball. Gerd Am Freitag, den 30.10.2015, 22:44 +0100 schrieb Oliver Bandel: > Hello, > > my main goal was, to get the documentation as pdf. > > So I tried the target "doc" with "make doc", to see what happens. > > The process failed with a message, that "lablgtk" is unknown. > I tried with "-enable-gtk2" (after using a fresh source dir to be sure > about this problem). > > But "lablgtk" is used anyway for the "make doc" and the stuff fails again. > > > > Here is the output from "make doc": > > > ================================================================================================= > ocamlnet-4.0.4> make doc > for pkg in src/*/.; do \ > test ! -f $pkg/Makefile -o -f $pkg/doc-ignore || \ > { ( cd $pkg && make -f Makefile.pre generate ) || exit; \ > ( cd $pkg && make -f Makefile.pre depend ) || exit; \ > ( cd $pkg && make ocamldoc.dump ) || exit; \ > }; \ > done > make[1]: Entering directory > '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > make[2]: Entering directory > '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > sed -e 's/@VERSION@/4.0.4/' \ > -e 's/@AUTHDHREQS@//' \ > -e 's/@PREFERRED_CGI_PKG@//' \ > -e 's/@REGEXP_PROVIDER@/str/' \ > -e 's/@COMPAT_PCRE_PROVIDER@//' \ > -e 's/@ZIP_PROVIDER@//' \ > META.in >META > make[2]: Leaving directory > '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > make[1]: Leaving directory > '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > make[1]: Entering directory > '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > make[1]: Leaving directory > '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > make[1]: Entering directory > '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > ocamlfind ocamlc -g -I ../../src/equeue -I ../../src/netsys -package > "unix lablgtk" -pp "../../tools/cppo-0.9.4/cppo -D GTK1" -w -3-25 -c > uq_gtk_helper.ml > ocamlfind: Package `lablgtk' not found > ../../Makefile.rules:117: recipe for target 'uq_gtk_helper.cmo' failed > make[1]: *** [uq_gtk_helper.cmo] Error 2 > make[1]: Leaving directory > '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' > Makefile:40: recipe for target 'doc' failed > make: *** [doc] Error 2 > ocamlnet-4.0.4> > ================================================================================================= > > Any ideas on that? > > Ciao, > Oliver > > > ------------------------------------------------------------------------------ > _______________________________________________ > Ocamlnet-devel mailing list > Oca...@li... > https://lists.sourceforge.net/lists/listinfo/ocamlnet-devel -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Oliver B. <ol...@fi...> - 2015-10-30 22:04:23
|
Hello, my main goal was, to get the documentation as pdf. So I tried the target "doc" with "make doc", to see what happens. The process failed with a message, that "lablgtk" is unknown. I tried with "-enable-gtk2" (after using a fresh source dir to be sure about this problem). But "lablgtk" is used anyway for the "make doc" and the stuff fails again. Here is the output from "make doc": ================================================================================================= ocamlnet-4.0.4> make doc for pkg in src/*/.; do \ test ! -f $pkg/Makefile -o -f $pkg/doc-ignore || \ { ( cd $pkg && make -f Makefile.pre generate ) || exit; \ ( cd $pkg && make -f Makefile.pre depend ) || exit; \ ( cd $pkg && make ocamldoc.dump ) || exit; \ }; \ done make[1]: Entering directory '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' make[2]: Entering directory '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' sed -e 's/@VERSION@/4.0.4/' \ -e 's/@AUTHDHREQS@//' \ -e 's/@PREFERRED_CGI_PKG@//' \ -e 's/@REGEXP_PROVIDER@/str/' \ -e 's/@COMPAT_PCRE_PROVIDER@//' \ -e 's/@ZIP_PROVIDER@//' \ META.in >META make[2]: Leaving directory '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' make[1]: Leaving directory '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' make[1]: Entering directory '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' make[1]: Leaving directory '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' make[1]: Entering directory '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' ocamlfind ocamlc -g -I ../../src/equeue -I ../../src/netsys -package "unix lablgtk" -pp "../../tools/cppo-0.9.4/cppo -D GTK1" -w -3-25 -c uq_gtk_helper.ml ocamlfind: Package `lablgtk' not found ../../Makefile.rules:117: recipe for target 'uq_gtk_helper.cmo' failed make[1]: *** [uq_gtk_helper.cmo] Error 2 make[1]: Leaving directory '/home/oliver/AUR4/ocamlnet/src/ocamlnet-4.0.4/src/equeue-gtk1' Makefile:40: recipe for target 'doc' failed make: *** [doc] Error 2 ocamlnet-4.0.4> ================================================================================================= Any ideas on that? Ciao, Oliver |
From: Gerd S. <in...@ge...> - 2015-06-21 15:38:15
|
Hi, the new patch release fixes: - GnuTLS is now used in a way so that /dev/urandom is not kept open all the time - GnuTLS wrapper: Diffie Hellman parameters are passed down - Nethttpd_plex: the post_add_hook was ignored - Nethtml: new option case_sensitive (for XML compatibility) See http://projects.camlcity.org/projects/ocamlnet.html for details. Gerd -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Thomas C. <cal...@gm...> - 2015-06-02 12:23:49
|
Hi, After further investigation, I can reproduce it on a standard Linux kernel. Here's the gdb backtrace when the controller is stuck (seems fork() fails at low-level): (gdb) bt #0 __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:95 #1 0x00007f8e37e91eeb in _L_lock_13840 () from /lib/x86_64-linux-gnu/libc.so.6 #2 0x00007f8e37e8ffb8 in __GI___libc_realloc (oldmem=0x15b2260, bytes=574) at malloc.c:3025 #3 0x00007f8e37e7f2db in _IO_vasprintf (result_ptr=0x7fff5a19b2f0, format=<optimized out>, args=args@entry=0x7fff5a19b1c8) at vasprintf.c:84 #4 0x00007f8e37e61657 in ___asprintf (string_ptr=string_ptr@entry =0x7fff5a19b2f0, format=format@entry=0x7f8e37f8d830 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n") at asprintf.c:35 #5 0x00007f8e37e3cae2 in __assert_fail_base (fmt=0x7f8e37f8d830 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7f8e37f90a38 "({ __typeof (self->tid) __value; if (sizeof (__value) == 1) asm volatile (\"movb %%fs:%P2,%b0\" : \"=q\" (__value) : \"0\" (0), \"i\" (__builtin_offsetof (struct pthread, tid))); else if (sizeof (__value) == "..., file=file@entry=0x7f8e37f90a00 "../nptl/sysdeps/unix/sysv/linux/x86_64/../fork.c", line=line@entry=141, function=function@entry=0x7f8e37f8b38d <__PRETTY_FUNCTION__.11207> "__libc_fork") at assert.c:57 #6 0x00007f8e37e3cc32 in __GI___assert_fail ( assertion=0x7f8e37f90a38 "({ __typeof (self->tid) __value; if (sizeof (__value) == 1) asm volatile (\"movb %%fs:%P2,%b0\" : \"=q\" (__value) : \"0\" (0), \"i\" (__builtin_offsetof (struct pthread, tid))); else if (sizeof (__value) == "..., file=0x7f8e37f90a00 "../nptl/sysdeps/unix/sysv/linux/x86_64/../fork.c", line=141, function=0x7f8e37f8b38d <__PRETTY_FUNCTION__.11207> "__libc_fork") at assert.c:101 #7 0x00007f8e37ece252 in __libc_fork () at ../nptl/sysdeps/unix/sysv/linux/x86_64/../fork.c:141 #8 0x000000000062b7a6 in unix_fork () #9 0x00000000004b88b4 in camlNetplex_mp__fun_1577 () at netplex_mp.ml:80 #10 0x00000000004d54ef in camlNetplex_controller__fun_3861 () at netplex_controller.ml:359 #11 0x00000000004d5dd8 in camlNetplex_controller__fun_3830 () at netplex_controller.ml:265 #12 0x00000000004c8355 in camlNetplex_workload__fun_2015 () at netplex_workload.ml:332 #13 0x00000000004c8b06 in camlNetplex_workload__fun_1982 () at netplex_workload.ml:230 #14 0x00000000004d445e in camlNetplex_controller__fun_4158 () at netplex_controller.ml:665 #15 0x00000000004d339d in camlNetplex_controller__fun_4275 () at netplex_controller.ml:896 #16 0x000000000050fbdc in camlRpc_server__protect_1582 () at rpc_server.ml:504 #17 0x000000000050fbdc in camlRpc_server__protect_1582 () at rpc_server.ml:504 #18 0x00000000005144fa in camlRpc_server__handle_incoming_message_1710 () at rpc_server.ml:889 #19 0x00000000005392ba in camlUq_multiplex__anyway_1042 () at uq_multiplex.ml:20 #20 0x0000000000531abe in camlUq_multiplex__fun_3594 () at uq_multiplex.ml:464 #21 0x000000000051b33e in camlUnixqueue_pollset__forward_event_to_1567 () at unixqueue_pollset.ml:768 #22 0x0000000000517f88 in camlEqueue__fun_1262 () at equeue.ml:166 #23 0x00000000005eaea9 in camlQueue__iter_1048 () at queue.ml:135 #24 0x0000000000518a02 in camlEqueue__run_1070 () at equeue.ml:159 #25 0x000000000051cdc9 in camlUnixqueue_pollset__fun_3391 () at unixqueue_pollset.ml:999 #26 0x00000000004e54a4 in camlNetplex_main__run_controller_1077 () at netplex_main.ml:130 #27 0x00000000004e4348 in camlNetplex_main__fun_1295 () at netplex_main.ml:312 ---Type <return> to continue, or q <return> to quit--- #28 0x00000000004e574d in camlNetplex_main__redirect_logger_1094 () at netplex_main.ml:187 #29 0x00000000004e4a20 in camlNetplex_main__fun_1287 () at netplex_main.ml:294 #30 0x000000000043c2f4 in camlServer__entry () #31 0x00000000004063e9 in caml_program () #32 0x0000000000642934 in caml_start_program () #33 0x0000000000630a0a in caml_main () #34 0x0000000000630a4c in main () Reading over the line 141 of glibc's fork.c, it seems this assert fails: assert (THREAD_GETMEM (self, tid) != ppid); This is triggered when the worker process PID in the namespace reaches that of the ancestor on the host. Cheers, Thomas On Mon, Jun 1, 2015 at 6:10 PM, Thomas Calderon <cal...@gm...> wrote: > OK, > > I am investigating further, I have some more hints that it might be > related to the Linux PID namespace implementation. > I am trying to reproduce the issue outside OCaml/Ocamlnet. > > I will keep you posted. > > Thanks > > On Mon, Jun 1, 2015 at 6:05 PM, Gerd Stolpmann <in...@ge...> > wrote: > >> Just a guess: There is a Unix.getpid call in Netplex_mp. This call >> returns the PID in the new PID space, and this PID is different from the >> PID returned by fork() (look into the sources of Netplex_mp, where both >> is done). I do not remember for what the PID is used, but it is probably >> a key in a management data structure. Then (and this is the unverified >> part of my guess), some lookup fails that normally cannot fail, and the >> controller gets confused. >> >> Note that you do not see the getpid() calls in the strace because it is >> not a real syscall (afaik the kernel just writes the PID into some >> memory location after fork/clone, where glibc expects it). >> >> I don't know whether this is really the problem, but if so, the fix is >> probably not trivial. The controller would have to tell the container >> via the control socket what the PID from the view of the controller is; >> or via the pipe that is used inside Netplex_mp for synchronization. >> >> The restart_syscall thing you observed is just a poll waiting for an >> event. strace just doesn't print it cleanly. >> >> Gerd >> >> Am Montag, den 01.06.2015, 13:03 +0200 schrieb Thomas Calderon: >> > Hello Gerd, >> > >> > >> > I do not think I reach the limit of the maximum number of processes >> > since I have at most 3 defunct processes. >> > I would also be likely to see some other message indicating I reached >> > this limit (GrSecurity would leave a trace). >> > >> > >> > When attaching to stalled instances, the controller and worker >> > instances (except one) are blocked on : >> > restart_syscall(<... resuming interrupted call ...> >> > >> > >> > As mentioned, one of the worker process is blocked on: >> > futex(0x...., FUTEX_WAIT_PRIVATE, 2, NULL >> > >> > >> > You will find the strace -f as an attachment. >> > >> > >> > >> > Cheers, >> > >> > >> > Thomas >> > >> > On Mon, Jun 1, 2015 at 12:13 PM, Gerd Stolpmann >> > <in...@ge...> wrote: >> > Am Montag, den 01.06.2015, 11:06 +0200 schrieb Thomas >> > Calderon: >> > > Hi, >> > > >> > > >> > > We are observing an issue when using OCamlnet netplex in >> > combination >> > > with VServer PID namespaces. >> > > We are using Netplex in the multi-process mode. >> > > >> > > >> > > Here is what we are doing: >> > > - start our netplex controller >> > > - use the post_add_hook to enter a new PID namespace >> > > - use dynamic workload manager to spawn child workers >> > > - configured with conn_limit=1 >> > > >> > > >> > > - launch a loop of client connections >> > > - this spawns a new worker process for each connection >> > > >> > > >> > > After several successful connections of the loop, clients >> > cannot >> > > connect anymore. >> > > We observe some worker processes in a defunct/zombie state. >> > > The controller and running worker processes seem deadlocked >> > in some >> > > condition. >> > > >> > > >> > > When we do not use the post_add_hook to enter a new PID >> > namespace, the >> > > problem cannot be triggered anymore. >> > > >> > > >> > > Do you have any hint on this? >> > >> > >> > The controller runs of course waitpid() on the terminated >> > processes to >> > un-zombie these, and obviously this does not work. I guess you >> > reach >> > then the maximum number of processes after some time. >> > >> > You say "vServer" but there are several such technologies >> > (Linux >> > containers, Virtuozzo, maybe some derived products). I also >> > don't know >> > much about this corner of the OS. >> > >> > What would definitely help is an strace -f of the server. >> > >> > Gerd >> > >> > >> > >> > > >> > > >> > > Many thanks. >> > > >> > > >> > > Thomas >> > >> > -- >> > ------------------------------------------------------------ >> > Gerd Stolpmann, Darmstadt, Germany ge...@ge... >> > My OCaml site: http://www.camlcity.org >> > Contact details: http://www.camlcity.org/contact.html >> > Company homepage: http://www.gerd-stolpmann.de >> > ------------------------------------------------------------ >> > >> > >> > >> >> -- >> ------------------------------------------------------------ >> Gerd Stolpmann, Darmstadt, Germany ge...@ge... >> My OCaml site: http://www.camlcity.org >> Contact details: http://www.camlcity.org/contact.html >> Company homepage: http://www.gerd-stolpmann.de >> ------------------------------------------------------------ >> >> > |
From: Thomas C. <cal...@gm...> - 2015-06-01 16:10:46
|
OK, I am investigating further, I have some more hints that it might be related to the Linux PID namespace implementation. I am trying to reproduce the issue outside OCaml/Ocamlnet. I will keep you posted. Thanks On Mon, Jun 1, 2015 at 6:05 PM, Gerd Stolpmann <in...@ge...> wrote: > Just a guess: There is a Unix.getpid call in Netplex_mp. This call > returns the PID in the new PID space, and this PID is different from the > PID returned by fork() (look into the sources of Netplex_mp, where both > is done). I do not remember for what the PID is used, but it is probably > a key in a management data structure. Then (and this is the unverified > part of my guess), some lookup fails that normally cannot fail, and the > controller gets confused. > > Note that you do not see the getpid() calls in the strace because it is > not a real syscall (afaik the kernel just writes the PID into some > memory location after fork/clone, where glibc expects it). > > I don't know whether this is really the problem, but if so, the fix is > probably not trivial. The controller would have to tell the container > via the control socket what the PID from the view of the controller is; > or via the pipe that is used inside Netplex_mp for synchronization. > > The restart_syscall thing you observed is just a poll waiting for an > event. strace just doesn't print it cleanly. > > Gerd > > Am Montag, den 01.06.2015, 13:03 +0200 schrieb Thomas Calderon: > > Hello Gerd, > > > > > > I do not think I reach the limit of the maximum number of processes > > since I have at most 3 defunct processes. > > I would also be likely to see some other message indicating I reached > > this limit (GrSecurity would leave a trace). > > > > > > When attaching to stalled instances, the controller and worker > > instances (except one) are blocked on : > > restart_syscall(<... resuming interrupted call ...> > > > > > > As mentioned, one of the worker process is blocked on: > > futex(0x...., FUTEX_WAIT_PRIVATE, 2, NULL > > > > > > You will find the strace -f as an attachment. > > > > > > > > Cheers, > > > > > > Thomas > > > > On Mon, Jun 1, 2015 at 12:13 PM, Gerd Stolpmann > > <in...@ge...> wrote: > > Am Montag, den 01.06.2015, 11:06 +0200 schrieb Thomas > > Calderon: > > > Hi, > > > > > > > > > We are observing an issue when using OCamlnet netplex in > > combination > > > with VServer PID namespaces. > > > We are using Netplex in the multi-process mode. > > > > > > > > > Here is what we are doing: > > > - start our netplex controller > > > - use the post_add_hook to enter a new PID namespace > > > - use dynamic workload manager to spawn child workers > > > - configured with conn_limit=1 > > > > > > > > > - launch a loop of client connections > > > - this spawns a new worker process for each connection > > > > > > > > > After several successful connections of the loop, clients > > cannot > > > connect anymore. > > > We observe some worker processes in a defunct/zombie state. > > > The controller and running worker processes seem deadlocked > > in some > > > condition. > > > > > > > > > When we do not use the post_add_hook to enter a new PID > > namespace, the > > > problem cannot be triggered anymore. > > > > > > > > > Do you have any hint on this? > > > > > > The controller runs of course waitpid() on the terminated > > processes to > > un-zombie these, and obviously this does not work. I guess you > > reach > > then the maximum number of processes after some time. > > > > You say "vServer" but there are several such technologies > > (Linux > > containers, Virtuozzo, maybe some derived products). I also > > don't know > > much about this corner of the OS. > > > > What would definitely help is an strace -f of the server. > > > > Gerd > > > > > > > > > > > > > > > Many thanks. > > > > > > > > > Thomas > > > > -- > > ------------------------------------------------------------ > > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > > My OCaml site: http://www.camlcity.org > > Contact details: http://www.camlcity.org/contact.html > > Company homepage: http://www.gerd-stolpmann.de > > ------------------------------------------------------------ > > > > > > > > -- > ------------------------------------------------------------ > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > My OCaml site: http://www.camlcity.org > Contact details: http://www.camlcity.org/contact.html > Company homepage: http://www.gerd-stolpmann.de > ------------------------------------------------------------ > > |
From: Gerd S. <in...@ge...> - 2015-06-01 16:05:49
|
Just a guess: There is a Unix.getpid call in Netplex_mp. This call returns the PID in the new PID space, and this PID is different from the PID returned by fork() (look into the sources of Netplex_mp, where both is done). I do not remember for what the PID is used, but it is probably a key in a management data structure. Then (and this is the unverified part of my guess), some lookup fails that normally cannot fail, and the controller gets confused. Note that you do not see the getpid() calls in the strace because it is not a real syscall (afaik the kernel just writes the PID into some memory location after fork/clone, where glibc expects it). I don't know whether this is really the problem, but if so, the fix is probably not trivial. The controller would have to tell the container via the control socket what the PID from the view of the controller is; or via the pipe that is used inside Netplex_mp for synchronization. The restart_syscall thing you observed is just a poll waiting for an event. strace just doesn't print it cleanly. Gerd Am Montag, den 01.06.2015, 13:03 +0200 schrieb Thomas Calderon: > Hello Gerd, > > > I do not think I reach the limit of the maximum number of processes > since I have at most 3 defunct processes. > I would also be likely to see some other message indicating I reached > this limit (GrSecurity would leave a trace). > > > When attaching to stalled instances, the controller and worker > instances (except one) are blocked on : > restart_syscall(<... resuming interrupted call ...> > > > As mentioned, one of the worker process is blocked on: > futex(0x...., FUTEX_WAIT_PRIVATE, 2, NULL > > > You will find the strace -f as an attachment. > > > > Cheers, > > > Thomas > > On Mon, Jun 1, 2015 at 12:13 PM, Gerd Stolpmann > <in...@ge...> wrote: > Am Montag, den 01.06.2015, 11:06 +0200 schrieb Thomas > Calderon: > > Hi, > > > > > > We are observing an issue when using OCamlnet netplex in > combination > > with VServer PID namespaces. > > We are using Netplex in the multi-process mode. > > > > > > Here is what we are doing: > > - start our netplex controller > > - use the post_add_hook to enter a new PID namespace > > - use dynamic workload manager to spawn child workers > > - configured with conn_limit=1 > > > > > > - launch a loop of client connections > > - this spawns a new worker process for each connection > > > > > > After several successful connections of the loop, clients > cannot > > connect anymore. > > We observe some worker processes in a defunct/zombie state. > > The controller and running worker processes seem deadlocked > in some > > condition. > > > > > > When we do not use the post_add_hook to enter a new PID > namespace, the > > problem cannot be triggered anymore. > > > > > > Do you have any hint on this? > > > The controller runs of course waitpid() on the terminated > processes to > un-zombie these, and obviously this does not work. I guess you > reach > then the maximum number of processes after some time. > > You say "vServer" but there are several such technologies > (Linux > containers, Virtuozzo, maybe some derived products). I also > don't know > much about this corner of the OS. > > What would definitely help is an strace -f of the server. > > Gerd > > > > > > > > > Many thanks. > > > > > > Thomas > > -- > ------------------------------------------------------------ > Gerd Stolpmann, Darmstadt, Germany ge...@ge... > My OCaml site: http://www.camlcity.org > Contact details: http://www.camlcity.org/contact.html > Company homepage: http://www.gerd-stolpmann.de > ------------------------------------------------------------ > > > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |
From: Gerd S. <in...@ge...> - 2015-06-01 10:14:16
|
Am Montag, den 01.06.2015, 11:06 +0200 schrieb Thomas Calderon: > Hi, > > > We are observing an issue when using OCamlnet netplex in combination > with VServer PID namespaces. > We are using Netplex in the multi-process mode. > > > Here is what we are doing: > - start our netplex controller > - use the post_add_hook to enter a new PID namespace > - use dynamic workload manager to spawn child workers > - configured with conn_limit=1 > > > - launch a loop of client connections > - this spawns a new worker process for each connection > > > After several successful connections of the loop, clients cannot > connect anymore. > We observe some worker processes in a defunct/zombie state. > The controller and running worker processes seem deadlocked in some > condition. > > > When we do not use the post_add_hook to enter a new PID namespace, the > problem cannot be triggered anymore. > > > Do you have any hint on this? The controller runs of course waitpid() on the terminated processes to un-zombie these, and obviously this does not work. I guess you reach then the maximum number of processes after some time. You say "vServer" but there are several such technologies (Linux containers, Virtuozzo, maybe some derived products). I also don't know much about this corner of the OS. What would definitely help is an strace -f of the server. Gerd > > > Many thanks. > > > Thomas -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany ge...@ge... My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ |