Hi Jakub, thanks for the review!
On Sat, Jul 09, 2016 at 08:33:21PM +0200, Jakub Wilk wrote: > Hi Fabian! > > I don't intend to sponsor this upload, but here's a quick review: > > * Fabian Wolff <[email protected]>, 2016-07-09, 16:14: > > * Add patch fix-dotnet-version.patch (Closes: #808695). > > This gives me no clue what the patch is about. I have made the changelog entry a bit more verbose. > > * Upgrade to Standards version 3.9.8 (no changes). > > I don't think this is a good idea for an NMU. OK. Changed back to 3.9.6. > > * Install shared libraries into new libz3-4 package (Closes: #819884). > > Now that the -dev package doesn't ship any ELFs, you should remove > ${shlib:Depends} from -dev's Depends. > > "Pre-Depends: ${misc:Pre-Depends}" should be moved to the shared library > package, or removed completely, because it's not needed these days. I removed it, but does it do any harm? > > * Install python files directly into /usr/lib/python2.7/dist-packages/ > > AFAICS, upstream build system installs these files in the right place, so > there should be no need to pick the *.py files from src/. > > These d/rules lines are effectively no-ops and should be removed: > > mkdir -p debian/tmp/usr/lib/python2.7/dist-packages/z3 > touch debian/tmp/usr/lib/python2.7/dist-packages/z3/__init__.py > > (The latter is probably a failed attempt of fixing #791604, which looks like > a previous incarnation #819884.) True, I fixed it. The first mkdir is necessary, though, to make the directory debian/tmp/usr/lib/python2.7/dist-packages/. dh_auto_install fails otherwise. > > * Remove unnecessary version restriction of build dependency > > cli-common-dev. > > Hmm, I don't know anything about CLI, but dh_cligacpolicy disagrees: > > dh_cligacpolicy: Warning! No Build-Depends(-Indep) on cli-common-dev (>= > 0.5.7)! #808405. Even oldoldstable ships 0.7.1, so it is safe to assume that the version is >= 0.5.7. > > * Format debian/control with cme. > > I don't think cosmetic changes are good idea for an NMU. I undid them. > > * Disable tests as they fail eventually. > > All the tests? :-O It's more like one big one that calls individual functions that test something. Most of the tests passed, but after about 1 GB (!) of test output had been written on screen, something segfaulted. This is one of those issues that probably need further investigation, but I lack the overview over the test architecture to even just know where to look. Here is the tail of the build log: NUM_NON_LINEAR 0 NUM_ALIENS 0 NUM_THEORIES 0 END_PRIMITIVE_STATIC_FEATURES (smt.preprocessing :time 0.01 :before-memory 5.25 :after-memory 5.25) debian/rules:96: recipe for target 'override_dh_auto_test' failed make[1]: *** [override_dh_auto_test] Segmentation fault make[1]: Leaving directory '/build/z3-4.4.1' debian/rules:9: recipe for target 'build' failed make: *** [build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 This followed 987M of passing test logs, so I think this is not a major issue. > > I've tried building z3 with hardening flags turned on, but the build > > failed. > > What was the error message? /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/Scrt1.o: In function `_start': (.text+0x20): undefined reference to `main' collect2: error: ld returned 1 exit status Makefile:3867: recipe for target 'libz3.so' failed Might have something to do with -fPIE vs. -fPIC, but one would have to investigate further to be sure. I've attached the build log if anyone is interested. This is definitely not a regression, though, since the z3 version currently in the archive has no hardening flags enabled, either. > > I don't know what the problem with the -dev package is; contrary to what > > Lintian claims, it *does* contain a symlink to the respective shared > > library. > > Yes, it does look like a bug in Lintian. Apparently it gets confused by the > -ocaml-dev package: > > $ lintian libz3-4_4.4.1-0.1_amd64.deb libz3-dev_4.4.1-0.1_amd64.deb > [nothing] > > $ lintian libz3-4_4.4.1-0.1_amd64.deb libz3-dev_4.4.1-0.1_amd64.deb > libz3-ocaml-dev_4.4.1-0.1_amd64.deb > W: libz3-4: dev-pkg-without-shlib-symlink usr/lib/x86_64-linux-gnu/libz3.so.4 > usr/lib/x86_64-linux-gnu/libz3.so > W: libz3-ocaml-dev: hardening-no-relro usr/lib/ocaml/z3/dllz3ml.so I have made the -dev package depend on libz3-4, and indeed, the Lintian warning disappeared. Thanks for the hint! The warning about the incompatible Java bytecode version might have something to do with #829592, as I just noticed. > > There are a few other issues that I was not able to fix, but I think > > closing the four RC bugs has a higher priority right now. > > Absolutely. It's not NMUer obligation to fix every known bug. > > -- > Jakub Wilk I have reuploaded the fixed version to Mentors. Regards, Fabian Wolff
[...] dpkg-source: warning: extracting unsigned source package (z3_4.4.1-0.1.dsc) dpkg-source: info: extracting z3 in z3-4.4.1 dpkg-source: info: unpacking z3_4.4.1.orig.tar.gz dpkg-source: info: unpacking z3_4.4.1-0.1.debian.tar.xz dpkg-source: info: applying enable-dotnet.patch dpkg-source: info: applying fix-dotnet.patch dpkg-source: info: applying fix-dotnet-version.patch dpkg-source: info: applying avoid-ocamlopt.patch dpkg-source: info: applying intrinsics.patch dpkg-source: info: applying typos.patch I: Building the package I: Running cd /build/*/ && env PATH="/usr/lib/ccache:/usr/sbin:/usr/bin:/sbin:/bin" HOME="/nonexistent" dpkg-buildpackage -us -uc -rfakeroot dpkg-buildpackage: info: source package z3 dpkg-buildpackage: info: source version 4.4.1-0.1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Fabian Wolff <[email protected]> dpkg-source --before-build z3-4.4.1 dpkg-buildpackage: info: host architecture amd64 fakeroot debian/rules clean dh clean --parallel --with python2,javahelper,ocaml,cli dh_testdir dh_auto_clean jh_clean dh_ocamlclean debian/rules override_dh_clean make[1]: Entering directory '/build/z3-4.4.1' dh_clean rm -f Makefile scripts/*.pyc rm -f -r build rm -f src/api/python/*.pyc rm -f \ src/api/api_commands.cpp \ src/api/api_log_macros.cpp \ src/api/api_log_macros.h \ src/api/dll/gparams_register_modules.cpp \ src/api/dll/install_tactic.cpp \ src/api/dll/mem_initializer.cpp \ src/api/dotnet/Enumerations.cs \ src/api/dotnet/Native.cs \ src/api/dotnet/Properties/AssemblyInfo.cs \ src/api/python/z3consts.py \ src/api/python/z3core.py \ src/api/java/Native.cpp \ src/api/java/Native.java \ src/api/java/enumerations/Z3_ast_kind.java \ src/api/java/enumerations/Z3_ast_print_mode.java \ src/api/java/enumerations/Z3_decl_kind.java \ src/api/java/enumerations/Z3_error_code.java \ src/api/java/enumerations/Z3_goal_prec.java \ src/api/java/enumerations/Z3_lbool.java \ src/api/java/enumerations/Z3_param_kind.java \ src/api/java/enumerations/Z3_parameter_kind.java \ src/api/java/enumerations/Z3_sort_kind.java \ src/api/java/enumerations/Z3_symbol_kind.java \ src/api/ml/z3native.ml \ src/api/ml/z3native.mli \ src/api/ml/z3native_stubs.c \ src/api/ml/z3enums.ml \ src/api/ml/z3enums.mli \ src/ast/fpa/fpa2bv_rewriter_params.hpp \ src/ast/normal_forms/nnf_params.hpp \ src/ast/pattern/database.h \ src/ast/pattern/pattern_inference_params_helper.hpp \ src/ast/pp_params.hpp \ src/ast/rewriter/arith_rewriter_params.hpp \ src/ast/rewriter/array_rewriter_params.hpp \ src/ast/rewriter/bool_rewriter_params.hpp \ src/ast/rewriter/bv_rewriter_params.hpp \ src/ast/rewriter/fpa_rewriter_params.hpp \ src/ast/rewriter/poly_rewriter_params.hpp \ src/ast/rewriter/rewriter_params.hpp \ src/ast/simplifier/arith_simplifier_params_helper.hpp \ src/ast/simplifier/array_simplifier_params_helper.hpp \ src/ast/simplifier/bv_simplifier_params_helper.hpp \ src/interp/interp_params.hpp \ src/math/polynomial/algebraic_params.hpp \ src/math/realclosure/rcf_params.hpp \ src/model/model_evaluator_params.hpp \ src/model/model_params.hpp \ src/muz/base/fixedpoint_params.hpp \ src/nlsat/nlsat_params.hpp \ src/parsers/util/parser_params.hpp \ src/sat/sat_asymm_branch_params.hpp \ src/sat/sat_params.hpp \ src/sat/sat_scc_params.hpp \ src/sat/sat_simplifier_params.hpp \ src/shell/gparams_register_modules.cpp \ src/shell/install_tactic.cpp \ src/shell/mem_initializer.cpp \ src/smt/params/smt_params_helper.hpp \ src/solver/combined_solver_params.hpp \ src/tactic/sls/sls_params.hpp \ src/test/gparams_register_modules.cpp \ src/test/install_tactic.cpp \ src/test/mem_initializer.cpp \ src/util/version.h \ src/opt/opt_params.hpp make[1]: Leaving directory '/build/z3-4.4.1' dpkg-source -b z3-4.4.1 dpkg-source: info: using source format '3.0 (quilt)' dpkg-source: info: building z3 using existing ./z3_4.4.1.orig.tar.gz dpkg-source: info: building z3 in z3_4.4.1-0.1.debian.tar.xz dpkg-source: info: building z3 in z3_4.4.1-0.1.dsc debian/rules build dh build --parallel --with python2,javahelper,ocaml,cli dh_testdir dh_update_autotools_config dh_ocamlinit debian/rules override_dh_auto_configure make[1]: Entering directory '/build/z3-4.4.1' python scripts/mk_make.py --java --ml --prefix=/build/z3-4.4.1/debian/tmp/usr opt = --java, arg = opt = --ml, arg = opt = --prefix, arg = /build/z3-4.4.1/debian/tmp/usr New component: 'util' New component: 'polynomial' New component: 'sat' New component: 'nlsat' New component: 'hilbert' New component: 'simplex' New component: 'interval' New component: 'realclosure' New component: 'subpaving' New component: 'ast' New component: 'rewriter' New component: 'normal_forms' New component: 'model' New component: 'tactic' New component: 'substitution' New component: 'parser_util' New component: 'grobner' New component: 'euclid' New component: 'core_tactics' New component: 'sat_tactic' New component: 'arith_tactics' New component: 'nlsat_tactic' New component: 'subpaving_tactic' New component: 'aig_tactic' New component: 'solver' New component: 'interp' New component: 'cmd_context' New component: 'extra_cmds' New component: 'smt2parser' New component: 'proof_checker' New component: 'simplifier' New component: 'fpa' New component: 'macros' New component: 'pattern' New component: 'bit_blaster' New component: 'smt_params' New component: 'proto_model' New component: 'smt' New component: 'user_plugin' New component: 'bv_tactics' New component: 'fuzzing' New component: 'smt_tactic' New component: 'sls_tactic' New component: 'qe' New component: 'duality' New component: 'muz' New component: 'dataflow' New component: 'transforms' New component: 'rel' New component: 'pdr' New component: 'clp' New component: 'tab' New component: 'bmc' New component: 'ddnf' New component: 'duality_intf' New component: 'fp' New component: 'nlsat_smt_tactic' New component: 'smtlogic_tactics' New component: 'fpa_tactics' New component: 'ufbv_tactic' New component: 'sat_solver' New component: 'portfolio' New component: 'smtparser' New component: 'opt' New component: 'api' New component: 'shell' New component: 'test' New component: 'api_dll' New component: 'dotnet' New component: 'java' New component: 'ml' New component: 'cpp' Python bindings directory was detected. New component: 'cpp_example' New component: 'iz3' New component: 'z3_tptp' New component: 'c_example' New component: 'maxsat' New component: 'dotnet_example' New component: 'java_example' New component: 'py_example' Generated 'src/util/version.h' Updated 'src/api/dotnet/Properties/AssemblyInfo' Generated 'src/solver/combined_solver_params.hpp' Generated 'src/interp/interp_params.hpp' Generated 'src/model/model_params.hpp' Generated 'src/model/model_evaluator_params.hpp' Generated 'src/smt/params/smt_params_helper.hpp' Generated 'src/tactic/sls/sls_params.hpp' Generated 'src/opt/opt_params.hpp' Generated 'src/parsers/util/parser_params.hpp' Generated 'src/muz/base/fixedpoint_params.hpp' Generated 'src/ast/pp_params.hpp' Generated 'src/ast/simplifier/array_simplifier_params_helper.hpp' Generated 'src/ast/simplifier/bv_simplifier_params_helper.hpp' Generated 'src/ast/simplifier/arith_simplifier_params_helper.hpp' Generated 'src/ast/fpa/fpa2bv_rewriter_params.hpp' Generated 'src/ast/normal_forms/nnf_params.hpp' Generated 'src/ast/pattern/pattern_inference_params_helper.hpp' Generated 'src/ast/rewriter/fpa_rewriter_params.hpp' Generated 'src/ast/rewriter/rewriter_params.hpp' Generated 'src/ast/rewriter/array_rewriter_params.hpp' Generated 'src/ast/rewriter/poly_rewriter_params.hpp' Generated 'src/ast/rewriter/bool_rewriter_params.hpp' Generated 'src/ast/rewriter/bv_rewriter_params.hpp' Generated 'src/ast/rewriter/arith_rewriter_params.hpp' Generated 'src/sat/sat_simplifier_params.hpp' Generated 'src/sat/sat_scc_params.hpp' Generated 'src/sat/sat_asymm_branch_params.hpp' Generated 'src/sat/sat_params.hpp' Generated 'src/math/realclosure/rcf_params.hpp' Generated 'src/math/polynomial/algebraic_params.hpp' Generated 'src/nlsat/nlsat_params.hpp' Generated 'src/ast/pattern/database.h' Generated 'src/shell/install_tactic.cpp' Generated 'src/test/install_tactic.cpp' Generated 'src/api/dll/install_tactic.cpp' Generated 'src/shell/mem_initializer.cpp' Generated 'src/test/mem_initializer.cpp' Generated 'src/api/dll/mem_initializer.cpp' Generated 'src/shell/gparams_register_modules.cpp' Generated 'src/test/gparams_register_modules.cpp' Generated 'src/api/dll/gparams_register_modules.cpp' Generated 'src/api/python/z3consts.py' Generated 'src/api/dotnet/Enumerations.cs' Finding javac ... Finding jar ... Testing /usr/bin/javac... Finding jni.h... Generated 'src/api/java/enumerations' Generated 'src/api/java/Native.java' Generated "src/api/ml/z3native.ml" Generated 'src/api/api_log_macros.h' Generated 'src/api/api_log_macros.cpp' Generated 'src/api/api_commands.cpp' Generated 'src/api/python/z3core.py' Generated 'src/api/dotnet/Native.cs' Listing src/api/python ... Compiling src/api/python/z3.py ... Compiling src/api/python/z3consts.py ... Compiling src/api/python/z3core.py ... Compiling src/api/python/z3num.py ... Compiling src/api/python/z3poly.py ... Compiling src/api/python/z3printer.py ... Compiling src/api/python/z3rcf.py ... Compiling src/api/python/z3test.py ... Compiling src/api/python/z3types.py ... Compiling src/api/python/z3util.py ... Copied 'z3rcf.py' Copied 'z3poly.py' Copied 'z3types.py' Copied 'z3test.py' Copied 'z3core.py' Copied 'z3.py' Copied 'z3util.py' Copied 'z3num.py' Copied 'z3printer.py' Copied 'z3consts.py' Generated 'z3rcf.pyc' Generated 'z3poly.pyc' Generated 'z3consts.pyc' Generated 'z3util.pyc' Generated 'z3.pyc' Generated 'z3test.pyc' Generated 'z3core.pyc' Generated 'z3printer.pyc' Generated 'z3num.pyc' Generated 'z3types.pyc' Testing ocamlc... Finding OCAML_LIB... OCAML_LIB=/usr/lib/ocaml Testing ocamlfind... Generated "src/api/ml/z3enums.ml" Generated "src/api/ml/z3enums.mli" Testing ar... Testing g++... Testing gcc... Testing floating point support... Testing OpenMP... Host platform: Linux C++ Compiler: g++ C Compiler : gcc Arithmetic: internal OpenMP: True Prefix: /build/z3-4.4.1/debian/tmp/usr 64-bit: True FP math: SSE2-GCC Python version: 2.7 JNI Bindings: /usr/lib/jvm/java-8-openjdk-amd64/include Java Compiler: /usr/bin/javac OCaml Compiler: ocamlc OCaml Native: ocamlopt OCaml Library: /usr/lib/ocaml Writing build/Makefile Updated 'build/api/ml/META' Copied Z3Py example 'example.py' to 'build' Makefile was successfully generated. python packages dir: /build/z3-4.4.1/debian/tmp/usr/lib/python2.7/dist-packages compilation mode: Release Type 'cd build; make' to build Z3 sed -i 's/^SLINK_FLAGS=.*/SLINK_FLAGS=-shared -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,-soname,libz3.so.4/' build/config.mk sed -i 's/^CXXFLAGS=/CXXFLAGS=-fPIC /' build/config.mk printf '%%:\n\t$(MAKE) -C build $@\n' > Makefile printf '\nall:\n\t$(MAKE) -C build $@\n' >> Makefile ln -s libz3.so build/libz3.dll # from T2 README, with fixes printf '<configuration>\n <dllmap dll="libz3.dll" target="/usr/lib/x86_64-linux-gnu/libz3.so" os="linux"/>\n</configuration>\n' > build/Microsoft.Z3.dll.config make[1]: Leaving directory '/build/z3-4.4.1' jh_linkjars dh_auto_build make -j1 make[1]: Entering directory '/build/z3-4.4.1' make -C build all make[2]: Entering directory '/build/z3-4.4.1/build' src/shell/datalog_frontend.cpp src/shell/opt_frontend.cpp src/shell/dimacs_frontend.cpp src/shell/main.cpp src/shell/gparams_register_modules.cpp src/shell/smtlib_frontend.cpp src/shell/mem_initializer.cpp src/shell/install_tactic.cpp src/shell/z3_log_frontend.cpp src/api/api_params.cpp src/api/api_array.cpp src/api/api_rcf.cpp src/api/api_interp.cpp src/api/api_log_macros.cpp src/api/api_algebraic.cpp src/api/api_datatype.cpp src/api/api_opt.cpp src/api/api_model.cpp src/api/api_log.cpp src/api/api_ast_vector.cpp src/api/api_pb.cpp src/api/api_polynomial.cpp src/api/z3_replayer.cpp src/api/api_ast.cpp src/api/api_tactic.cpp src/api/api_goal.cpp src/api/api_numeral.cpp src/api/api_config_params.cpp src/api/api_ast_map.cpp src/api/api_arith.cpp src/api/api_parsers.cpp src/api/api_fpa.cpp src/api/api_solver.cpp src/api/api_solver_old.cpp src/api/api_commands.cpp src/api/api_quant.cpp src/api/api_datalog.cpp src/api/api_context.cpp src/api/api_bv.cpp src/api/api_stats.cpp src/api/api_user_theory.cpp src/opt/opt_pareto.cpp src/opt/bcd2.cpp src/opt/maxsls.cpp src/opt/maxhs.cpp src/opt/optsmt.cpp src/opt/pb_sls.cpp src/opt/opt_context.cpp src/opt/mus.cpp src/opt/opt_solver.cpp src/opt/maxsmt.cpp src/opt/maxres.cpp src/opt/mss.cpp src/opt/fu_malik.cpp src/opt/opt_cmds.cpp src/opt/hitting_sets.cpp src/opt/wmax.cpp src/parsers/smt/smtlib.cpp src/parsers/smt/smtparser.cpp src/parsers/smt/smtlib_solver.cpp src/tactic/portfolio/default_tactic.cpp src/tactic/portfolio/smt_strategic_solver.cpp src/sat/sat_solver/inc_sat_solver.cpp src/tactic/ufbv/macro_finder_tactic.cpp src/tactic/ufbv/quasi_macros_tactic.cpp src/tactic/ufbv/ufbv_rewriter_tactic.cpp src/tactic/ufbv/ufbv_rewriter.cpp src/tactic/ufbv/ufbv_tactic.cpp src/tactic/fpa/fpa2bv_tactic.cpp src/tactic/fpa/qffp_tactic.cpp src/tactic/fpa/fpa2bv_model_converter.cpp src/tactic/smtlogics/qfaufbv_tactic.cpp src/tactic/smtlogics/qfnra_tactic.cpp src/tactic/smtlogics/qfuf_tactic.cpp src/tactic/smtlogics/quant_tactics.cpp src/tactic/smtlogics/qfauflia_tactic.cpp src/tactic/smtlogics/qfufbv_tactic.cpp src/tactic/smtlogics/qfidl_tactic.cpp src/tactic/smtlogics/qfufnra_tactic.cpp src/tactic/smtlogics/qfbv_tactic.cpp src/tactic/smtlogics/nra_tactic.cpp src/tactic/smtlogics/qflia_tactic.cpp src/tactic/smtlogics/qflra_tactic.cpp src/tactic/smtlogics/qfnia_tactic.cpp src/tactic/nlsat_smt/nl_purify_tactic.cpp src/muz/fp/datalog_parser.cpp src/muz/fp/dl_cmds.cpp src/muz/fp/horn_tactic.cpp src/muz/fp/dl_register_engine.cpp src/muz/duality/duality_dl_interface.cpp src/muz/ddnf/ddnf.cpp src/muz/bmc/dl_bmc_engine.cpp src/muz/tab/tab_context.cpp src/muz/clp/clp_context.cpp src/muz/pdr/pdr_sym_mux.cpp src/muz/pdr/pdr_generalizers.cpp src/muz/pdr/pdr_dl_interface.cpp src/muz/pdr/pdr_manager.cpp src/muz/pdr/pdr_util.cpp src/muz/pdr/pdr_farkas_learner.cpp src/muz/pdr/pdr_smt_context_manager.cpp src/muz/pdr/pdr_prop_solver.cpp src/muz/pdr/pdr_closure.cpp src/muz/pdr/pdr_reachable_cache.cpp src/muz/pdr/pdr_context.cpp src/muz/rel/dl_base.cpp src/muz/rel/dl_check_table.cpp src/muz/rel/dl_sieve_relation.cpp src/muz/rel/dl_mk_partial_equiv.cpp src/muz/rel/dl_mk_similarity_compressor.cpp src/muz/rel/rel_context.cpp src/muz/rel/dl_relation_manager.cpp src/muz/rel/dl_bound_relation.cpp src/muz/rel/dl_compiler.cpp src/muz/rel/dl_finite_product_relation.cpp src/muz/rel/check_relation.cpp src/muz/rel/dl_table.cpp src/muz/rel/doc.cpp src/muz/rel/dl_instruction.cpp src/muz/rel/dl_external_relation.cpp src/muz/rel/aig_exporter.cpp src/muz/rel/dl_interval_relation.cpp src/muz/rel/udoc_relation.cpp src/muz/rel/dl_mk_explanations.cpp src/muz/rel/dl_product_relation.cpp src/muz/rel/dl_lazy_table.cpp src/muz/rel/karr_relation.cpp src/muz/rel/tbv.cpp src/muz/rel/dl_mk_simple_joins.cpp src/muz/rel/dl_sparse_table.cpp src/muz/rel/dl_table_relation.cpp src/muz/transforms/dl_mk_loop_counter.cpp src/muz/transforms/dl_mk_unfold.cpp src/muz/transforms/dl_mk_coi_filter.cpp src/muz/transforms/dl_mk_coalesce.cpp src/muz/transforms/dl_mk_backwards.cpp src/muz/transforms/dl_mk_scale.cpp src/muz/transforms/dl_transforms.cpp src/muz/transforms/dl_mk_slice.cpp src/muz/transforms/dl_mk_quantifier_abstraction.cpp src/muz/transforms/dl_mk_subsumption_checker.cpp src/muz/transforms/dl_mk_karr_invariants.cpp src/muz/transforms/dl_mk_interp_tail_simplifier.cpp src/muz/transforms/dl_mk_array_blast.cpp src/muz/transforms/dl_mk_rule_inliner.cpp src/muz/transforms/dl_mk_filter_rules.cpp src/muz/transforms/dl_mk_separate_negated_tails.cpp src/muz/transforms/dl_mk_bit_blast.cpp src/muz/transforms/dl_mk_magic_sets.cpp src/muz/transforms/dl_mk_quantifier_instantiation.cpp src/muz/transforms/dl_mk_magic_symbolic.cpp src/muz/transforms/dl_mk_unbound_compressor.cpp src/muz/dataflow/dataflow.cpp src/muz/base/dl_rule.cpp src/muz/base/bind_variables.cpp src/muz/base/dl_rule_subsumption_index.cpp src/muz/base/rule_properties.cpp src/muz/base/dl_util.cpp src/muz/base/dl_rule_set.cpp src/muz/base/proof_utils.cpp src/muz/base/dl_boogie_proof.cpp src/muz/base/dl_costs.cpp src/muz/base/hnf.cpp src/muz/base/dl_rule_transformer.cpp src/muz/base/dl_context.cpp src/duality/duality_solver.cpp src/duality/duality_profiling.cpp src/duality/duality_wrapper.cpp src/duality/duality_rpfp.cpp src/qe/qe_bool_plugin.cpp src/qe/qe_lite.cpp src/qe/nlarith_util.cpp src/qe/vsubst_tactic.cpp src/qe/qe_cmd.cpp src/qe/qe_util.cpp src/qe/qe_sat_tactic.cpp src/qe/qe.cpp src/qe/qe_arith.cpp src/qe/qe_bv_plugin.cpp src/qe/qe_datatype_plugin.cpp src/qe/qe_tactic.cpp src/qe/qe_dl_plugin.cpp src/qe/qe_array_plugin.cpp src/qe/qe_arith_plugin.cpp src/tactic/sls/bvsls_opt_engine.cpp src/tactic/sls/sls_tactic.cpp src/tactic/sls/sls_engine.cpp src/smt/tactic/smt_tactic.cpp src/smt/tactic/unit_subsumption_tactic.cpp src/smt/tactic/ctx_solver_simplify_tactic.cpp src/tactic/bv/bv_size_reduction_tactic.cpp src/tactic/bv/max_bv_sharing_tactic.cpp src/tactic/bv/bit_blaster_model_converter.cpp src/tactic/bv/bit_blaster_tactic.cpp src/tactic/bv/bv1_blaster_tactic.cpp src/smt/user_plugin/user_smt_theory.cpp src/smt/user_plugin/user_simplifier_plugin.cpp src/smt/user_plugin/user_decl_plugin.cpp src/smt/elim_term_ite.cpp src/smt/smt_context_stat.cpp src/smt/theory_dl.cpp src/smt/smt_justification.cpp src/smt/theory_dense_diff_logic.cpp src/smt/smt_setup.cpp src/smt/smt_checker.cpp src/smt/theory_dummy.cpp src/smt/theory_utvpi.cpp src/smt/smt_for_each_relevant_expr.cpp src/smt/qi_queue.cpp src/smt/smt_almost_cg_table.cpp src/smt/smt_enode.cpp src/smt/arith_eq_solver.cpp src/smt/watch_list.cpp src/smt/uses_theory.cpp src/smt/asserted_formulas.cpp src/smt/theory_diff_logic.cpp src/smt/smt_model_finder.cpp src/smt/theory_array_full.cpp src/smt/theory_pb.cpp src/smt/theory_array.cpp src/smt/smt_farkas_util.cpp src/smt/smt_implied_equalities.cpp src/smt/smt_relevancy.cpp src/smt/smt_literal.cpp src/smt/old_interval.cpp src/smt/dyn_ack.cpp src/smt/smt_conflict_resolution.cpp src/smt/smt_solver.cpp src/smt/smt_kernel.cpp src/smt/smt_theory.cpp src/smt/smt_case_split_queue.cpp src/smt/smt_quantifier_stat.cpp src/smt/theory_fpa.cpp src/smt/smt_context.cpp src/smt/mam.cpp src/smt/theory_array_base.cpp src/smt/fingerprints.cpp src/smt/cost_evaluator.cpp src/smt/smt_value_sort.cpp src/smt/arith_eq_adapter.cpp src/smt/smt_quantifier.cpp src/smt/smt_cg_table.cpp src/smt/smt_internalizer.cpp src/smt/smt_model_checker.cpp src/smt/theory_opt.cpp src/smt/theory_arith.cpp src/smt/smt_statistics.cpp src/smt/smt_quick_checker.cpp src/smt/cached_var_subst.cpp src/smt/smt_clause.cpp src/smt/theory_wmaxsat.cpp src/smt/theory_datatype.cpp src/smt/expr_context_simplifier.cpp src/smt/smt_context_pp.cpp src/smt/smt_model_generator.cpp src/smt/theory_bv.cpp src/smt/smt_context_inv.cpp src/smt/proto_model/value_factory.cpp src/smt/proto_model/struct_factory.cpp src/smt/proto_model/numeral_factory.cpp src/smt/proto_model/proto_model.cpp src/smt/proto_model/datatype_factory.cpp src/smt/proto_model/array_factory.cpp src/smt/params/dyn_ack_params.cpp src/smt/params/theory_array_params.cpp src/smt/params/preprocessor_params.cpp src/smt/params/theory_arith_params.cpp src/smt/params/theory_bv_params.cpp src/smt/params/smt_params.cpp src/smt/params/theory_pb_params.cpp src/smt/params/qi_params.cpp src/ast/rewriter/bit_blaster/bit_blaster.cpp src/ast/rewriter/bit_blaster/bit_blaster_rewriter.cpp src/ast/pattern/pattern_inference.cpp src/ast/pattern/pattern_inference_params.cpp src/ast/pattern/expr_pattern_match.cpp src/ast/macros/macro_finder.cpp src/ast/macros/quasi_macros.cpp src/ast/macros/macro_manager.cpp src/ast/macros/macro_util.cpp src/ast/fpa/fpa2bv_converter.cpp src/ast/simplifier/array_simplifier_plugin.cpp src/ast/simplifier/pull_ite_tree.cpp src/ast/simplifier/datatype_simplifier_plugin.cpp src/ast/simplifier/bv_elim.cpp src/ast/simplifier/inj_axiom.cpp src/ast/simplifier/array_simplifier_params.cpp src/ast/simplifier/simplifier_plugin.cpp src/ast/simplifier/distribute_forall.cpp src/ast/simplifier/arith_simplifier_params.cpp src/ast/simplifier/push_app_ite.cpp src/ast/simplifier/elim_bounds.cpp src/ast/simplifier/bv_simplifier_params.cpp src/ast/simplifier/fpa_simplifier_plugin.cpp src/ast/simplifier/poly_simplifier_plugin.cpp src/ast/simplifier/maximise_ac_sharing.cpp src/ast/simplifier/bit2int.cpp src/ast/simplifier/basic_simplifier_plugin.cpp src/ast/simplifier/arith_simplifier_plugin.cpp src/ast/simplifier/bv_simplifier_plugin.cpp src/ast/simplifier/simplifier.cpp src/ast/proof_checker/proof_checker.cpp src/parsers/smt2/smt2parser.cpp src/parsers/smt2/smt2scanner.cpp src/cmd_context/extra_cmds/dbg_cmds.cpp src/cmd_context/extra_cmds/subpaving_cmds.cpp src/cmd_context/extra_cmds/polynomial_cmds.cpp src/cmd_context/simplify_cmd.cpp src/cmd_context/check_logic.cpp src/cmd_context/echo_tactic.cpp src/cmd_context/interpolant_cmds.cpp src/cmd_context/cmd_context_to_goal.cpp src/cmd_context/tactic_manager.cpp src/cmd_context/context_params.cpp src/cmd_context/cmd_context.cpp src/cmd_context/pdecl.cpp src/cmd_context/cmd_util.cpp src/cmd_context/parametric_cmd.cpp src/cmd_context/tactic_cmds.cpp src/cmd_context/basic_cmds.cpp src/cmd_context/eval_cmd.cpp src/interp/iz3interp.cpp src/interp/iz3mgr.cpp src/interp/iz3base.cpp src/interp/iz3foci.cpp src/interp/iz3checker.cpp src/interp/iz3pp.cpp src/interp/iz3translate.cpp src/interp/iz3translate_direct.cpp src/interp/iz3scopes.cpp src/interp/iz3proof_itp.cpp src/interp/iz3proof.cpp src/interp/iz3profiling.cpp src/solver/tactic2solver.cpp src/solver/solver_na2as.cpp src/solver/solver.cpp src/solver/check_sat_result.cpp src/solver/combined_solver.cpp src/tactic/aig/aig.cpp src/tactic/aig/aig_tactic.cpp src/math/subpaving/tactic/expr2subpaving.cpp src/math/subpaving/tactic/subpaving_tactic.cpp src/nlsat/tactic/nlsat_tactic.cpp src/nlsat/tactic/goal2nlsat.cpp src/nlsat/tactic/qfnra_nlsat_tactic.cpp src/tactic/arith/bv2int_rewriter.cpp src/tactic/arith/fm_tactic.cpp src/tactic/arith/lia2pb_tactic.cpp src/tactic/arith/add_bounds_tactic.cpp src/tactic/arith/pb2bv_tactic.cpp src/tactic/arith/normalize_bounds_tactic.cpp src/tactic/arith/probe_arith.cpp src/tactic/arith/linear_equation.cpp src/tactic/arith/bound_manager.cpp src/tactic/arith/nla2bv_tactic.cpp src/tactic/arith/pb2bv_model_converter.cpp src/tactic/arith/arith_bounds_tactic.cpp src/tactic/arith/factor_tactic.cpp src/tactic/arith/propagate_ineqs_tactic.cpp src/tactic/arith/purify_arith_tactic.cpp src/tactic/arith/diff_neq_tactic.cpp src/tactic/arith/eq2bv_tactic.cpp src/tactic/arith/card2bv_tactic.cpp src/tactic/arith/fix_dl_var_tactic.cpp src/tactic/arith/bv2real_rewriter.cpp src/tactic/arith/degree_shift_tactic.cpp src/tactic/arith/lia2card_tactic.cpp src/tactic/arith/recover_01_tactic.cpp src/tactic/arith/bound_propagator.cpp src/tactic/arith/elim01_tactic.cpp src/sat/tactic/sat_tactic.cpp src/sat/tactic/atom2bool_var.cpp src/sat/tactic/goal2sat.cpp src/tactic/core/elim_uncnstr_tactic.cpp src/tactic/core/der_tactic.cpp src/tactic/core/split_clause_tactic.cpp src/tactic/core/distribute_forall_tactic.cpp src/tactic/core/cofactor_term_ite_tactic.cpp src/tactic/core/propagate_values_tactic.cpp src/tactic/core/solve_eqs_tactic.cpp src/tactic/core/tseitin_cnf_tactic.cpp src/tactic/core/reduce_args_tactic.cpp src/tactic/core/occf_tactic.cpp src/tactic/core/nnf_tactic.cpp src/tactic/core/ctx_simplify_tactic.cpp src/tactic/core/simplify_tactic.cpp src/tactic/core/pb_preprocess_tactic.cpp src/tactic/core/elim_term_ite_tactic.cpp src/tactic/core/blast_term_ite_tactic.cpp src/tactic/core/cofactor_elim_term_ite.cpp src/tactic/core/symmetry_reduce_tactic.cpp src/math/euclid/euclidean_solver.cpp src/math/grobner/grobner.cpp src/parsers/util/pattern_validation.cpp src/parsers/util/cost_parser.cpp src/parsers/util/simple_parser.cpp src/parsers/util/scanner.cpp src/ast/substitution/substitution.cpp src/ast/substitution/substitution_tree.cpp src/ast/substitution/unifier.cpp src/ast/substitution/matcher.cpp src/tactic/goal_shared_occs.cpp src/tactic/extension_model_converter.cpp src/tactic/goal_num_occurs.cpp src/tactic/goal_util.cpp src/tactic/model_converter.cpp src/tactic/horn_subsume_model_converter.cpp src/tactic/proof_converter.cpp src/tactic/tactic.cpp src/tactic/probe.cpp src/tactic/tactical.cpp src/tactic/equiv_proof_converter.cpp src/tactic/filter_model_converter.cpp src/tactic/goal.cpp src/tactic/replace_proof_converter.cpp src/model/model_smt2_pp.cpp src/model/model_core.cpp src/model/func_interp.cpp src/model/model_evaluator.cpp src/model/model_pp.cpp src/model/model.cpp src/model/model2expr.cpp src/model/model_v2_pp.cpp src/model/model_implicant.cpp src/ast/normal_forms/name_exprs.cpp src/ast/normal_forms/defined_names.cpp src/ast/normal_forms/pull_quant.cpp src/ast/normal_forms/nnf.cpp src/ast/rewriter/th_rewriter.cpp src/ast/rewriter/arith_rewriter.cpp src/ast/rewriter/expr_safe_replace.cpp src/ast/rewriter/quant_hoist.cpp src/ast/rewriter/bool_rewriter.cpp src/ast/rewriter/rewriter.cpp src/ast/rewriter/expr_replacer.cpp src/ast/rewriter/bv_rewriter.cpp src/ast/rewriter/datatype_rewriter.cpp src/ast/rewriter/der.cpp src/ast/rewriter/mk_simplified_app.cpp src/ast/rewriter/factor_rewriter.cpp src/ast/rewriter/pb_rewriter.cpp src/ast/rewriter/dl_rewriter.cpp src/ast/rewriter/fpa_rewriter.cpp src/ast/rewriter/var_subst.cpp src/ast/rewriter/ast_counter.cpp src/ast/rewriter/array_rewriter.cpp src/ast/act_cache.cpp src/ast/pb_decl_plugin.cpp src/ast/ast_smt2_pp.cpp src/ast/for_each_expr.cpp src/ast/expr_substitution.cpp src/ast/bv_decl_plugin.cpp src/ast/format.cpp src/ast/expr_functors.cpp src/ast/ast_util.cpp src/ast/expr_abstract.cpp src/ast/reg_decl_plugins.cpp src/ast/ast.cpp src/ast/ast_printer.cpp src/ast/has_free_vars.cpp src/ast/array_decl_plugin.cpp src/ast/occurs.cpp src/ast/func_decl_dependencies.cpp src/ast/dl_decl_plugin.cpp src/ast/shared_occs.cpp src/ast/used_vars.cpp src/ast/fpa_decl_plugin.cpp src/ast/expr2polynomial.cpp src/ast/expr_stat.cpp src/ast/static_features.cpp src/ast/expr_map.cpp src/ast/num_occurs.cpp src/ast/datatype_decl_plugin.cpp src/ast/macro_substitution.cpp src/ast/expr2var.cpp src/ast/seq_decl_plugin.cpp src/ast/for_each_ast.cpp src/ast/ast_pp_util.cpp src/ast/ast_ll_pp.cpp src/ast/ast_smt_pp.cpp src/ast/ast_translation.cpp src/ast/ast_lt.cpp src/ast/pp.cpp src/ast/well_sorted.cpp src/ast/arith_decl_plugin.cpp src/ast/decl_collector.cpp src/math/subpaving/subpaving_mpf.cpp src/math/subpaving/subpaving_mpff.cpp src/math/subpaving/subpaving_hwf.cpp src/math/subpaving/subpaving_mpq.cpp src/math/subpaving/subpaving_mpfx.cpp src/math/subpaving/subpaving.cpp src/math/realclosure/mpz_matrix.cpp src/math/realclosure/realclosure.cpp src/math/interval/interval_mpq.cpp src/math/simplex/simplex.cpp src/math/hilbert/hilbert_basis.cpp src/nlsat/nlsat_evaluator.cpp src/nlsat/nlsat_solver.cpp src/nlsat/nlsat_types.cpp src/nlsat/nlsat_interval_set.cpp src/nlsat/nlsat_explain.cpp src/nlsat/nlsat_clause.cpp src/sat/sat_asymm_branch.cpp src/sat/sat_mus.cpp src/sat/sat_elim_eqs.cpp src/sat/dimacs.cpp src/sat/sat_probing.cpp src/sat/sat_clause_set.cpp src/sat/sat_watched.cpp src/sat/sat_bceq.cpp src/sat/sat_sls.cpp src/sat/sat_clause_use_list.cpp src/sat/sat_iff3_finder.cpp src/sat/sat_integrity_checker.cpp src/sat/sat_model_converter.cpp src/sat/sat_simplifier.cpp src/sat/sat_config.cpp src/sat/sat_solver.cpp src/sat/sat_cleaner.cpp src/sat/sat_clause.cpp src/sat/sat_scc.cpp src/math/polynomial/rpolynomial.cpp src/math/polynomial/polynomial_cache.cpp src/math/polynomial/polynomial_factorization.cpp src/math/polynomial/sexpr2upolynomial.cpp src/math/polynomial/upolynomial.cpp src/math/polynomial/upolynomial_factorization.cpp src/math/polynomial/polynomial.cpp src/math/polynomial/algebraic_numbers.cpp src/util/hash.cpp src/util/mpz.cpp src/util/mpq.cpp src/util/cmd_context_types.cpp src/util/statistics.cpp src/util/bit_util.cpp src/util/mpq_inf.cpp src/util/env_params.cpp src/util/inf_rational.cpp src/util/approx_set.cpp src/util/rational.cpp src/util/timeout.cpp src/util/prime_generator.cpp src/util/hwf.cpp src/util/region.cpp src/util/trace.cpp src/util/params.cpp src/util/scoped_timer.cpp src/util/util.cpp src/util/approx_nat.cpp src/util/timer.cpp src/util/sexpr.cpp src/util/inf_s_integer.cpp src/util/mpff.cpp src/util/mpf.cpp src/util/bit_vector.cpp src/util/inf_int_rational.cpp src/util/lbool.cpp src/util/small_object_allocator.cpp src/util/warning.cpp src/util/memory_manager.cpp src/util/timeit.cpp src/util/luby.cpp src/util/smt2_util.cpp src/util/mpbq.cpp src/util/cooperate.cpp src/util/debug.cpp src/util/page.cpp src/util/rlimit.cpp src/util/scoped_ctrl_c.cpp src/util/z3_exception.cpp src/util/symbol.cpp src/util/fixed_bit_vector.cpp src/util/gparams.cpp src/util/mpfx.cpp src/util/mpn.cpp src/util/stack.cpp src/util/permutation.cpp src/util/s_integer.cpp src/util/common_msgs.cpp g++ -o z3 shell/datalog_frontend.o shell/opt_frontend.o shell/dimacs_frontend.o shell/main.o shell/gparams_register_modules.o shell/smtlib_frontend.o shell/mem_initializer.o shell/install_tactic.o shell/z3_log_frontend.o api/api.a opt/opt.a parsers/smt/smtparser.a tactic/portfolio/portfolio.a sat/sat_solver/sat_solver.a tactic/ufbv/ufbv_tactic.a tactic/fpa/fpa_tactics.a tactic/smtlogics/smtlogic_tactics.a tactic/nlsat_smt/nlsat_smt_tactic.a muz/fp/fp.a muz/duality/duality_intf.a muz/ddnf/ddnf.a muz/bmc/bmc.a muz/tab/tab.a muz/clp/clp.a muz/pdr/pdr.a muz/rel/rel.a muz/transforms/transforms.a muz/dataflow/dataflow.a muz/base/muz.a duality/duality.a qe/qe.a tactic/sls/sls_tactic.a smt/tactic/smt_tactic.a tactic/bv/bv_tactics.a smt/user_plugin/user_plugin.a smt/smt.a smt/proto_model/proto_model.a smt/params/smt_params.a ast/rewriter/bit_blaster/bit_blaster.a ast/pattern/pattern.a ast/macros/macros.a ast/fpa/fpa.a ast/simplifier/simplifier.a ast/proof_checker/proof_checker.a parsers/smt2/smt2parser.a cmd_context/extra_cmds/extra_cmds.a cmd_context/cmd_context.a interp/interp.a solver/solver.a tactic/aig/aig_tactic.a math/subpaving/tactic/subpaving_tactic.a nlsat/tactic/nlsat_tactic.a tactic/arith/arith_tactics.a sat/tactic/sat_tactic.a tactic/core/core_tactics.a math/euclid/euclid.a math/grobner/grobner.a parsers/util/parser_util.a ast/substitution/substitution.a tactic/tactic.a model/model.a ast/normal_forms/normal_forms.a ast/rewriter/rewriter.a ast/ast.a math/subpaving/subpaving.a math/realclosure/realclosure.a math/interval/interval.a math/simplex/simplex.a math/hilbert/hilbert.a nlsat/nlsat.a sat/sat.a math/polynomial/polynomial.a util/util.a -lpthread -fPIE -pie -Wl,-z,relro -Wl,-z,now -fopenmp -lrt src/api/dll/gparams_register_modules.cpp src/api/dll/mem_initializer.cpp src/api/dll/install_tactic.cpp src/api/dll/dll.cpp g++ -o libz3.so -shared -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,-soname,libz3.so.4 api/dll/gparams_register_modules.o api/dll/mem_initializer.o api/dll/install_tactic.o api/dll/dll.o api/api_params.o api/api_array.o api/api_rcf.o api/api_interp.o api/api_log_macros.o api/api_algebraic.o api/api_datatype.o api/api_opt.o api/api_model.o api/api_log.o api/api_ast_vector.o api/api_pb.o api/api_polynomial.o api/z3_replayer.o api/api_ast.o api/api_tactic.o api/api_goal.o api/api_numeral.o api/api_config_params.o api/api_ast_map.o api/api_arith.o api/api_parsers.o api/api_fpa.o api/api_solver.o api/api_solver_old.o api/api_commands.o api/api_quant.o api/api_datalog.o api/api_context.o api/api_bv.o api/api_stats.o api/api_user_theory.o opt/opt.a parsers/smt/smtparser.a tactic/portfolio/portfolio.a sat/sat_solver/sat_solver.a tactic/ufbv/ufbv_tactic.a tactic/fpa/fpa_tactics.a tactic/smtlogics/smtlogic_tactics.a tactic/nlsat_smt/nlsat_smt_tactic.a muz/fp/fp.a muz/duality/duality_intf.a muz/ddnf/ddnf.a muz/bmc/bmc.a muz/tab/tab.a muz/clp/clp.a muz/pdr/pdr.a muz/rel/rel.a muz/transforms/transforms.a muz/dataflow/dataflow.a muz/base/muz.a duality/duality.a qe/qe.a tactic/sls/sls_tactic.a smt/tactic/smt_tactic.a tactic/bv/bv_tactics.a smt/user_plugin/user_plugin.a smt/smt.a smt/proto_model/proto_model.a smt/params/smt_params.a ast/rewriter/bit_blaster/bit_blaster.a ast/pattern/pattern.a ast/macros/macros.a ast/fpa/fpa.a ast/simplifier/simplifier.a ast/proof_checker/proof_checker.a parsers/smt2/smt2parser.a cmd_context/extra_cmds/extra_cmds.a cmd_context/cmd_context.a interp/interp.a solver/solver.a tactic/aig/aig_tactic.a math/subpaving/tactic/subpaving_tactic.a nlsat/tactic/nlsat_tactic.a tactic/arith/arith_tactics.a sat/tactic/sat_tactic.a tactic/core/core_tactics.a math/euclid/euclid.a math/grobner/grobner.a parsers/util/parser_util.a ast/substitution/substitution.a tactic/tactic.a model/model.a ast/normal_forms/normal_forms.a ast/rewriter/rewriter.a ast/ast.a math/subpaving/subpaving.a math/realclosure/realclosure.a math/interval/interval.a math/simplex/simplex.a math/hilbert/hilbert.a nlsat/nlsat.a sat/sat.a math/polynomial/polynomial.a util/util.a -fopenmp -lrt /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/Scrt1.o: In function `_start': (.text+0x20): undefined reference to `main' collect2: error: ld returned 1 exit status Makefile:3867: recipe for target 'libz3.so' failed make[2]: *** [libz3.so] Error 1 make[2]: Leaving directory '/build/z3-4.4.1/build' Makefile:5: recipe for target 'all' failed make[1]: *** [all] Error 2 make[1]: Leaving directory '/build/z3-4.4.1' dh_auto_build: make -j1 returned exit code 2 debian/rules:11: recipe for target 'build' failed make: *** [build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 I: copying local configuration E: Failed autobuilding of package I: unmounting /var/cache/pbuilder/ccache filesystem I: unmounting dev/pts filesystem I: unmounting run/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem -> Cleaning COW directory forking: rm -rf /var/cache/pbuilder/build/cow.29872

