Build:
  1. 0
2026-06-16 11:34.25: New job: build freetds.0.5.2 (ed232571405f)
2026-06-16 11:34.25: Waiting for resource in pool day11-builds
2026-06-16 11:42.53: Got resource from pool day11-builds
2026-06-16 11:42.53: [profile full] build freetds.0.5.2
2026-06-16 11:42.53: build freetds.0.5.2 (ed232571405f)
=== DEPENDENCIES (4 transitive) ===
  jbuilder.1.0+beta20.2                              ab5ab9884b95
  ocaml.4.14.4                                       cb826ea44eb2
  ocaml-base-compiler.4.14.4                         d2f775f983d7
  ocaml-config.2                                     669e0fcf9e4d
=== STDOUT ===
Processing: [default: loading data]

The following system packages will first need to be installed:
    freetds-dev

<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>

+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "freetds-dev"
- debconf: delaying package configuration, since apt-utils is not installed
- Selecting previously unselected package freetds-common.
- (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 18247 files and directories currently installed.)
- Preparing to unpack .../freetds-common_1.3.17+ds-2_all.deb ...
- Unpacking freetds-common (1.3.17+ds-2) ...
- Selecting previously unselected package libct4:amd64.
- Preparing to unpack .../libct4_1.3.17+ds-2_amd64.deb ...
- Unpacking libct4:amd64 (1.3.17+ds-2) ...
- Selecting previously unselected package libsybdb5:amd64.
- Preparing to unpack .../libsybdb5_1.3.17+ds-2_amd64.deb ...
- Unpacking libsybdb5:amd64 (1.3.17+ds-2) ...
- Selecting previously unselected package freetds-dev.
- Preparing to unpack .../freetds-dev_1.3.17+ds-2_amd64.deb ...
- Unpacking freetds-dev (1.3.17+ds-2) ...
- Selecting previously unselected package freetds-doc.
- Preparing to unpack .../freetds-doc_1.3.17+ds-2_all.deb ...
- Unpacking freetds-doc (1.3.17+ds-2) ...
- Setting up freetds-doc (1.3.17+ds-2) ...
- Setting up freetds-common (1.3.17+ds-2) ...
- Setting up libsybdb5:amd64 (1.3.17+ds-2) ...
- Setting up libct4:amd64 (1.3.17+ds-2) ...
- Setting up freetds-dev (1.3.17+ds-2) ...
- Processing triggers for libc-bin (2.36-9+deb12u14) ...
[freetds.0.5.2: dl]
[freetds.0.5.2: extract]
-> retrieved freetds.0.5.2  (https://opam.ocaml.org/cache)
[freetds: jbuilder build]
+ /home/opam/.opam/default/bin/jbuilder "build" "-p" "freetds" "-j" "39" (CWD=/home/opam/.opam/default/.opam-switch/build/freetds.0.5.2)
-       ocamlc src/.freetds.objs/freetds__Ct.{cmo,cmt}
- File "src/ct.ml", line 153, characters 38-46:
- 153 | let bind comm ?(maxlen = 256) index = bind_col comm maxlen index
-                                             ^^^^^^^^
- Warning 6 [labels-omitted]: label maxlen was omitted in the application of this function.
-     ocamlopt src/.freetds.objs/freetds__Ct.{cmx,o}
- File "src/ct.ml", line 153, characters 38-46:
- 153 | let bind comm ?(maxlen = 256) index = bind_col comm maxlen index
-                                             ^^^^^^^^
- Warning 6 [labels-omitted]: label maxlen was omitted in the application of this function.
-       ocamlc src/dblib_stubs.o
- dblib_stubs.c: In function 'raise_fatal':
- dblib_stubs.c:45:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-    45 |     exn = caml_named_value("Freetds.Dblib.Error");
-       |         ^
- dblib_stubs.c: In function 'msg_handler':
- dblib_stubs.c:77:13: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-    77 |     handler = caml_named_value("Freetds.Dblib.msg_handler");
-       |             ^
- dblib_stubs.c: In function 'err_handler':
- dblib_stubs.c:104:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   104 |     exn = caml_named_value("Freetds.Dblib.Error");
-       |         ^
- dblib_stubs.c:127:13: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   127 |     handler = caml_named_value("Freetds.Dblib.err_handler");
-       |             ^
- dblib_stubs.c: In function 'ocaml_freetds_dbopen':
- dblib_stubs.c:210:13: warning: "alloc_custom" is deprecated: use "caml_alloc_custom" instead
-   210 |   vdbproc = DBPROCESS_ALLOC();
-       |             ^~~~~~~~~~~~~~~~~~                                                 
- dblib_stubs.c: In function 'ocaml_freetds_dbcolname':
- dblib_stubs.c:296:13: warning: "invalid_argument" is deprecated: use "caml_invalid_argument" instead
-   296 |     invalid_argument("FreeTDS.Dblib.colname: column number out of range");
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~             
- In file included from dblib_stubs.c:28:
- dblib_stubs.c: In function 'ocaml_freetds_dbnextrow':
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 1 of 'memmove' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- dblib_stubs.c:366:11: note: in expansion of macro 'String_val'
-   366 |   memmove(String_val(res), s, len_bytes);
-       |           ^~~~~~~~~~
- dblib_stubs.c:399:11: note: in expansion of macro 'COPY_STRING'
-   399 |           COPY_STRING(vdata, data, len);
-       |           ^~~~~~~~~~~
- In file included from dblib_stubs.c:24:
- /usr/include/string.h:47:29: note: expected 'void *' but argument is of type 'const char *'
-    47 | extern void *memmove (void *__dest, const void *__src, size_t __n)
-       |                       ~~~~~~^~~~~~
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 1 of 'memmove' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- dblib_stubs.c:366:11: note: in expansion of macro 'String_val'
-   366 |   memmove(String_val(res), s, len_bytes);
-       |           ^~~~~~~~~~
- dblib_stubs.c:405:11: note: in expansion of macro 'COPY_STRING'
-   405 |           COPY_STRING(vdata, data, len);
-       |           ^~~~~~~~~~~
- /usr/include/string.h:47:29: note: expected 'void *' but argument is of type 'const char *'
-    47 | extern void *memmove (void *__dest, const void *__src, size_t __n)
-       |                       ~~~~~~^~~~~~
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 1 of 'memmove' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- dblib_stubs.c:366:11: note: in expansion of macro 'String_val'
-   366 |   memmove(String_val(res), s, len_bytes);
-       |           ^~~~~~~~~~
- dblib_stubs.c:377:5: note: in expansion of macro 'COPY_STRING'
-   377 |     COPY_STRING(vdata, data_char, converted_len);                       \
-       |     ^~~~~~~~~~~
- dblib_stubs.c:432:11: note: in expansion of macro 'CONVERT_STRING'
-   432 |           CONVERT_STRING(21);
-       |           ^~~~~~~~~~~~~~
- /usr/include/string.h:47:29: note: expected 'void *' but argument is of type 'const char *'
-    47 | extern void *memmove (void *__dest, const void *__src, size_t __n)
-       |                       ~~~~~~^~~~~~
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 1 of 'memmove' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- dblib_stubs.c:366:11: note: in expansion of macro 'String_val'
-   366 |   memmove(String_val(res), s, len_bytes);
-       |           ^~~~~~~~~~
- dblib_stubs.c:377:5: note: in expansion of macro 'COPY_STRING'
-   377 |     COPY_STRING(vdata, data_char, converted_len);                       \
-       |     ^~~~~~~~~~~
- dblib_stubs.c:447:11: note: in expansion of macro 'CONVERT_STRING'
-   447 |           CONVERT_STRING(ceil(2.5 * len)); /* FIXME: max size ? */
-       |           ^~~~~~~~~~~~~~
- /usr/include/string.h:47:29: note: expected 'void *' but argument is of type 'const char *'
-    47 | extern void *memmove (void *__dest, const void *__src, size_t __n)
-       |                       ~~~~~~^~~~~~
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 1 of 'memmove' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- dblib_stubs.c:366:11: note: in expansion of macro 'String_val'
-   366 |   memmove(String_val(res), s, len_bytes);
-       |           ^~~~~~~~~~
- dblib_stubs.c:377:5: note: in expansion of macro 'COPY_STRING'
-   377 |     COPY_STRING(vdata, data_char, converted_len);                       \
-       |     ^~~~~~~~~~~
- dblib_stubs.c:451:11: note: in expansion of macro 'CONVERT_STRING'
-   451 |           CONVERT_STRING(ceil(2.5 * len)); /* FIXME: max size ? */
-       |           ^~~~~~~~~~~~~~
- /usr/include/string.h:47:29: note: expected 'void *' but argument is of type 'const char *'
-    47 | extern void *memmove (void *__dest, const void *__src, size_t __n)
-       |                       ~~~~~~^~~~~~
- dblib_stubs.c:504:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   504 |       vcons = alloc_tuple(2);
-       |             ^~~~~~~~~~~~~~~~~                                                
-       ocamlc src/ct_c.o
- ct_c.c: In function 'retval_inspect':
- ct_c.c:72:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-    72 |         failwith(whichfunc);
-       |             ^~~~~~~~~~~~~~~~                                           
- ct_c.c:77:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-    77 |       failwith("Internal error - CS_NOMSG returned (This should never be possible)");
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:81:13: warning: "raise_constant" is deprecated: use "caml_raise_constant" instead
-    81 |         raise_constant(*caml_named_value("cs_end_results"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                       
- ct_c.c:83:13: warning: "raise_constant" is deprecated: use "caml_raise_constant" instead
-    83 |         raise_constant(*caml_named_value("cs_end_data"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
- ct_c.c:85:13: warning: "raise_constant" is deprecated: use "caml_raise_constant" instead
-    85 |         raise_constant(*caml_named_value("cs_cancelled"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                         
- ct_c.c: In function 'conprop_of_value':
- ct_c.c:99:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-    99 |     if (field == hash_variant("Username"))      CAMLreturn(CS_USERNAME);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       
- ct_c.c:100:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   100 |     else if (field == hash_variant("Password")) CAMLreturn(CS_PASSWORD);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       
- ct_c.c: In function 'cmdtype_of_value':
- ct_c.c:108:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   108 |     if ( cmdtype == hash_variant("Lang") )
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                     
- ct_c.c: In function 'datatype_of_value':
- ct_c.c:118:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   118 |     if ( datatype == hash_variant("Char") )             CAMLreturn(CS_CHAR_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:119:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   119 |     else if ( datatype == hash_variant("Int") )         CAMLreturn(CS_INT_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:120:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   120 |     else if ( datatype == hash_variant("SmallInt") )    CAMLreturn(CS_SMALLINT_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:121:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   121 |     else if ( datatype == hash_variant("TinyInt") )     CAMLreturn(CS_TINYINT_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:122:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   122 |     else if ( datatype == hash_variant("Money") )       CAMLreturn(CS_MONEY_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:123:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   123 |     else if ( datatype == hash_variant("DateTime") )    CAMLreturn(CS_DATETIME_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:124:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   124 |     else if ( datatype == hash_variant("Numeric") )     CAMLreturn(CS_NUMERIC_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:125:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   125 |     else if ( datatype == hash_variant("Decimal") )     CAMLreturn(CS_DECIMAL_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:126:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   126 |     else if ( datatype == hash_variant("DateTime4") )   CAMLreturn(CS_DATETIME4_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:127:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   127 |     else if ( datatype == hash_variant("Money4") )      CAMLreturn(CS_MONEY4_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:128:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   128 |     else if ( datatype == hash_variant("Image") )       CAMLreturn(CS_IMAGE_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:129:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   129 |     else if ( datatype == hash_variant("Binary") )      CAMLreturn(CS_BINARY_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:130:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   130 |     else if ( datatype == hash_variant("Bit") )         CAMLreturn(CS_BIT_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:131:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   131 |     else if ( datatype == hash_variant("Real") )        CAMLreturn(CS_REAL_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:132:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   132 |     else if ( datatype == hash_variant("Float") )       CAMLreturn(CS_FLOAT_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:133:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   133 |     else if ( datatype == hash_variant("Text") )        CAMLreturn(CS_TEXT_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:134:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   134 |     else if ( datatype == hash_variant("VarChar") )     CAMLreturn(CS_VARCHAR_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:135:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   135 |     else if ( datatype == hash_variant("VarBinary") )   CAMLreturn(CS_VARBINARY_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:136:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   136 |     else if ( datatype == hash_variant("LongChar") )    CAMLreturn(CS_LONGCHAR_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:137:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   137 |     else if ( datatype == hash_variant("LongBinary") )  CAMLreturn(CS_LONGBINARY_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:138:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   138 |     else if ( datatype == hash_variant("Long") )        CAMLreturn(CS_LONG_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:139:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   139 |     else if ( datatype == hash_variant("Illegal") )     CAMLreturn(CS_ILLEGAL_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:140:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   140 |     else if ( datatype == hash_variant("Sensitivity") ) CAMLreturn(CS_SENSITIVITY_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:141:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   141 |     else if ( datatype == hash_variant("Boundary") )    CAMLreturn(CS_BOUNDARY_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:142:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   142 |     else if ( datatype == hash_variant("Void") )        CAMLreturn(CS_VOID_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:143:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   143 |     else if ( datatype == hash_variant("UShort") )      CAMLreturn(CS_USHORT_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:147:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   147 |     else if ( datatype == hash_variant("Unique") )      CAMLreturn(CS_UNIQUE_TYPE);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c: In function 'value_of_indicator':
- ct_c.c:159:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   159 |         CAMLreturn(hash_variant("NullData"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                  
- ct_c.c:162:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   162 |         CAMLreturn(hash_variant("GoodData"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                  
- ct_c.c: In function 'value_of_datatype':
- ct_c.c:172:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   172 |     case CS_CHAR_TYPE:        CAMLreturn(hash_variant("Char"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                
- ct_c.c:173:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   173 |     case CS_INT_TYPE:         CAMLreturn(hash_variant("Int"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                 
- ct_c.c:174:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   174 |     case CS_SMALLINT_TYPE:    CAMLreturn(hash_variant("SmallInt"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            
- ct_c.c:175:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   175 |     case CS_TINYINT_TYPE:     CAMLreturn(hash_variant("TinyInt"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~             
- ct_c.c:176:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   176 |     case CS_MONEY_TYPE:       CAMLreturn(hash_variant("Money"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~               
- ct_c.c:177:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   177 |     case CS_DATETIME_TYPE:    CAMLreturn(hash_variant("DateTime"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            
- ct_c.c:178:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   178 |     case CS_NUMERIC_TYPE:     CAMLreturn(hash_variant("Numeric"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~             
- ct_c.c:179:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   179 |     case CS_DECIMAL_TYPE:     CAMLreturn(hash_variant("Decimal"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~             
- ct_c.c:180:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   180 |     case CS_DATETIME4_TYPE:   CAMLreturn(hash_variant("DateTime4"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           
- ct_c.c:181:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   181 |     case CS_MONEY4_TYPE:      CAMLreturn(hash_variant("Money4"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~              
- ct_c.c:182:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   182 |     case CS_IMAGE_TYPE:       CAMLreturn(hash_variant("Image"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~               
- ct_c.c:183:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   183 |     case CS_BINARY_TYPE:      CAMLreturn(hash_variant("Binary"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~              
- ct_c.c:184:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   184 |     case CS_BIT_TYPE:         CAMLreturn(hash_variant("Bit"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                 
- ct_c.c:185:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   185 |     case CS_REAL_TYPE:        CAMLreturn(hash_variant("Real"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                
- ct_c.c:186:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   186 |     case CS_FLOAT_TYPE:       CAMLreturn(hash_variant("Float"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~               
- ct_c.c:187:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   187 |     case CS_TEXT_TYPE:        CAMLreturn(hash_variant("Text"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                
- ct_c.c:188:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   188 |     case CS_VARCHAR_TYPE:     CAMLreturn(hash_variant("VarChar"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~             
- ct_c.c:189:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   189 |     case CS_VARBINARY_TYPE:   CAMLreturn(hash_variant("VarBinary"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           
- ct_c.c:190:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   190 |     case CS_LONGCHAR_TYPE:    CAMLreturn(hash_variant("LongChar"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            
- ct_c.c:191:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   191 |     case CS_LONGBINARY_TYPE:  CAMLreturn(hash_variant("LongBinary"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~          
- ct_c.c:192:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   192 |     case CS_LONG_TYPE:        CAMLreturn(hash_variant("Long"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                
- ct_c.c:193:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   193 |     case CS_ILLEGAL_TYPE:     CAMLreturn(hash_variant("Illegal"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~             
- ct_c.c:194:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   194 |     case CS_SENSITIVITY_TYPE: CAMLreturn(hash_variant("Sensitivity"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~         
- ct_c.c:195:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   195 |     case CS_BOUNDARY_TYPE:    CAMLreturn(hash_variant("Boundary"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            
- ct_c.c:196:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   196 |     case CS_VOID_TYPE:        CAMLreturn(hash_variant("Void"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                
- ct_c.c:197:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   197 |     case CS_USHORT_TYPE:      CAMLreturn(hash_variant("UShort"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~              
- ct_c.c:201:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   201 |     case CS_UNIQUE_TYPE:      CAMLreturn(hash_variant("Unique"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~              
- ct_c.c:204:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   204 |     CAMLreturn(hash_variant("Illegal"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~                                       
- ct_c.c: In function 'value_of_severity':
- ct_c.c:214:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   214 |     case CS_SV_INFORM:      CAMLreturn(hash_variant("Inform"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                
- ct_c.c:215:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   215 |     case CS_SV_API_FAIL:    CAMLreturn(hash_variant("Api_fail"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~              
- ct_c.c:216:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   216 |     case CS_SV_RETRY_FAIL:     CAMLreturn(hash_variant("Retry_fail"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~         
- ct_c.c:217:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   217 |     case CS_SV_RESOURCE_FAIL:  CAMLreturn(hash_variant("Resource_fail"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      
- ct_c.c:218:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   218 |     case CS_SV_COMM_FAIL:      CAMLreturn(hash_variant("Comm_fail"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~          
- ct_c.c:219:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   219 |     case CS_SV_INTERNAL_FAIL:  CAMLreturn(hash_variant("Internal_fail"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      
- ct_c.c:221:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   221 |     default:          CAMLreturn(hash_variant("Fatal"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                       
- ct_c.c: In function 'value_of_restype':
- ct_c.c:244:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   244 |         CAMLreturn( hash_variant("Row") );
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                     
- ct_c.c:247:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   247 |         CAMLreturn( hash_variant("Param") );
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                   
- ct_c.c:250:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   250 |         CAMLreturn( hash_variant("Status") );
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                  
- ct_c.c:253:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   253 |         CAMLreturn( hash_variant("Cmd_done") );
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                
- ct_c.c:256:13: warning: "raise_constant" is deprecated: use "caml_raise_constant" instead
-   256 |         raise_constant(*caml_named_value("cs_cmd_fail"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
- ct_c.c: In function 'resinfo_type_of_value':
- ct_c.c:265:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   265 |     if ( resinfo == hash_variant("Row_count") )
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                
- ct_c.c:267:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   267 |     else if ( resinfo == hash_variant("Cmd_number") )
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
- ct_c.c: In function 'cons':
- ct_c.c:279:13: warning: "alloc" is deprecated: use "caml_alloc" instead
-   279 |     result = alloc(2, Tag_cons);
-       |             ^~~~~~~~~~~~~~~~~~~~                                 
- ct_c.c: In function 'value_of_status_bitmask':
- ct_c.c:337:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   337 |         result = cons(hash_variant("CanBeNull"), result);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      
- ct_c.c:340:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   340 |         result = cons(hash_variant("NoData"), result);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                         
- ct_c.c:343:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   343 |         result = cons(hash_variant("Identity"), result);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                       
- ct_c.c:346:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   346 |         result = cons(hash_variant("Return"), result);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                         
- ct_c.c: In function 'status_of_value':
- ct_c.c:361:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   361 |         if ( stat == hash_variant("CanBeNull") )
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                               
- ct_c.c:363:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   363 |         else if ( stat == hash_variant("NoData") )
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                             
- ct_c.c:365:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   365 |         else if ( stat == hash_variant("Identity") )
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                           
- ct_c.c:367:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   367 |         else if ( stat == hash_variant("Return") )
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                             
- ct_c.c: In function 'column_of_buffer':
- ct_c.c:385:13: warning: "alloc_custom" is deprecated: use "caml_alloc_custom" instead
-   385 |     buffer = alloc_custom(&binding_buffer_operations,
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
- ct_c.c:389:13: warning: "alloc" is deprecated: use "caml_alloc" instead
-   389 |     result = alloc(COL_SIZE, 0);
-       |             ^~~~~~~~~~~~~~~~~~~~                                 
- ct_c.c:390:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
-   390 |     Store_field(result, COL_NAME, copy_string(buf->fmt.name));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~               
- ct_c.c: In function 'mltds_cs_ctx_create':
- ct_c.c:411:13: warning: "alloc_custom" is deprecated: use "caml_alloc_custom" instead
-   411 |     result = alloc_custom(&context_operations, sizeof(CS_CONTEXT*), 0, 1);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
- ct_c.c: In function 'mltds_ct_con_alloc':
- ct_c.c:428:13: warning: "alloc_custom" is deprecated: use "caml_alloc_custom" instead
-   428 |     result = alloc_custom(&connection_operations, sizeof(CS_CONNECTION*), 0, 1);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c: In function 'mltds_ct_cmd_alloc':
- ct_c.c:443:13: warning: "alloc_custom" is deprecated: use "caml_alloc_custom" instead
-   443 |     result = alloc_custom(&command_operations, sizeof(CS_COMMAND*), 0, 1);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
- ct_c.c: In function 'mltds_ct_con_setstring':
- ct_c.c:461:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   461 |                                  string_length(newval),
-       |             ^                    ~~~~~~~~~~~~~~~~~~~~~~                          
- In file included from /home/opam/.opam/default/lib/ocaml/caml/alloc.h:24,
-                  from ct_c.c:24:
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 4 of 'ct_con_props' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:460:34: note: in expansion of macro 'String_val'
-   460 |                                  String_val(newval),
-       |                                  ^~~~~~~~~~
- In file included from ct_c.c:20:
- /usr/include/ctpublic.h:98:88: note: expected 'CS_VOID *' {aka 'void *'} but argument is of type 'const char *'
-    98 | CS_RETCODE ct_con_props(CS_CONNECTION * con, CS_INT action, CS_INT property, CS_VOID * buffer, CS_INT buflen, CS_INT * out_len);
-       |                                                                              ~~~~~~~~~~^~~~~~
- ct_c.c: In function 'mltds_ct_connect':
- ct_c.c:474:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   474 |                                string_length(servername)));
-       |             ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 2 of 'ct_connect' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:473:32: note: in expansion of macro 'String_val'
-   473 |                                String_val(servername),
-       |                                ^~~~~~~~~~
- /usr/include/ctpublic.h:99:54: note: expected 'CS_CHAR *' {aka 'char *'} but argument is of type 'const char *'
-    99 | CS_RETCODE ct_connect(CS_CONNECTION * con, CS_CHAR * servername, CS_INT snamelen);
-       |                                            ~~~~~~~~~~^~~~~~~~~~
- ct_c.c: In function 'mltds_ct_command':
- ct_c.c:489:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   489 |                                string_length(text),
-       |             ^                  ~~~~~~~~~~~~~~~~~~~~                              
- ct_c.c: In function 'mltds_buffer_contents':
- ct_c.c:605:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   605 |         CAMLreturn(hash_variant("Null"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                      
- ct_c.c:614:13: warning: "alloc" is deprecated: use "caml_alloc" instead
-   614 |         result = alloc(2, 0);
-       |             ^~~~~~~~~~~~~~~~~                                    
- ct_c.c:615:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   615 |         Store_field(result, 0, hash_variant("Bool"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
- ct_c.c:620:13: warning: "alloc" is deprecated: use "caml_alloc" instead
-   620 |         result = alloc(2, 0);
-       |             ^~~~~~~~~~~~~~~~~                                    
- ct_c.c:621:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   621 |         Store_field(result, 0, hash_variant("Tinyint"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                       
- ct_c.c:626:13: warning: "alloc" is deprecated: use "caml_alloc" instead
-   626 |         result = alloc(2, 0);
-       |             ^~~~~~~~~~~~~~~~~                                    
- ct_c.c:627:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   627 |         Store_field(result, 0, hash_variant("Smallint"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      
- ct_c.c:632:13: warning: "alloc" is deprecated: use "caml_alloc" instead
-   632 |         result = alloc(2, 0);
-       |             ^~~~~~~~~~~~~~~~~                                    
- ct_c.c:633:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   633 |         Store_field(result, 0, hash_variant("Int"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                           
- ct_c.c:634:13: warning: "copy_int32" is deprecated: use "caml_copy_int32" instead
-   634 |         Store_field(result, 1, copy_int32((int) BUFFER_CONTENTS(buf, CS_INT)));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:638:13: warning: "alloc" is deprecated: use "caml_alloc" instead
-   638 |         result = alloc(2, 0);
-       |             ^~~~~~~~~~~~~~~~~                                    
- ct_c.c:639:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   639 |         Store_field(result, 0, hash_variant("Float"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                         
- ct_c.c:640:13: warning: "copy_double" is deprecated: use "caml_copy_double" instead
-   640 |         Store_field(result, 1, copy_double((double) BUFFER_CONTENTS(buf, CS_FLOAT)));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:644:13: warning: "alloc" is deprecated: use "caml_alloc" instead
-   644 |         result = alloc(2, 0);
-       |             ^~~~~~~~~~~~~~~~~                                    
- ct_c.c:645:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   645 |         Store_field(result, 0, hash_variant("Real"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
- ct_c.c:646:13: warning: "copy_double" is deprecated: use "caml_copy_double" instead
-   646 |         Store_field(result, 1, copy_double((double) BUFFER_CONTENTS(buf, CS_REAL)));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:660:13: warning: "alloc_string" is deprecated: use "caml_alloc_string" instead
-   660 |             str = alloc_string(buf->copied);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                   
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 1 of 'strncpy' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:661:21: note: in expansion of macro 'String_val'
-   661 |             strncpy(String_val(str), (char*)(buf->data), buf->copied);
-       |                     ^~~~~~~~~~
- In file included from ct_c.c:22:
- /usr/include/string.h:144:40: note: expected 'char * restrict' but argument is of type 'const char *'
-   144 | extern char *strncpy (char *__restrict __dest,
-       |                       ~~~~~~~~~~~~~~~~~^~~~~~
- ct_c.c:663:13: warning: "alloc" is deprecated: use "caml_alloc" instead
-   663 |             result = alloc(2, 0);
-       |             ^~~~~~~~~~~~~~~~~~~~~                                
- ct_c.c:664:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   664 |             Store_field(result, 0, hash_variant("Decimal"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                   
- ct_c.c:672:13: warning: "alloc_string" is deprecated: use "caml_alloc_string" instead
-   672 |             str = alloc_string(buf->copied);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                   
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 1 of 'strncpy' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:673:21: note: in expansion of macro 'String_val'
-   673 |             strncpy(String_val(str), (char*)(buf->data), buf->copied);
-       |                     ^~~~~~~~~~
- /usr/include/string.h:144:40: note: expected 'char * restrict' but argument is of type 'const char *'
-   144 | extern char *strncpy (char *__restrict __dest,
-       |                       ~~~~~~~~~~~~~~~~~^~~~~~
- ct_c.c:675:13: warning: "alloc" is deprecated: use "caml_alloc" instead
-   675 |             result = alloc(2, 0);
-       |             ^~~~~~~~~~~~~~~~~~~~~                                
- ct_c.c:676:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   676 |             Store_field(result, 0, hash_variant("String"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                    
- ct_c.c:693:13: warning: "alloc_string" is deprecated: use "caml_alloc_string" instead
-   693 |         str = alloc_string(buf->copied);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~                                       
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 1 of 'strncpy' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:694:17: note: in expansion of macro 'String_val'
-   694 |         strncpy(String_val(str), (char*)(buf->data), buf->copied);
-       |                 ^~~~~~~~~~
- /usr/include/string.h:144:40: note: expected 'char * restrict' but argument is of type 'const char *'
-   144 | extern char *strncpy (char *__restrict __dest,
-       |                       ~~~~~~~~~~~~~~~~~^~~~~~
- ct_c.c:696:13: warning: "alloc" is deprecated: use "caml_alloc" instead
-   696 |         result = alloc(2, 0);
-       |             ^~~~~~~~~~~~~~~~~                                    
- ct_c.c:697:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   697 |         Store_field(result, 0, hash_variant("Binary"));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                        
- ct_c.c: In function 'get_client_message':
- ct_c.c:743:13: warning: "alloc_string" is deprecated: use "caml_alloc_string" instead
-   743 |     str = alloc_string(msg.msgstringlen);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                      
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 1 of 'strncpy' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:744:13: note: in expansion of macro 'String_val'
-   744 |     strncpy(String_val(str), msg.msgstring, msg.msgstringlen );
-       |             ^~~~~~~~~~
- /usr/include/string.h:144:40: note: expected 'char * restrict' but argument is of type 'const char *'
-   144 | extern char *strncpy (char *__restrict __dest,
-       |                       ~~~~~~~~~~~~~~~~~^~~~~~
- ct_c.c:746:13: warning: "alloc" is deprecated: use "caml_alloc" instead
-   746 |     result = alloc(2, 0);
-       |             ^~~~~~~~~~~~~                                        
- ct_c.c: In function 'get_server_message':
- ct_c.c:762:13: warning: "alloc_string" is deprecated: use "caml_alloc_string" instead
-   762 |     str = alloc_string(strnlen(msg.text, CS_MAX_MSG) + 1);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                     
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 1 of 'strncpy' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- ct_c.c:763:13: note: in expansion of macro 'String_val'
-   763 |     strncpy(String_val(str), msg.text, strnlen(msg.text, CS_MAX_MSG));
-       |             ^~~~~~~~~~
- /usr/include/string.h:144:40: note: expected 'char * restrict' but argument is of type 'const char *'
-   144 | extern char *strncpy (char *__restrict __dest,
-       |                       ~~~~~~~~~~~~~~~~~^~~~~~
- ct_c.c:765:13: warning: "alloc" is deprecated: use "caml_alloc" instead
-   765 |     result = alloc(2, 0);
-       |             ^~~~~~~~~~~~~                                        
- ct_c.c: In function 'mltds_get_messages':
- ct_c.c:796:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   796 |     if ( list_mem(locations, hash_variant("Client")) )
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                         
- ct_c.c:808:13: warning: "hash_variant" is deprecated: use "caml_hash_variant" instead
-   808 |     if ( list_mem(locations, hash_variant("Server")) )
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                         
-> compiled  freetds.0.5.2
-> installed freetds.0.5.2

=== STDERR ===

2026-06-16 11:43.05: OK: build freetds.0.5.2 (runc: 6.1s, disk: 0KB)
2026-06-16 11:43.05: Job succeeded