[Scitech] Experiment with sagemath and Polybori needs to be built

Paulo César Pereira de Andrade paulo.cesar.pereira.de.andrade at gmail.com
Wed Apr 25 23:47:47 UTC 2012


Em 25 de abril de 2012 18:39, Jerry James <loganjerry at gmail.com> escreveu:
> 2012/4/25 Paulo César Pereira de Andrade
> <paulo.cesar.pereira.de.andrade at gmail.com>:
>> Em 25 de abril de 2012 17:35, Jerry James <loganjerry at gmail.com> escreveu:
>
> [snip]
>
>>  polybori does not build because CUDD_TIMEOUT_EXPIRED is
>> not defined in cudd.h (it should be in an enum).
>
> Sorry to be slow.  So the current polybori effectively requires cudd
> 2.5.0, but Fedora 16 has cudd 2.4.2.  Got it.  This patch isn't
> necessary for Fedora 17 or Rawhide, which have cudd 2.5.0, so I will
> probably do nothing about this problem.  Sorry.

  No problems. I am doing a test build and package adaptation to
know ahead of time most issues that will need to be solved.

>>  Ok. I am currently running fedora 16 in my home computer, but
>> should update to use rawhide at some point.
>
> I run Rawhide inside virtual machines, since it can get a bit rough at
> times.  But Fedora 17 Beta just came out.  Perhaps it would be worth
> updating to that.

  Well, until last sunday I was running Mandriva cooker at home, so, I
am used to things breaking, badly :-)

>>  I found only python-polybori{,-devel} with "yum search polybori", so, I
>> built polybori from http://pkgs.fedoraproject.org/gitweb/?p=polybori.git
>> but used the available cudd-devel.
>
> Right.  The situation is not great on Fedora 16, but is too painful to
> change now.  Let's focus on making the Fedora 17 versions be all that
> we need.
>
>>> Also, I haven't yet built polybori with NTL support.  Is that going to
>>> be necessary for Sage?
>>
>>  Not 100% sure, but several other issues are likely to happen,
>> and "sage -testall" will show the problems, while others should
>> also appear until actually getting everything built. But at first
>> I think it is required. I remember polybori being one of the major
>> source of problems in my first sagemath packages.
>
> Okay, I'll see what needs to happen to build polybori with NTL
> support, and add the patch to install flags.conf.
>
>>> What patch would NTL need to solve this problem?
>>
>>  It is basically to allow sagemath cython code to have access to the
>> error string NTL my print.

  Note accurate :-) What happens is basically that sagemath has
a interface to handle signals, etc, and have a place for a static
string that should describe an error, and it wants to wrap "NTL
print string to stderr and call abort" logic, what makes sense
when NTL is a library it is linked to. The sagemath patch also
adds an extra context pointer to the callback.

>>  The patch I have been using is
>> http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/ntl/current/SOURCES/ntl-5.5.2-sagemath.patch?revision=423883&view=markup
>>
>>  You may also want to package and build ntl with gf2x support.
>>
>>  For the NTL patch probably we should contact upstream to attempt
>> to have it (not exactly as is in the above link), or an alternate patch with
>> the same feature added.
>
> I am adding the NTL package maintainer to CC to make him aware of this
> issue.  Regards,

  Ok. I just got home, built your cliquer package, but no luck:

...
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC
-fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC
-I/home/pcpa/rpmbuild/BUILDROOT/sagemath-4.8-0.1.x86_64/usr/share/sagemath/local/include
-Ic_lib/include
-I/home/pcpa/rpmbuild/BUILDROOT/sagemath-4.8-0.1.x86_64/usr/share/sagemath/devel/sage/sage/ext
-I/usr/include/python2.7 -c sage/graphs/cliquer.c -o
build/temp.linux-x86_64-2.7/sage/graphs/cliquer.o -w
In file included from /usr/include/cliquer/graph.h:5:0,
                 from sage/graphs/cliquer.c:235:
/usr/include/cliquer/set.h:16:18: fatal error: misc.h: No such file or directory
compilation terminated.
error: command 'gcc' failed with exit status 1
...

cliquer probably would need this patch, otherwise unsure how
to handle it:

http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/cliquer/current/SOURCES/cliquer-1.2-sagemath.patch?revision=425982&view=markup
and there is another header file in the SOURCES dir.

  I also packaged cliquer 1.2 and not updated it, and 1.2 happens
to be the one used at least by sagemath 4.8.

  This is another case we should push for upstream adding
support to the desired interface, not necessarily verbatim
patch and adding new sage_xyz symbols.

> --
> Jerry James
> http://www.jamezone.org/

Paulo


More information about the scitech mailing list