Hi Michael, ParaTools, Inc. has ported SAGE successfully to AIX! We had to rebuild the library and debug it further but now I can say: > set path=($PET_HOME/pkgs/sage-3.1.1 $path) > sage ---------------------------------------------------------------------- | SAGE Version 3.1.1, Release Date: 2008-08-17 | | Type notebook() for the GUI, and license() for information. | ----------------------------------------------------------------------
sage: import numpy sage: numpy.test() Numpy is installed in /usr/local/PET/pkgs/sage-3.1.1/local/lib/ python2.5/site-packages/numpy Numpy version 1.0.4 Python version 2.5.2 (r252:60911, Oct 18 2008, 03:31:49) [GCC 4.2.1] Found 10/10 tests for numpy.core.defmatrix Found 36/36 tests for numpy.core.ma Found 223/223 tests for numpy.core.multiarray Found 65/65 tests for numpy.core.numeric Found 31/31 tests for numpy.core.numerictypes Found 12/12 tests for numpy.core.records Found 6/6 tests for numpy.core.scalarmath Found 14/14 tests for numpy.core.umath Found 4/4 tests for numpy.ctypeslib Found 5/5 tests for numpy.distutils.misc_util Found 1/1 tests for numpy.fft.fftpack Found 3/3 tests for numpy.fft.helper Found 9/9 tests for numpy.lib.arraysetops Found 46/46 tests for numpy.lib.function_base Found 5/5 tests for numpy.lib.getlimits Found 4/4 tests for numpy.lib.index_tricks Found 3/3 tests for numpy.lib.polynomial Found 49/49 tests for numpy.lib.shape_base Found 15/15 tests for numpy.lib.twodim_base Found 43/43 tests for numpy.lib.type_check Found 1/1 tests for numpy.lib.ufunclike Found 40/40 tests for numpy.linalg Found 2/2 tests for numpy.random Found 0/0 tests for __main__ ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ ---------------------------------------------------------------------- Ran 680 tests in 1.228s OK <unittest._TextTestResult run=680 errors=0 failures=0> sage: integrate(tan(x),x) log(sec(x)) sage: a = matrix(ZZ, 10, 4, [randint(0,1) for _ in xrange(40)]); a [0 1 1 0] [1 0 0 0] [0 0 1 1] [0 0 0 0] [1 0 1 1] [1 0 1 1] [1 1 0 1] [1 1 0 0] [0 1 0 1] [0 1 0 0] sage: list(AllExactCovers(a)) [[(0, 0, 1, 1), (1, 0, 0, 0), (0, 1, 0, 0)], [(0, 0, 1, 1), (1, 1, 0, 0)], [(1, 0, 1, 1), (0, 1, 0, 0)], [(1, 0, 1, 1), (0, 1, 0, 0)]] sage: 22+32 54 sage: 3/4+1/6 11/12 sage: Exiting SAGE (CPU time 0m1.86s, Wall time 1m28.08s). Exiting spawned Maxima process. > > uname -a AIX xxxx 3 5 002B912C4C00 The last error was resolved by printing the type of the object that was of type pari.gen. When we rebuilt that library by hand and the dependencies, it worked. I should also add (for the list) that we had to build clisp and gap in 32 bits and change gap.py to use a fixed big number for the file descriptors as the max fileno from getrusage was not working properly in AIX. This change fixed pexpect. Thanks a lot for your help! I look forward to discussing these issues and help with documenting this at the SD 11 with you. - Sameer On Nov 3, 11:37 pm, Sameer <[EMAIL PROTECTED]> wrote: > Michael, > An update. I rebuilt liblinboxsage.a by omiting Communicator.o and > using a simple g++ -shared -o command that tied in the .o files. I > think the crash occured at Communicator.c but I saw a - > DDISABLE_COMMUNICATOR. So, I rebuilt the .a file and then it loaded > properly until the next crash. The earlier crashes were linked to the > first instance of a routine not executing properly due to a shared > object that was not built properly. Now I am facing another kind of > error where the same routine executes correctly a few times and then > crashes at returnsage.rings.rational.Rational(x, base) > in rational_field.py. I modified it: > > (Pdb) c > rational_field.py: SSS: after crash myretval = 1 > rational_field.py: SSS: before crash, x = 1 base = 0> > /usr/local/PET/src/build/sage-3.1.1/local/lib/python2.5/site-packages/sage/ > rings/rational_field.py(221)__call__() > > -> myretval =sage.rings.rational.Rational(x, base) > (Pdb) s > > ------------------------------------------------------------ > Unhandled SIGSEGV: A segmentation fault occured inSAGE. > This probably occured because a *compiled* component > ofSAGEhas a bug in it (typically accessing invalid memory) > or is not properly wrapped with _sig_on, _sig_off. > You might want to runSAGEunder gdb with 'sage-gdb' to debug this. > > But the output suggests that it works properly some times: > > > ./sage > > args = , > sage_startup_cmd = , > importsage.misc.misc; > printsage.misc.misc.branch_current_hg_notice(sage.misc.misc.branch_current_hg()) > ; > fromsage.misc.interpreter import preparser; > preparser(True);importsage.all_cmdline;sage.all_cmdline._init_cmdline(globals());fromsage.all > import Integer, RealNumber;import os; os.chdir("/usr/local/ > PET/src/build/sage-3.1.1");importsage.misc.interpreter;fromsage.misc.interpreter > import attached_files;fromsage.all_cmdline > import *;_=sage.misc.interpreter.load_startup_file("/Dev_users/ > sameer/.sage//init.sage") > ---------------------------------------------------------------------- > |SAGEVersion 3.1.1, Release Date: 2008-08-17 | > | Type notebook() for the GUI, and license() for information. | > ---------------------------------------------------------------------- > > real_mpfi: after __init__ > real_mpfi: after __init__ > real_mpfi: after __init__ > real_mpfi: after __init__ > rational_field.py: SSS: before crash, x = 0 base = 0 > rational_field.py: SSS: after crash myretval = 0 > rational_field.py: SSS: before crash, x = 1 base = 0 > rational_field.py: SSS: after crash myretval = 1 > rational_field.py: SSS: before crash, x = 0 base = 0 > rational_field.py: SSS: after crash myretval = 0 > rational_field.py: SSS: before crash, x = 1 base = 0 > rational_field.py: SSS: after crash myretval = 1 > real_mpfi: after __init__ > qqbar.py: SSS: After self._descr._interval_fast : self._value = 0.? > e-21 > real_mpfi: after __init__ > qqbar.py: SSS: After self._descr._interval_fast : self._value = > 1.00000000000000000000? > real_mpfi: after __init__ > qqbar.py: SSS: After self._descr._interval_fast : self._value = 0.? > e-21 > real_mpfi: after __init__ > qqbar.py: SSS: After self._descr._interval_fast : self._value = > 1.00000000000000000000? > real_mpfi: after __init__ > qqbar.py: SSS: After self._descr._interval_fast : self._value = 0.? > e-21 > real_mpfi: after __init__ > qqbar.py: SSS: After self._descr._interval_fast : self._value = > 1.00000000000000000000? > real_mpfi: after __init__ > qqbar.py: SSS: After self._descr._interval_fast : self._value = 0.? > e-21 > real_mpfi: after __init__ > qqbar.py: SSS: After self._descr._interval_fast : self._value = > -1.00000000000000000000? > real_mpfi: after __init__ > rational_field.py: SSS: before crash, x = 0 base = 0 > rational_field.py: SSS: after crash myretval = 0 > rational_field.py: SSS: before crash, x = 1 base = 0 > rational_field.py: SSS: after crash myretval = 1 > rational_field.py: SSS: before crash, x = 0 base = 0 > rational_field.py: SSS: after crash myretval = 0 > rational_field.py: SSS: before crash, x = 1 base = 0 > rational_field.py: SSS: after crash myretval = 1 > real_mpfi: after __init__ > rational_field.py: SSS: before crash, x = 0 base = 0 > rational_field.py: SSS: after crash myretval = 0 > rational_field.py: SSS: before crash, x = 1 base = 0 > rational_field.py: SSS: after crash myretval = 1 > rational_field.py: SSS: before crash, x = 1 base = 0 > rational_field.py: SSS: after crash myretval = 1 > rational_field.py: SSS: before crash, x = 1 base = 0 > rational_field.py: SSS: after crash myretval = 1 > real_mpfi: after __init__ > qqbar.py: SSS: After self._descr._interval_fast : self._value = 0.? > e-21 > rational_field.py: SSS: before crash, x = -1 base = 0 > rational_field.py: SSS: after crash myretval = -1 > rational_field.py: SSS: before crash, x = 0 base = 0 > rational_field.py: SSS: after crash myretval = 0 > rational_field.py: SSS: before crash, x = 1 base = 0 > rational_field.py: SSS: after crash myretval = 1 > rational_field.py: SSS: before crash, x = 1 base = 0 > > ------------------------------------------------------------ > Unhandled SIGSEGV: A segmentation fault occured inSAGE. > This probably occured because a *compiled* component > ofSAGEhas a bug in it (typically accessing invalid memory) > or is not properly wrapped with _sig_on, _sig_off. > You might want to runSAGEunder gdb with 'sage-gdb' to debug this.SAGEwill now > terminate (sorry). > ------------------------------------------------------------ > > What do you recommend for such a case? We seem to be chugging right > along.. > > Thanks! > - Sameer > > On Nov 3, 7:20 pm, mabshoff <[EMAIL PROTECTED] > > dortmund.de> wrote: > > On Nov 3, 7:04 pm, Sameer <[EMAIL PROTECTED]> wrote: > > > > Hi Michael,> > Here is an update onAIX. I found whysagestartup was > > > crashing in > > > > > real_mpfi.so. I rebuilt libmpfi.so and recompiled real_mpfi.pyx and > > > > > complex_double.pyx. The illegal instruction error was due to an error > > > > > in building libmpfi.so caused by arguments given by libtool. By > > > > > testing with the supplied testcases I was able to narrow it down. > > > > > Ok, can you give some details what had to be changed? > > > > I just did a manual: > > > > % cd spkg/build; cp -r mpfi* mympfi (the package builds without error > > > and deletes the sources, so it is important to copy it midway while it > > > is building); > > > Yes. Just run "./sage-sh", then cd into spkg/standard, tar xjf > > foo.spkg, cd into foo and run ./spkg-install. > > > > % cd mympfi; make; > > > % gcc -shared -o libmpfi.so ../src/.libs/*.o -L/usr/local/PET/src/ > > > build/sage-3.1.1/local/lib -lmpfr -lgmp > > > cp libmpfi $SAGE_LOCAL/lib > > > > and tested with the tests/test_mpfi to make sure it didn't crash with > > > the illegal instruction. > > > Ok, but why would a static library crash? > > > <SNIP> > > > > Thanks I will rebuild it! > > > - Sameer > > > Cheers, > > > Michael --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---