[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#973124: unison-2.48: FTBFS: ocamlc: OCaml has been configured with -force-safe-string: -unsafe-string is not available.



Source: unison-2.48
Version: 2.48.4-8
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20201027 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> make[2]: Entering directory '/<<PKGBUILDDIR>>'
> ocamlc -o mkProjectInfo unix.cma str.cma mkProjectInfo.ml
> ./mkProjectInfo > Makefile.ProjectInfo
> UISTYLE = text
> Building for Unix
> NATIVE = false
> THREADS = false
> STATIC = false
> OSTYPE =
> OSARCH = Linux
> ocamlc: ubase/rx.mli ---> ubase/rx.cmi
> ocamlc -g -unsafe-string -I lwt -I ubase -I system -I fsmonitor -I fsmonitor/linux -I fsmonitor/windows -I system/generic -I lwt/generic -custom -g -c /<<PKGBUILDDIR>>/ubase/rx.mli
> ocamlc: OCaml has been configured with -force-safe-string: -unsafe-string is not available.
> Usage: ocamlc <options> <files>
> Options are:
>   -a  Build a library
>   -alert <list>  Enable or disable alerts according to <list>:
>         +<alertname>  enable alert <alertname>
>         -<alertname>  disable alert <alertname>
>         ++<alertname> treat <alertname> as fatal error
>         --<alertname> treat <alertname> as non-fatal
>         @<alertname>  enable <alertname> and treat it as fatal error
>     <alertname> can be 'all' to refer to all alert names
>   -absname  Show absolute filenames in error messages
>   -annot  (deprecated) Save information in <filename>.annot
>   -bin-annot  Save typedtree in <filename>.cmt
>   -c  Compile only (do not link)
>   -cc <command>  Use <command> as the C compiler and linker
>   -cclib <opt>  Pass option <opt> to the C linker
>   -ccopt <opt>  Pass option <opt> to the C compiler and linker
>   -color {auto|always|never}  Enable or disable colors in compiler messages
>     The following settings are supported:
>       auto    use heuristics to enable colors only if supported
>       always  enable colors
>       never   disable colors
>     The default setting is 'auto', and the current heuristic
>     checks that the TERM environment variable exists and is
>     not empty or "dumb", and that isatty(stderr) holds.
>   If the option is not specified, these setting can alternatively
>   be set through the OCAML_COLOR environment variable.
>   -error-style {contextual|short}  Control the way error messages and warnings are printed
>     The following settings are supported:
>       short       only print the error and its location
>       contextual  like "short", but also display the source code
>                   snippet corresponding to the location of the error
>     The default setting is 'contextual'.
>   If the option is not specified, these setting can alternatively
>   be set through the OCAML_ERROR_STYLE environment variable.
>   -compat-32  Check that generated bytecode can run on 32-bit platforms
>   -config  Print configuration values and exit
>   -config-var  Print the value of a configuration variable, a newline, and exit
>     (print nothing and exit with error value if the variable does not exist)
>   -custom  Link in custom mode
>   -dllib <lib>  Use the dynamically-loaded library <lib>
>   -dllpath <dir>  Add <dir> to the run-time search path for shared libraries
>   -dtypes  (deprecated) same as -annot
>   -for-pack <ident>  Generate code that can later be `packed' with
>      ocamlc -pack -o <ident>.cmo
>   -g  Save debugging information
>   -stop-after {parsing|typing} Stop after the given compilation pass.
>   -i  Print inferred interface
>   -I <dir>  Add <dir> to the list of include directories
>   -impl <file>  Compile <file> as a .ml file
>   -intf <file>  Compile <file> as a .mli file
>   -intf-suffix <string>  Suffix for interface files (default: .mli)
>   -intf_suffix <string>  (deprecated) same as -intf-suffix
>   -keep-docs  Keep documentation strings in .cmi files
>   -no-keep-docs  Do not keep documentation strings in .cmi files (default)
>   -keep-locs  Keep locations in .cmi files (default)
>   -no-keep-locs  Do not keep locations in .cmi files
>   -labels  Use commuting label mode
>   -linkall  Link all modules, even unused ones
>   -make-runtime  Build a runtime system with given C objects and libraries
>   -make_runtime  (deprecated) same as -make-runtime
>   -modern  (deprecated) same as -labels
>   -alias-deps  Do record dependencies for module aliases
>   -no-alias-deps  Do not record dependencies for module aliases
>   -app-funct  Activate applicative functors
>   -no-app-funct  Deactivate applicative functors
>   -no-check-prims  Do not check runtime for primitives
>   -noassert  Do not compile assertion checks
>   -noautolink  Do not automatically link C libraries specified in .cma files
>   -nolabels  Ignore non-optional labels in types
>   -nostdlib  Do not add default directory to the list of include directories
>   -nopervasives  (undocumented)
>   -o <file>  Set output file name to <file>
>   -opaque  Does not generate cross-module optimization information
>      (reduces necessary recompilation on module change)
>   -open <module>  Opens the module <module> before typing
>   -output-obj  Output an object file instead of an executable
>   -output-complete-obj  Output an object file, including runtime, instead of an executable
>   -output-complete-exe  Output a self-contained executable, including runtime and C stubs
>   -pack  Package the given .cmo files into one .cmo
>   -pp <command>  Pipe sources through preprocessor <command>
>   -ppx <command>  Pipe abstract syntax trees through preprocessor <command>
>   -plugin <plugin>  (no longer supported)
>   -principal  Check principality of type inference
>   -no-principal  Do not check principality of type inference (default)
>   -rectypes  Allow arbitrary recursive types
>   -no-rectypes  Do not allow arbitrary recursive types (default)
>   -runtime-variant <str>  Use the <str> variant of the run-time system
>   -with-runtime Include the runtime system in the generated program (default)
>   -without-runtime Do not include the runtime system in the generated program.
>   -safe-string  (was set when configuring the compiler)
>   -short-paths  Shorten paths in types
>   -strict-sequence  Left-hand part of a sequence must have type unit
>   -no-strict-sequence  Left-hand part of a sequence need not have type unit (default)
>   -strict-formats  Reject invalid formats accepted by legacy implementations
>      (Warning: Invalid formats may behave differently from
>       previous OCaml versions, and will become always-rejected
>       in future OCaml versions. You should always use this flag
>       to detect invalid formats so you can fix them.)
>   -no-strict-formats  Accept invalid formats accepted by legacy implementations (default)
>      (Warning: Invalid formats may behave differently from
>       previous OCaml versions, and will become always-rejected
>       in future OCaml versions. You should never use this flag
>       and instead fix invalid formats.)
>   -thread  (deprecated) same as -I +threads
>   -unboxed-types  unannotated unboxable types will be unboxed
>   -no-unboxed-types  unannotated unboxable types will not be unboxed (default)
>   -unsafe  Do not compile bounds checking on array and string access
>   -unsafe-string  (option not available)
>   -use-runtime <file>  Generate bytecode for the given runtime system
>   -use_runtime <file>  (deprecated) same as -use-runtime
>   -v  Print compiler version and location of standard library and exit
>   -verbose  Print calls to external commands
>   -version  Print version and exit
>   --version  Print version and exit
>   -vmthread   (no longer supported)
>   -vnum  Print version number and exit
>   -w <list>  Enable or disable warnings according to <list>:
>         +<spec>   enable warnings in <spec>
>         -<spec>   disable warnings in <spec>
>         @<spec>   enable warnings in <spec> and treat them as errors
>      <spec> can be:
>         <num>             a single warning number
>         <num1>..<num2>    a range of consecutive warning numbers
>         <letter>          a predefined set
>      default setting is "+a-4-6-7-9-27-29-30-32..42-44-45-48-50-60-66-67"
>   -warn-error <list>  Enable or disable error status for warnings according
>      to <list>.  See option -w for the syntax of <list>.
>      Default setting is "-a+31"
>   -warn-help  Show description of warning numbers
>   -where  Print location of standard library and exit
>   - <file>  Treat <file> as a file name (even if it starts with `-')
>   -match-context-rows <n>  (advanced, see manual section 9.2.)
>   -use-prims <file>  (undocumented)
>   -dno-unique-ids  (undocumented)
>   -dunique-ids  (undocumented)
>   -dno-locations  (undocumented)
>   -dlocations  (undocumented)
>   -dsource  (undocumented)
>   -dparsetree  (undocumented)
>   -dtypedtree  (undocumented)
>   -drawlambda  (undocumented)
>   -dlambda  (undocumented)
>   -dinstr  (undocumented)
>   -dcamlprimc  (undocumented)
>   -dtimings  Print timings information for each pass
>   -dprofile  Print performance information for each pass
>     The columns are: time alloc top-heap absolute-top-heap.
>   -dump-into-file  dump output like -dlambda into <target>.dump
>   -args <file> Read additional newline-terminated command line arguments
>       from <file>
>   -args0 <file> Read additional null character terminated command line arguments
> from <file>
>   -depend <options> Compute dependencies (use 'ocamlc -depend -help' for details)
>   -help  Display this list of options
>   --help  Display this list of options
> make[2]: *** [Makefile.OCaml:427: ubase/rx.cmi] Error 2

The full build log is available from:
   http://qa-logs.debian.net/2020/10/27/unison-2.48_2.48.4-8_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.


Reply to: