Package: erlang Version: 1:13.b.1-dfsg-5 Severity: normal
Hello, Distributing erlang with stripped debug info breaks dialyzer (and probably any application which extracts abstract code from beam files). Dialyzer requires a persistent lookup table (plt), containing analysis information from any dependencies. Any non-trivial erlang program uses several library functions from erlang-base, therefore it's a very common scenario to build a plt from some of these libraries. Example output follows: $ dialyzer Checking whether the PLT /home/mike/.dialyzer_plt is up-to-date... dialyzer: Could not find the PLT: /home/mike/.dialyzer_plt Use the options: --build_plt to build a new one; or --add_to_plt to add to an existing PLT For example (in an installed Erlang/OTP system): dialyzer --build_plt -r $ERL_TOP/lib/erts-5.7/ebin\ $ERL_TOP/lib/kernel/ebin\ $ERL_TOP/lib/stdlib/ebin\ $ERL_TOP/lib/mnesia/ebin\ $ERL_TOP/lib/crypto/ebin Note that building a PLT such as the above may take 20 mins or so $ dialyzer --build_plt -r /usr/lib/erlang/lib/{compiler-*,kernel-*,dialyzer-*,erts-*,stdlib-*}/ebin dialyzer: Could not get abstract code for file: /usr/lib/erlang/lib/compiler-4.6.2/ebin/beam_asm.beam (please recompile it with +debug_info) $ dialyzer --src --build_plt -r /usr/lib/erlang/lib/{compiler-*,kernel-*,dialyzer-*,erts-*,stdlib-*}/src dialyzer: {dialyzer_error,"Byte code compiled with debug_info is needed to build the PLT"} [{dialyzer_options,check_output_plt,1}, {dialyzer_options,postprocess_opts,1}, {dialyzer_options,build,1}, {dialyzer_cl_parse,cl,1}, {dialyzer_cl_parse,start,0}, {dialyzer,plain_cl,0}, {init,start_it,1}, {init,start_em,1}] Dialyzer users are forced to rebuild erlang as per the README.Debian file. Providing separate -dbg packages or something similar would prove more convenient, unless there's a workaround I'm unaware of. -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.30-1-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages erlang depends on: ii erlang-appmon 1:13.b.1-dfsg-5 Erlang/OTP application monitor ii erlang-asn1 1:13.b.1-dfsg-5 Erlang/OTP modules for ASN.1 suppo ii erlang-base-hipe 1:13.b.1-dfsg-5 Erlang/OTP HiPE enabled virtual ma ii erlang-common-test 1:13.b.1-dfsg-5 Erlang/OTP application for automat ii erlang-corba 1:13.b.1-dfsg-5 Erlang/OTP applications for CORBA ii erlang-crypto 1:13.b.1-dfsg-5 Erlang/OTP cryprographic modules ii erlang-debugger 1:13.b.1-dfsg-5 Erlang/OTP application for debuggi ii erlang-dev 1:13.b.1-dfsg-5 Erlang/OTP development libraries a ii erlang-dialyzer 1:13.b.1-dfsg-5 Erlang/OTP discrepancy analyzer ap ii erlang-docbuilder 1:13.b.1-dfsg-5 Erlang/OTP application for buildin ii erlang-edoc 1:13.b.1-dfsg-5 Erlang/OTP module for generating d ii erlang-et 1:13.b.1-dfsg-5 Erlang/OTP event tracer applicatio ii erlang-eunit 1:13.b.1-dfsg-5 Erlang/OTP module for unit testing ii erlang-gs 1:13.b.1-dfsg-5 Erlang/OTP graphics system ii erlang-ic 1:13.b.1-dfsg-5 Erlang/OTP IDL compiler ii erlang-inets 1:13.b.1-dfsg-5 Erlang/OTP Internet clients and se ii erlang-inviso 1:13.b.1-dfsg-5 Erlang/OTP trace tool ii erlang-megaco 1:13.b.1-dfsg-5 Erlang/OTP implementation of Megac ii erlang-mnesia 1:13.b.1-dfsg-5 Erlang/OTP distributed relational/ ii erlang-observer 1:13.b.1-dfsg-5 Erlang/OTP application for investi ii erlang-odbc 1:13.b.1-dfsg-5 Erlang/OTP interface to SQL databa ii erlang-os-mon 1:13.b.1-dfsg-5 Erlang/OTP operating system monito ii erlang-parsetools 1:13.b.1-dfsg-5 Erlang/OTP parsing tools ii erlang-percept 1:13.b.1-dfsg-5 Erlang/OTP concurrency profiling t ii erlang-pman 1:13.b.1-dfsg-5 Erlang/OTP process manager ii erlang-public-key 1:13.b.1-dfsg-5 Erlang/OTP public key infrastructu ii erlang-reltool 1:13.b.1-dfsg-5 Erlang/OTP release management tool ii erlang-runtime-tools 1:13.b.1-dfsg-5 Erlang/OTP runtime tracing/debuggi ii erlang-snmp 1:13.b.1-dfsg-5 Erlang/OTP SNMP applications ii erlang-ssh 1:13.b.1-dfsg-5 Erlang/OTP implementation of SSH p ii erlang-ssl 1:13.b.1-dfsg-5 Erlang/OTP implementation of SSL ii erlang-syntax-tools 1:13.b.1-dfsg-5 Erlang/OTP modules for handling ab ii erlang-test-server 1:13.b.1-dfsg-5 Erlang/OTP server for automated ap ii erlang-toolbar 1:13.b.1-dfsg-5 Erlang/OTP graphical toolbar ii erlang-tools 1:13.b.1-dfsg-5 Erlang/OTP various tools ii erlang-tv 1:13.b.1-dfsg-5 Erlang/OTP table viewer ii erlang-typer 1:13.b.1-dfsg-5 Erlang/OTP code type annotator ii erlang-webtool 1:13.b.1-dfsg-5 Erlang/OTP helper for web-based to ii erlang-wx 1:13.b.1-dfsg-5 Erlang/OTP bindings to wxWidgets ii erlang-xmerl 1:13.b.1-dfsg-5 Erlang/OTP XML tools Versions of packages erlang recommends: ii erlang-examples 1:13.b.1-dfsg-5 Erlang/OTP application examples ii erlang-mode 1:13.b.1-dfsg-5 Erlang major editing mode for Emac ii erlang-src 1:13.b.1-dfsg-5 Erlang/OTP applications sources Versions of packages erlang suggests: pn erlang-doc-html <none> (no description available) ii erlang-manpages 1:13.b.1-1 Erlang/OTP manual pages -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org