Public bug reported:
Imported from Debian bug http://bugs.debian.org/973153:
Source: caml-crush
Version: 1.0.10-4
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[3]: Entering directory '/<<PKGBUILDDIR>>/build-SERVER'
> make[3]: warning: jobserver unavailable: using -j1. Add '+' to parent make
> rule.
> camlidl -header ../../../src/bindings-pkcs11/pkcs11.idl
> cat ../../../src/bindings-pkcs11/pkcs11_stubs.c | sed -e
> 's/Begin_roots_block(\(.*\)).*/Begin_roots_block(\1);/g' | sed -e
> 's/Begin_root(\(.*\)).*/Begin_root(\1);/g' | sed -e
> 's/End_roots(\(.*\)).*/End_roots(\1);/g' > ./tmp
> mv ./tmp ../../../src/bindings-pkcs11/pkcs11_stubs.c
> #Sed to patch (GetSlotList/GetMechList/FindObjects/GetObjectSize)
> sed -i "s/* int/\* nativeint/g" ../../../src/bindings-pkcs11/pkcs11.mli
> sed -i "s/* int/\* nativeint/g" ../../../src/bindings-pkcs11/pkcs11.ml
> spatch --no-show-diff --in-place --sp-file
> ../../../src/bindings-pkcs11/pkcs11_stubs.cocci
> ../../../src/bindings-pkcs11/pkcs11_stubs.c
> init_defs_builtins: /usr/bin/../lib/coccinelle/standard.h
> warning: line 96: _ctxs, previously declared as a metavariable, is used as an
> identifier
> warning: line 97: _ctx, previously declared as a metavariable, is used as an
> identifier
> warning: line 97: _ctxs, previously declared as a metavariable, is used as an
> identifier
> warning: line 98: _c1, previously declared as a metavariable, is used as an
> identifier
> warning: line 99: _c2, previously declared as a metavariable, is used as an
> identifier
> warning: line 104: _v3, previously declared as a metavariable, is used as an
> identifier
> warning: line 104: _c2, previously declared as a metavariable, is used as an
> identifier
> warning: line 104: _ctx, previously declared as a metavariable, is used as an
> identifier
> warning: line 105: _c2, previously declared as a metavariable, is used as an
> identifier
> warning: line 105: _v3, previously declared as a metavariable, is used as an
> identifier
> warning: line 803: _ctxs, previously declared as a metavariable, is used as
> an identifier
> warning: line 822: _ctxs, previously declared as a metavariable, is used as
> an identifier
> HANDLING: ../../../src/bindings-pkcs11/pkcs11_stubs.c
> #Sed because spatch is not able to preprocess
> sed -i 's/^_CAMLIDL_EXTERN_C/extern/g' ../../../src/bindings-pkcs11/pkcs11.h
> #Sed to change the structure packing pragma in WIN32 mode: CamlIDL fixes it
> to 8 while
> #PKCS11 header fixes it to 1 => this can create binary interoperability issues
> sed -i 's/push,8/push,1\/* Replaced for PKCS11 compatibiliy *\//g'
> ../../../src/bindings-pkcs11/pkcs11.h
> spatch --no-show-diff --in-place --sp-file
> ../../../src/bindings-pkcs11/pkcs11.cocci.new
> ../../../src/bindings-pkcs11/pkcs11.h
> init_defs_builtins: /usr/bin/../lib/coccinelle/standard.h
> warning: line 5: should session be a metavariable?
> warning: line 5: should data be a metavariable?
> warning: line 5: should data_len be a metavariable?
> warning: line 5: should encrypted be a metavariable?
> warning: line 5: should encrypted_len be a metavariable?
> warning: line 12: should session be a metavariable?
> warning: line 12: should data be a metavariable?
> warning: line 12: should data_len be a metavariable?
> warning: line 12: should encrypted be a metavariable?
> warning: line 12: should encrypted_len be a metavariable?
> warning: line 19: should session be a metavariable?
> warning: line 19: should data be a metavariable?
> warning: line 19: should data_len be a metavariable?
> warning: line 19: should encrypted be a metavariable?
> warning: line 19: should encrypted_len be a metavariable?
> warning: line 26: should session be a metavariable?
> warning: line 26: should data be a metavariable?
> warning: line 26: should data_len be a metavariable?
> warning: line 26: should encrypted be a metavariable?
> warning: line 26: should encrypted_len be a metavariable?
> warning: line 33: should session be a metavariable?
> warning: line 33: should encrypted be a metavariable?
> warning: line 33: should encrypted_len be a metavariable?
> warning: line 40: should session be a metavariable?
> warning: line 40: should encrypted be a metavariable?
> warning: line 40: should encrypted_len be a metavariable?
> warning: line 40: should decrypted be a metavariable?
> warning: line 40: should decrypted_len be a metavariable?
> warning: line 47: should session be a metavariable?
> warning: line 47: should signature be a metavariable?
> warning: line 47: should signature_len be a metavariable?
> warning: line 47: should data be a metavariable?
> warning: line 47: should data_len be a metavariable?
> warning: line 54: should session be a metavariable?
> warning: line 54: should encrypted be a metavariable?
> warning: line 54: should encrypted_len be a metavariable?
> warning: line 54: should data be a metavariable?
> warning: line 54: should data_len be a metavariable?
> warning: line 61: should session be a metavariable?
> warning: line 61: should encrypted be a metavariable?
> warning: line 61: should encrypted_len be a metavariable?
> warning: line 61: should data be a metavariable?
> warning: line 61: should data_len be a metavariable?
> warning: line 68: should session be a metavariable?
> warning: line 68: should encrypted be a metavariable?
> warning: line 68: should encrypted_len be a metavariable?
> warning: line 68: should data be a metavariable?
> warning: line 68: should data_len be a metavariable?
> warning: line 75: should session be a metavariable?
> warning: line 75: should decrypted be a metavariable?
> warning: line 75: should decrypted_len be a metavariable?
> warning: line 82: should session be a metavariable?
> warning: line 82: should data be a metavariable?
> warning: line 82: should data_len be a metavariable?
> warning: line 87: should data be a metavariable?
> warning: line 87: should output be a metavariable?
> HANDLING: ../../../src/bindings-pkcs11/pkcs11.h
> #Sed to force the produced idl variable context and some values to be tagged
> 'unused'
> sed -i 's/\(.*\), camlidl_ctx _ctx)$/#ifdef __GNUC__\n\1,
> __attribute__((unused)) camlidl_ctx _ctx)\n#else\n\1, camlidl_ctx
> _ctx)\n#endif/g' ../../../src/bindings-pkcs11/pkcs11_stubs.c
> sed -i 's/\(.*\)value _unit)$/#ifdef __GNUC__\n\1__attribute__((unused))value
> _unit)\n#else\n\1value _unit)\n#endif/g'
> ../../../src/bindings-pkcs11/pkcs11_stubs.c
> #Sed to disable the warnings on shadowing caml__roots_block
> sed -i 's/\(.*\)Begin_root(\(.*\)/\/* We add this because of possible shadow
> warning *\/\n\/* (this is not our code: these are camlidl macros)*\/\n#if
> GCC_VERSION > 40600\n#pragma GCC diagnostic push\n#pragma GCC diagnostic
> ignored \"-Wshadow\"\n#endif\n\1Begin_root(\2\n#if GCC_VERSION >
> 40600\n#pragma GCC diagnostic pop\n#endif/g'
> ../../../src/bindings-pkcs11/pkcs11_stubs.c
> sed -i 's/\(.*\)Begin_roots_block(\(.*\)/\/* We add this because of possible
> shadow warning *\/\n\/* (this is not our code: these are camlidl
> macros)*\/\n#if GCC_VERSION > 40600\n#pragma GCC diagnostic push\n#pragma GCC
> diagnostic ignored \"-Wshadow\"\n#endif\n\1Begin_roots_block(\2\n#if
> GCC_VERSION > 40600\n#pragma GCC diagnostic pop\n#endif/g'
> ../../../src/bindings-pkcs11/pkcs11_stubs.c
> gcc ../../../src/bindings-pkcs11/pkcs11_stubs.c -DSERVER_ROLE -c -O2 -fPIC
> -Wall -Wextra -pedantic -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings
> -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
> -Wnested-externs -Winline -Wuninitialized -fcommon -Wdate-time
> -D_FORTIFY_SOURCE=2 -I/usr/lib/ocaml
> gcc ../../../src/bindings-pkcs11/pkcs11_functions.c -DSERVER_ROLE -c -O2
> -fPIC -Wall -Wextra -pedantic -Wshadow -Wpointer-arith -Wcast-align
> -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
> -Wnested-externs -Winline -Wuninitialized -fcommon -Wdate-time
> -D_FORTIFY_SOURCE=2 -I/usr/lib/ocaml
> ocamlopt -unsafe-string -o pkcs11 -c ../../../src/bindings-pkcs11/pkcs11.mli
> ocamlopt: OCaml has been configured with -force-safe-string: -unsafe-string
> is not available.
> Usage: ocamlopt <options> <files>
> Options are:
> -fPIC Generate position-independent machine code (default)
> -fno-PIC Generate position-dependent machine code
> -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
> -afl-instrument Enable instrumentation for afl-fuzz
> -afl-inst-ratio Configure percentage of branches instrumented
> (advanced, see afl-fuzz docs for AFL_INST_RATIO)
> -annot (deprecated) Save information in <filename>.annot
> -bin-annot Save typedtree in <filename>.cmt
> -inline-branch-factor <n>|<round>=<n>[,...] Estimate the probability of a
> branch being cold as 1/(1+n) (used for inlining) (default 0.10)
> -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
> -clambda-checks Instrument clambda code with closure and field access
> checks (for debugging the compiler)
> -Oclassic Make inlining decisions at function definition time rather than
> at the call site (replicates previous behaviour of the compiler)
> -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.
> -compact Optimize code size rather than speed
> -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)
> -dtypes (deprecated) same as -annot
> -for-pack <ident> Generate code that can later be `packed' with
> ocamlopt -pack -o <ident>.cmx
> -g Record debugging information for exception backtrace
> -function-sections Generate each function in a separate section if target
> supports it
> -stop-after {parsing|typing|scheduling} 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
> -inline <n>|<round>=<n>[,...] Aggressiveness of inlining (default 1.25,
> higher numbers mean more aggressive)
> -inline-toplevel <n>|<round>=<n>[,...] Aggressiveness of inlining at
> toplevel (higher numbers mean more aggressive)
> -inline-alloc-cost <n>|<round>=<n>[,...] The cost of not removing an
> allocation during inlining (default 7, higher numbers more costly)
> -inline-branch-cost <n>|<round>=<n>[,...] The cost of not removing a
> conditional during inlining (default 5, higher numbers more costly)
> -inline-call-cost <n>|<round>=<n>[,...] The cost of not removing a call
> during inlining (default 5, higher numbers more costly)
> -inline-prim-cost <n>|<round>=<n>[,...] The cost of not removing a
> primitive during inlining (default 3, higher numbers more costly)
> -inline-indirect-cost <n>|<round>=<n>[,...] The cost of not removing an
> indirect call during inlining (default 4, higher numbers more costly)
> -inline-lifting-benefit <n>|<round>=<n>[,...] The benefit of lifting
> definitions to toplevel during inlining (default 1300, higher numbers more
> beneficial)
> -inlining-report Emit `.<round>.inlining' file(s) (one per round) showing
> the inliner's decisions
> -insn-sched Run the instruction scheduling pass (default)
> -intf <file> Compile <file> as a .mli file
> -intf-suffix <string> Suffix for interface files (default: .mli)
> -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
> -inline-max-depth <n>|<round>=<n>[,...] Maximum depth of search for
> inlining opportunities inside inlined functions (default 1)
> -alias-deps Do record dependencies for module aliases
> -no-alias-deps Do not record dependencies for module aliases
> -linscan Use the linear scan register allocator
> -app-funct Activate applicative functors
> -no-app-funct Deactivate applicative functors
> -no-float-const-prop Deactivate constant propagation for floating-point
> operations
> -noassert Do not compile assertion checks
> -noautolink Do not automatically link C libraries specified in .cmxa files
> -nodynlink Enable optimizations for code that will not be dynlinked
> -no-insn-sched Do not run the instruction scheduling pass
> -nolabels Ignore non-optional labels in types
> -nostdlib Do not add default directory to the list of include directories
> -nopervasives (undocumented)
> -no-unbox-free-vars-of-closures Do not unbox variables that will appear
> inside function closures
> -no-unbox-specialised-args Do not unbox arguments to which functions have
> been specialised
> -o <file> Set output file name to <file>
> -O2 Apply increased optimization for speed
> -O3 Apply aggressive optimization for speed (may significantly increase
> code size and compilation time)
> -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
> -p (no longer supported)
> -pack Package the given .cmx files into one .cmx
> -plugin <plugin> (no longer supported)
> -pp <command> Pipe sources through preprocessor <command>
> -ppx <command> Pipe abstract syntax trees through preprocessor <command>
> -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)
> -remove-unused-arguments Remove unused function arguments
> -rounds <n> Repeat tree optimization and inlining phases this many times
> (default 1). Rounds are numbered starting from zero.
> -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.
> -S Keep intermediate assembly file
> -safe-string (was set when configuring the compiler)
> -shared Produce a dynlinkable plugin
> -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
> -unbox-closures Pass free variables via specialised arguments rather than
> closures
> -unbox-closures-factor <n > 0> Scale the size threshold above which
> unbox-closures will slow down indirect calls rather than duplicating a
> function (default 10)
> -inline-max-unroll <n>|<round>=<n>[,...] Unroll recursive functions at
> most this many times (default 0)
> -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)
> -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
> -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.)
> -dno-unique-ids (undocumented)
> -dunique-ids (undocumented)
> -dno-locations (undocumented)
> -dlocations (undocumented)
> -dsource (undocumented)
> -dparsetree (undocumented)
> -dtypedtree (undocumented)
> -drawlambda (undocumented)
> -dlambda (undocumented)
> -drawclambda (undocumented)
> -dclambda (undocumented)
> -dflambda Print Flambda terms
> -drawflambda Print Flambda terms after closure conversion
> -dflambda-invariants Check Flambda invariants around each pass
> -dflambda-no-invariants Do not Check Flambda invariants around each pass
> -dflambda-let <stamp> Print when the given Flambda [Let] is created
> -dflambda-verbose Print Flambda terms including around each pass
> -dcmm (undocumented)
> -dsel (undocumented)
> -dcombine (undocumented)
> -dcse (undocumented)
> -dlive (undocumented)
> -davail Print register availability info when printing liveness
> -drunavail Run register availability pass (for testing only; needs -g)
> -dspill (undocumented)
> -dsplit (undocumented)
> -dinterf (undocumented)
> -dprefer (undocumented)
> -dalloc (undocumented)
> -dreload (undocumented)
> -dscheduling (undocumented)
> -dlinear (undocumented)
> -dinterval (undocumented)
> -dstartup (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
> -dump-pass Record transformations performed by these passes:
> unbox-closures unbox-specialised-args unbox-free-vars-of-closures
> remove-free-vars-equal-to-args remove-unused-arguments unused-arguments
> -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 'ocamlopt -depend -help' for
> details)
> -help Display this list of options
> --help Display this list of options
> make[3]: *** [Makefile:12: all] Error 2
The full build log is available from:
http://qa-logs.debian.net/2020/10/27/caml-crush_1.0.10-4_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.
** Affects: caml-crush (Ubuntu)
Importance: Undecided
Status: New
** Affects: caml-crush (Debian)
Importance: Undecided
Status: New
** Tags: ftbfs update-excuse
** Bug watch added: Debian Bug tracker #973153
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973153
** Changed in: caml-crush (Debian)
Remote watch: None => Debian Bug tracker #973153
** Tags added: ftbfs update-excuse
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1940640
Title:
caml-crush: FTBFS: ocamlopt: OCaml has been configured with -force-
safe-string: -unsafe-string is not available.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/caml-crush/+bug/1940640/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs