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

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: