Bug#600921: libppl7: libppl should be configured with --enable-interfaces=c
Package: libppl7
Version: 0.10.2-8
Severity: important
Hello All,
I am the main other of GCC MELT, see http://gcc-melt.org/ or
http://gcc.gnu.org/wiki/MELT
Briefly: GCC MELT is a Lispy domain specific language to code GCC
extensions in. MELT is a GCC branch and a GCC plugin.
By the way, I am working on making very soon the first upstream
release of MELT, which should build as a plugin to unmodified GCC 4.5,
and Sylvestre Ledru offered me to try packaging it in experimental.
But GCC MELT depends upon some C functions existing in PPL 0.10.2
which are only available when it is configured with
--enable-interfaces=c at least. These functions are gcc-4.5 -g -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common -DHAVE_CONFIG_H -o cc1 c-lang.o c-family/stub-objc.o attribs.o c-errors.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-objc-common.o c-parser.o tree-mudflap.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o i386-c.o \
cc1-checksum.o main.o tree-browser.o libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcpp/libcpp.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -Lyes/lib -lmpc -lmpfr -lgmp -rdynamic -ldl -L../zlib -lz -lelf
libbackend.a(melt-runtime.o): In function `delete_special':
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:698: undefined reference to `ppl_delete_Coefficient'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:703: undefined reference to `ppl_delete_Linear_Expression'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:708: undefined reference to `ppl_delete_Constraint'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:713: undefined reference to `ppl_delete_Constraint_System'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:718: undefined reference to `ppl_delete_Generator'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:723: undefined reference to `ppl_delete_Generator_System'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:728: undefined reference to `ppl_delete_Polyhedron'
libbackend.a(melt-runtime.o): In function `melt_really_initialize':
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:10016: undefined reference to `ppl_set_error_handler'
libbackend.a(melt-runtime.o): In function `melt_make_ppl_coefficient_from_tree':
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11093: undefined reference to `ppl_new_Coefficient_from_mpz_t'
libbackend.a(melt-runtime.o): In function `melt_make_ppl_coefficient_from_long':
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11111: undefined reference to `ppl_new_Coefficient_from_mpz_t'
libbackend.a(melt-runtime.o): In function `meltgc_new_ppl_constraint_system':
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11135: undefined reference to `ppl_new_Constraint_System'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11137: undefined reference to `ppl_new_Constraint_System_zero_dim_empty'
libbackend.a(melt-runtime.o): In function `meltgc_clone_ppl_constraint_system':
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11169: undefined reference to `ppl_new_Constraint_System_from_Constraint_System'
libbackend.a(melt-runtime.o): In function `melt_insert_ppl_constraint_in_boxed_system':
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11197: undefined reference to `ppl_Constraint_System_insert_Constraint'
libbackend.a(melt-runtime.o): In function `melt_make_ppl_NNC_Polyhedron_from_Constraint_System':
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11213: undefined reference to `ppl_new_NNC_Polyhedron_from_Constraint_System'
libbackend.a(melt-runtime.o): In function `meltgc_new_ppl_polyhedron':
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11238: undefined reference to `ppl_new_NNC_Polyhedron_from_NNC_Polyhedron'
libbackend.a(melt-runtime.o): In function `melt_make_ppl_linear_expression':
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11259: undefined reference to `ppl_new_Linear_Expression'
libbackend.a(melt-runtime.o): In function `melt_make_ppl_constraint_cstrtype':
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11272: undefined reference to `ppl_new_Constraint'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11276: undefined reference to `ppl_new_Constraint'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11280: undefined reference to `ppl_new_Constraint'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11284: undefined reference to `ppl_new_Constraint'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11288: undefined reference to `ppl_new_Constraint'
libbackend.a(melt-runtime.o): In function `meltgc_new_ppl_linear_expression':
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11311: undefined reference to `ppl_new_Linear_Expression'
libbackend.a(melt-runtime.o): In function `meltgc_ppstrbuf_ppl_varnamvect':
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11430: undefined reference to `ppl_io_set_variable_output_function'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11438: undefined reference to `ppl_io_asprint_Coefficient'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11443: undefined reference to `ppl_io_asprint_Linear_Expression'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11448: undefined reference to `ppl_io_asprint_Constraint'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11453: undefined reference to `ppl_io_asprint_Constraint_System'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11458: undefined reference to `ppl_io_asprint_Generator'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11462: undefined reference to `ppl_io_asprint_Generator_System'
/usr/src/Lang/gcc-MELT/gcc/melt-runtime.c:11467: undefined reference to `ppl_io_asprint_Polyhedron'
collect2: ld returned 1 exit status
If you want to reproduce the bug, try compiling the GCC MELT branch
the following way:
0. Retrieve the source code using
svn co -r 165768 svn://gcc.gnu.org/svn/gcc/branches/melt-branch \
gcc-MELT
1. make a fresh build directory, eg
mkdir ../MELT-BUILD
2. Go into it and configure it with e.g.
cd ../MELT-BUID
../gcc-MELT/configure '--libdir=/usr/local/lib/gcc-melt' \
'--libexecdir=/usr/local/libexec/gcc-melt' \
'--with-gxx-include-dir=/usr/local/lib/gcc-melt/include/c++/' \
'-with-ppl' '--with-mpc' '--enable-maintainer-mode' \
'--enable-checks=tree,gc' '--disable-bootstrap' \
'--disable-multilib' '--with-ppl-lib=-lppl_c -lppl' \
'--enable-version-specific-runtime-libs' '--enable-plugins' \
'--enable-languages=c,c++,lto'
3. Try to build it with
make
BTW, the same bug appears both on testing and on sid.
Proposed fix: in the Debian package of libppl 0.10.2 (or 0.11)
configure it with --enable-interfaces=c at least.
Comment: Roberto Bagnara, the main author of PPL, did add (a few years
ago) the functions `ppl_io_asprint_Coefficient'
`ppl_io_asprint_Linear_Expression' `ppl_io_asprint_Constraint'
`ppl_io_asprint_Constraint_System' for the GCC MELT branch.
Regards, and thanks for the good work!
--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.35-trunk-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.ISO-8859-15, LC_CTYPE=en_US.ISO-8859-15 (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/dash
Versions of packages libppl7 depends on:
ii libc6 2.11.2-6 Embedded GNU C Library: Shared lib
ii libgcc1 1:4.4.5-4 GCC support library
ii libgmp3c2 2:4.3.2+dfsg-1 Multiprecision arithmetic library
ii libgmpxx4ldbl 2:4.3.2+dfsg-1 Multiprecision arithmetic library
ii libstdc++6 4.5.1-8 The GNU Standard C++ Library v3
libppl7 recommends no packages.
libppl7 suggests no packages.
-- no debconf information
Reply to: