CLooG fails to build with ISL 0.11 (undefined reference to `isl_basic_set_add')

136 views
Skip to first unread message

Sebastian Pop

unread,
Dec 6, 2012, 5:31:45 PM12/6/12
to Sven Verdoolaege, cloog-de...@googlegroups.com, Tobias Grosser
Hi,

I get the following error when I build CLooG with ISL:

./.libs/libcloog-isl.so: undefined reference to `isl_basic_set_add'

I see that Sven addressed this problem in this patch:

commit fd729322be13cb7122b122ffd8f40b31de933955
Author: Sven Verdoolaege <sk...@kotnet.org>
Date: Fri Nov 30 00:18:19 2012 +0100

reintroduce isl_basic_set_add symbol

This function was renamed in 461a2cd (rename isl_basic_set_add to
isl_basic_set_add_dims, Mon Oct 1 10:55:08 2012 +0200), but it appears
that it is being used by CLooG. Reintroduce the symbol for backward
compatibility, but mark it "deprecated" so that it will hopefully
not be used by new users.

Reported-by: Jack Howarth <how...@bromo.med.uc.edu>
Signed-off-by: Sven Verdoolaege <sk...@kotnet.org>

However I do not see the symbol for that function in the libisl.so file:

$ nm isl/.libs/libisl.so | grep isl_basic_set_add
000000000006d8d0 T isl_basic_set_add_constraint
000000000009eb70 T isl_basic_set_add_constraints
0000000000074c60 T isl_basic_set_add_constraints_dim_map
00000000000a0370 T isl_basic_set_add_dims
00000000000912a0 T isl_basic_set_add_div_constraints
00000000000912b0 T isl_basic_set_add_div_constraints_var
000000000009cf40 T isl_basic_set_add_eq
000000000006f430 t isl_basic_set_add_equality
000000000009ceb0 T isl_basic_set_add_ineq

It looks like the symbol gets optimized away: I see that isl-deprecated.c is
compiled, and linked in libisl.so but the symbol is still missing.

There is only one use of isl_basic_set_add in CLooG, and when I replace it with
isl_basic_set_add_dims the compilation of cloog passes. I think it makes sense
to update CLooG to not use the deprecated function.

Sebastian
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation

Sven Verdoolaege

unread,
Dec 6, 2012, 5:43:54 PM12/6/12
to Sebastian Pop, cloog-de...@googlegroups.com, Tobias Grosser
On Thu, Dec 06, 2012 at 04:31:45PM -0600, Sebastian Pop wrote:
> $ nm isl/.libs/libisl.so | grep isl_basic_set_add
> 000000000006d8d0 T isl_basic_set_add_constraint
> 000000000009eb70 T isl_basic_set_add_constraints
> 0000000000074c60 T isl_basic_set_add_constraints_dim_map
> 00000000000a0370 T isl_basic_set_add_dims
> 00000000000912a0 T isl_basic_set_add_div_constraints
> 00000000000912b0 T isl_basic_set_add_div_constraints_var
> 000000000009cf40 T isl_basic_set_add_eq
> 000000000006f430 t isl_basic_set_add_equality
> 000000000009ceb0 T isl_basic_set_add_ineq
>
> It looks like the symbol gets optimized away: I see that isl-deprecated.c is
> compiled, and linked in libisl.so but the symbol is still missing.

Why would it do that? It's not declared static and there should be quite
a few functions in isl that are not being called anywhere inside isl.
Are you sure you are looking at the right file?

> There is only one use of isl_basic_set_add in CLooG, and when I replace it with
> isl_basic_set_add_dims the compilation of cloog passes. I think it makes sense
> to update CLooG to not use the deprecated function.

Sure.

skimo

Sebastian Pop

unread,
Dec 6, 2012, 9:46:41 PM12/6/12
to sk...@kotnet.org, cloog-de...@googlegroups.com, Tobias Grosser
Sven Verdoolaege wrote:
> On Thu, Dec 06, 2012 at 04:31:45PM -0600, Sebastian Pop wrote:
> > $ nm isl/.libs/libisl.so | grep isl_basic_set_add
> > 000000000006d8d0 T isl_basic_set_add_constraint
> > 000000000009eb70 T isl_basic_set_add_constraints
> > 0000000000074c60 T isl_basic_set_add_constraints_dim_map
> > 00000000000a0370 T isl_basic_set_add_dims
> > 00000000000912a0 T isl_basic_set_add_div_constraints
> > 00000000000912b0 T isl_basic_set_add_div_constraints_var
> > 000000000009cf40 T isl_basic_set_add_eq
> > 000000000006f430 t isl_basic_set_add_equality
> > 000000000009ceb0 T isl_basic_set_add_ineq
> >
> > It looks like the symbol gets optimized away: I see that isl-deprecated.c is
> > compiled, and linked in libisl.so but the symbol is still missing.
>
> Why would it do that? It's not declared static and there should be quite
> a few functions in isl that are not being called anywhere inside isl.
> Are you sure you are looking at the right file?

I have started building cloog+isl from scratch in a different directory, and I
don't see the problem anymore. It looks like make clean or make distclean does
not remove all the files of the previous build.

> > There is only one use of isl_basic_set_add in CLooG, and when I replace it with
> > isl_basic_set_add_dims the compilation of cloog passes. I think it makes sense
> > to update CLooG to not use the deprecated function.
>
> Sure.

Can somebody do that? I cannot contribute code to CLooG.

Thanks,

Cédric Bastoul

unread,
Dec 7, 2012, 2:44:19 AM12/7/12
to Sebastian Pop, Sven Verdoolaege, CLooG Development, Tobias Grosser
Let me know if you want a push access to CLooG's repository (if you are not facing an intellectual property problem), I'll be glad to open it for you. Otherwise I'll take care of that, but it will take at least 2 weeks until I have a large enough window for development.
Thanks,

Ced.
 
Thanks,
Sebastian
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation

--
You got this message because you subscribed to the CLooG Development mailing list.
To send messages to this list, use cloog-de...@googlegroups.com
To stop subscribing, send a mail to cloog-developm...@googlegroups.com
For more options and to visit the group, http://groups.google.fr/group/cloog-development?hl=en

Tobias Grosser

unread,
Dec 7, 2012, 5:08:02 AM12/7/12
to Sebastian Pop, Sven Verdoolaege, cloog-de...@googlegroups.com
Hi Sebastian,

starting from a fresh install (and possibly also build dir should help).
I believe there
is a bug in the configure script that references the already installed
(and now outdated) isl library.

Cheers
Tobi

Sebastian Pop

unread,
Dec 7, 2012, 12:34:35 PM12/7/12
to Cédric Bastoul, Sven Verdoolaege, CLooG Development, Tobias Grosser
Hi Cedric,

C�dric Bastoul wrote:
> > > > There is only one use of isl_basic_set_add in CLooG, and when I
> > replace it with
> > > > isl_basic_set_add_dims the compilation of cloog passes. I think it
> > makes sense
> > > > to update CLooG to not use the deprecated function.
> > >
> > > Sure.
> >
> > Can somebody do that? I cannot contribute code to CLooG.
> >
>
> Let me know if you want a push access to CLooG's repository (if you are not
> facing an intellectual property problem), I'll be glad to open it for you.
> Otherwise I'll take care of that, but it will take at least 2 weeks until I
> have a large enough window for development.

I cannot send a patch to you because I do not have the permission to contribute
code to CLooG. However, I can send you bug reports and suggest how to improve
your software, but I cannot contribute changes to it.

As I said, it is a one line patch, so it would take you less time than reading
this email to get it done ;-). So, here is again my patch in full words: please
replace the single occurrence of isl_basic_set_add with isl_basic_set_add_dim.

Sebastian Pop

unread,
Dec 7, 2012, 2:49:14 PM12/7/12
to Tobias Grosser, Sven Verdoolaege, cloog-de...@googlegroups.com
Right, that works fine. When I do a clone of the cloog and isl git repos and
start from scratch it works fine. With respect to a clean clone version, I see
all these files that are not removed by a make distclean. Shouldn't all these
files be removed on make distclean?

@@ -1,12 +1,36 @@
./ChangeLog
./LICENSE
./Makefile.am
+./Makefile.in
./README
+./aclocal.m4
./autoconf/Doxyfile.in
./autoconf/c-ced.ssh
+./autoconf/compile
+./autoconf/config.guess
+./autoconf/config.sub
+./autoconf/depcomp
+./autoconf/install-sh
+./autoconf/ltmain.sh
+./autoconf/missing
./autogen.sh
+./autom4te.cache/output.0
+./autom4te.cache/output.1
+./autom4te.cache/output.2
+./autom4te.cache/output.3
+./autom4te.cache/requests
+./autom4te.cache/traces.0
+./autom4te.cache/traces.1
+./autom4te.cache/traces.2
+./autom4te.cache/traces.3
+./cloog-isl-uninstalled.pc
+./cloog-isl-uninstalled.sh
+./cloog-isl.pc
+./cloog-isl.pc.in
+./configure
./configure.ac
./doc/Makefile.am
+./doc/Makefile.in
./doc/ROADMAP
./doc/SubmittingPatches
./doc/TODO
@@ -54,8 +80,19 @@
./isl/ChangeLog
./isl/LICENSE
./isl/Makefile.am
+./isl/Makefile.in
./isl/README
+./isl/aclocal.m4
./isl/autogen.sh
+./isl/autom4te.cache/output.0
+./isl/autom4te.cache/output.1
+./isl/autom4te.cache/output.2
+./isl/autom4te.cache/output.3
+./isl/autom4te.cache/requests
+./isl/autom4te.cache/traces.0
+./isl/autom4te.cache/traces.1
+./isl/autom4te.cache/traces.2
+./isl/autom4te.cache/traces.3
./isl/basis_reduction_tab.c
./isl/basis_reduction_templ.c
./isl/bound.c
@@ -64,8 +101,14 @@
./isl/closure.c
./isl/codegen.c
./isl/codegen_test.sh.in
+./isl/compile
+./isl/config.guess
+./isl/config.sub
+./isl/configure
./isl/configure.ac
+./isl/depcomp
./isl/doc/Makefile.am
+./isl/doc/Makefile.in
./isl/doc/SubmittingPatches
./isl/doc/chicago.bst
./isl/doc/chicago.sty
@@ -108,6 +151,7 @@
./isl/include/isl/set.h
./isl/include/isl/set_type.h
./isl/include/isl/space.h
+./isl/include/isl/stdint.h
./isl/include/isl/stream.h
./isl/include/isl/union_map.h
./isl/include/isl/union_map_type.h
@@ -116,13 +160,22 @@
./isl/include/isl/vec.h
./isl/include/isl/version.h
./isl/include/isl/vertices.h
+./isl/install-sh
+./isl/interface/.deps/extract_interface.Po
+./isl/interface/.deps/python.Po
+./isl/interface/Makefile
./isl/interface/Makefile.am
+./isl/interface/Makefile.in
./isl/interface/all.h
./isl/interface/extract_interface.cc
./isl/interface/extract_interface.h
./isl/interface/isl.py.top
./isl/interface/python.cc
./isl/interface/python.h
+./isl/isl-uninstalled.pc
+./isl/isl-uninstalled.sh
+./isl/isl.pc
+./isl/isl.pc.in
./isl/isl.py
./isl/isl_aff.c
./isl/isl_aff_private.h
@@ -146,6 +199,7 @@
./isl/isl_bound.c
./isl/isl_bound.h
./isl/isl_coalesce.c
+./isl/isl_config.h.in
./isl/isl_config_post.h
./isl/isl_constraint.c
./isl/isl_constraint_private.h
@@ -243,6 +298,7 @@
./isl/isl_version.c
./isl/isl_vertices.c
./isl/isl_vertices_private.h
+./isl/ltmain.sh
./isl/m4/ax_c___attribute__.m4
./isl/m4/ax_cc_maxopt.m4
./isl/m4/ax_cflags_warn_all.m4
@@ -255,6 +311,12 @@
./isl/m4/ax_gcc_x86_cpuid.m4
./isl/m4/ax_set_warning_flags.m4
./isl/m4/ax_submodule.m4
+./isl/m4/libtool.m4
+./isl/m4/ltoptions.m4
+./isl/m4/ltsugar.m4
+./isl/m4/ltversion.m4
+./isl/m4/lt~obsolete.m4
+./isl/missing
./isl/mp_get_memory_functions.c
./isl/pip.c
./isl/pip_test.sh.in
@@ -917,6 +979,11 @@
./m4/ax_gcc_archflag.m4
./m4/ax_gcc_x86_cpuid.m4
./m4/ax_submodule.m4
+./m4/libtool.m4
+./m4/ltoptions.m4
+./m4/ltsugar.m4
+./m4/ltversion.m4
+./m4/lt~obsolete.m4
./source/block.c
./source/clast.c
./source/cloog.c
@@ -957,6 +1025,7 @@
./test/4-param.cloog
./test/4-param.good.c
./test/Makefile.am
+./test/Makefile.in
./test/ard.cloog
./test/ard.dat
./test/backtrack.c
@@ -1469,3 +1538,4 @@
./test/yosrf.cloog
./test/yosrf.f
./test/youcefn.cloog
+./version.h

Tobias Grosser

unread,
Dec 20, 2012, 12:03:52 PM12/20/12
to Sebastian Pop, Cédric Bastoul, Sven Verdoolaege, CLooG Development
Fixed.

Tobi

Reply all
Reply to author
Forward
0 new messages