Welcome, Guest. Please login or register.

Login with username, password and session length

MyPCLinuxOS Forum

Pages: 1 [2] 3   Go Down
  Print  
Author Topic: SAGE - Request For Comment  (Read 4620 times)
0 Members and 1 Guest are viewing this topic.
gri6507
Sr. Member
****
Offline Offline

Posts: 288


if at first you don't succeed ...


« Reply #12 on: January 15, 2008, 03:38:12 PM »

Well, folks, it took me about a month to get to this point and I have my first version of the SAGE SRPM available. Take a look at http://www.pclinuxosfiles.com/gettinther/sage/ for the README.txt and the SRPMs directory. Note that there are more SRPMs there that are necessary for the current build instructions for SAGE. That is because I am currently working on simplifying/shortening the build process for SAGE. But, until that is done (and that could be a LONG time still, if even possible) I would like your feedback on my current SRPM.

WARNING - the build process for SAGE alone on my PC is about 5-6 hours. The other requirements are not small either, so you will likely want to do this overnight  Wink Grin

Please give it a try and post your feedback. I'm looking forward to everything you have to say!  Smiley

UPDATE: Looks like I accidentally wacked the README.txt file, so it will be a bit before I can post it there again. However, it shouldn't be as complicated as the SlimServer requirements.

UPDATE2: Silly me. I forgot that the README.txt is in the directory, but cannot be seen via HTTP. You have to get it via FTP.
« Last Edit: January 15, 2008, 09:30:21 PM by gri6507 » Logged
gri6507
Sr. Member
****
Offline Offline

Posts: 288


if at first you don't succeed ...


« Reply #13 on: January 16, 2008, 06:08:45 AM »

I rather anticipated no responses this quickly. My guess is that this means no one has tried the SRPM yet  Cheesy. In which case I don't feel bad saying that after further testing on my part, I found a couple of necessary improvements that must take place first. So, please keep an eye on this thread. I'll post whenever the second iteration is ready for testing.
Logged
gri6507
Sr. Member
****
Offline Offline

Posts: 288


if at first you don't succeed ...


« Reply #14 on: January 19, 2008, 09:23:38 AM »

Alright. Let the testing begin!  Smiley

Due to the complexity of this project, I think the testing should happen in two phases. The first phase is basically doing what other packagers in this forum have been doing all along - testing SRPMs from a completeness/correctness stand point. The second phase is basically testing the resultant RPMs for functionality.

SRPM Testing
Calling all packagers! Please take a look at http://www.matoilnet.net/~santa/three/SRPMS.testing/ which contains the necessary SRPMs for SAGE and its prerequisites. Also, there is file called SAGE.readme.txt which contains the order in which the SRPMS have to be built. Please note that there will be a couple of left over SRPMs that are not built as part of this process (ipthyon and python-gd). These were created for the next phase of SAGE rpm release (when you read the SPEC file you'll see what I mean). However, these packages should also be tested on their own merit because I expect to submit those to Tex as well.

RPM Testing
Over the years there have been a number of people either referring to or requesting SAGE. I have contacted them with a plea for help. The reason this is necessary is because functionality wise, SAGE is hands down the most complicated piece of software I have had to package so far. Testing SAGE to any depth other than just skimming the surface (i.e. 2+2) would require knowledge of and experience with the tool. So far, a couple of PCLOS users have volunteered their time to do so. These instructions are primarily geared towards them, although if anyone from the SRPM testing group wants to continue and test their RPMs (or for that matter, just skip ahead and test just the RPMs), then take a look at http://www.matoilnet.net/~santa/three/RPMS.testing/sage.betatesters.txt for instructions on installing a beta release of SAGE.

I hope to get lots of comments from everyone here. A project like this requires participation from everyone in the community  Wink
Logged
Gettinther
Hero Member
*****
Offline Offline

Posts: 750



WWW
« Reply #15 on: January 19, 2008, 12:50:36 PM »

On your build list you have:

Quote
rpm -ba kash.spec

Where is it?

edit:
Also the build failed on macaulay
Quote
make[2]: Leaving directory `/home/gettinther/src/rpm/BUILD/macaulay2/BUILD/normal/Macaulay2/regex'
util/restart d/restart.tmp make -C d all
GC Warning: Failed to find libpthread.so text mapping: Expect crash
util/restart: running: make -C d all
make[2]: Entering directory `/home/gettinther/src/rpm/BUILD/macaulay2/BUILD/normal/Macaulay2/d'
Makefile:132: interp.dep: No such file or directory
Makefile:132: texmacs.dep: No such file or directory
Makefile:132: interface.dep: No such file or directory
Makefile:132: actors5.dep: No such file or directory
Makefile:132: actors4.dep: No such file or directory
Makefile:132: actors3.dep: No such file or directory
Makefile:132: actors2.dep: No such file or directory
Makefile:132: actors.dep: No such file or directory
Makefile:132: evaluate.dep: No such file or directory
Makefile:132: libfac.dep: No such file or directory
Makefile:132: objects.dep: No such file or directory
Makefile:132: struct.dep: No such file or directory
Makefile:132: GC.dep: No such file or directory
Makefile:132: util.dep: No such file or directory
Makefile:132: common.dep: No such file or directory
Makefile:132: convertr.dep: No such file or directory
Makefile:132: basic.dep: No such file or directory
Makefile:132: binding.dep: No such file or directory
Makefile:132: parser.dep: No such file or directory
Makefile:132: lex.dep: No such file or directory
Makefile:132: tokens.dep: No such file or directory
Makefile:132: engine.dep: No such file or directory
Makefile:132: gmp.dep: No such file or directory
Makefile:132: err.dep: No such file or directory
Makefile:132: stdiop.dep: No such file or directory
Makefile:132: getline.dep: No such file or directory
Makefile:132: stdio.dep: No such file or directory
Makefile:132: varnets.dep: No such file or directory
Makefile:132: nets.dep: No such file or directory
Makefile:132: ctype.dep: No such file or directory
Makefile:132: vararray.dep: No such file or directory
Makefile:132: varstrin.dep: No such file or directory
Makefile:132: strings.dep: No such file or directory
Makefile:132: system.dep: No such file or directory
Makefile:132: C.dep: No such file or directory
../c/scc1 -dep -J. ../../../../Macaulay2/d/C.d
GC Warning: Failed to find libpthread.so text mapping: Expect crash
../c/scc1 -dep -J. ../../../../Macaulay2/d/system.d
GC Warning: Failed to find libpthread.so text mapping: Expect crash
mv C.dp C.dep
../../../../Macaulay2/d/system.d:3:5: undefined package
make[2]: *** [system.dep] Error 1
make[2]: *** Waiting for unfinished jobs....
../util/updat C.sg C.sig
make[2]: Leaving directory `/home/gettinther/src/rpm/BUILD/macaulay2/BUILD/normal/Macaulay2/d'
restart: done
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/gettinther/src/rpm/BUILD/macaulay2/BUILD/normal/Macaulay2'
make: *** [all] Error 2
make: Leaving directory `/home/gettinther/src/rpm/BUILD/macaulay2/BUILD/normal'
error: Bad exit status from /home/gettinther/src/tmp/rpm-tmp.72026 (%install)

Rpms installed so far:

libgc1
libgc1-devel
libgc1-static-devel
ntl-devel
factory
libfac

« Last Edit: January 19, 2008, 01:01:07 PM by Gettinther » Logged
gri6507
Sr. Member
****
Offline Offline

Posts: 288


if at first you don't succeed ...


« Reply #16 on: January 19, 2008, 04:39:47 PM »

Sorry. I had forgotten to upload the kash SRPM. You can now find it through the same website. As for macaulay, the error of
Quote
GC Warning: Failed to find libpthread.so text mapping: Expect crash
is a benign warning from GC saying that when Tex compiled pthread, it was done without debugging. Contrary to the harsh warning, it can be safely ignored. The error of
Quote
Makefile:132: interp.dep: No such file or directory
is also expected. For some reason, that is what Macaulay displays when it figures out what still needs to be compiled. When the build process continue, you'll see that all of the *.dep files will be created. What does seem odd is the message
Quote
../../../../Macaulay2/d/system.d:3:5: undefined package
I do not get the same error message, so maybe there is some missing dependency? I'm not sure now to proceed with tracking this one down. I've done the whole build process on a clean system before. I guess I can do it again ...

P.S. I know this is definitely true for SAGE and may also be the cause of your Macaulay build problem. The SAGE build process will fail if your system CPU is too bogged down to get what ATLAS (one of the many components of SAGE) calls "accurate system timing".
« Last Edit: January 19, 2008, 04:47:41 PM by gri6507 » Logged
Gettinther
Hero Member
*****
Offline Offline

Posts: 750



WWW
« Reply #17 on: January 19, 2008, 04:45:39 PM »

Can you check the content of src/rpm/BUILD/macaulay2/BUILD/normal/Macaulay2/d

and system.dp within it?

I have the following files :
C.dep
compat.h
C.sig
layout.m2
Makefile
system.dp
system.sg

And system.dp (which causes the error, contains:
Quote
system.oo system.loo : system.d

I had arrived at the same conclusion as you did.  Maybe I need Kash installed?
Logged
gri6507
Sr. Member
****
Offline Offline

Posts: 288


if at first you don't succeed ...


« Reply #18 on: January 19, 2008, 04:54:30 PM »

my directory contains a lot more files (but then again my build process got a lot further), but none of the are called system.dp  Huh
Code:
gri6507@localhost:~/src/rpm/BUILD/macaulay2/BUILD/normal/Macaulay2/d>ls
actors2.dep  C.dep         evaluate.sig         layout.m2           parser.dep   texmacs.oo
actors2.oo   common.dep    factory_allocator.o  lex.dep             parser.oo    texmacs.sg
actors2.sg   common.oo     factory_init1.o      lex.oo              parser.sg    texmacs.sig
actors2.sig  common.sg     factory_init2.o      lex.sg              parser.sig   tmp_init.c
actors3.dep  common.sig    GC.dep               lex.sig             scclib.o     tmp_init.o
actors3.oo   compat.h      GC.oo                libfac.dep          startup.c    tokens.dep
actors3.sg   convertr.dep  GC.sg                libfac.oo           startup.o    tokens.oo
actors3.sig  convertr.oo   GC.sig               libfac.sg           stdio.dep    tokens.sg
actors4.dep  convertr.sg   gdbm_interface.o     libfac.sig          stdio.oo     tokens.sig
actors4.oo   convertr.sig  getline.dep          libfactory_init1.a  stdiop.dep   tokens_stub.o
actors4.sg   C.oo          getline.oo           libfactory_init2.a  stdiop.oo    util.dep
actors4.sig  C.sg          getline.sg           libM2inits2.a       stdiop.sg    util.oo
actors5.dep  C.sig         getline.sig          M2-factory.o        stdiop.sig   util.sg
actors5.oo   ctype.dep     gmp_aux.o            M2inits2.o          stdio.sg     util.sig
actors5.sg   ctype.oo      gmp.dep              M2inits.o           stdio.sig    vararray.dep
actors5.sig  ctype.sg      gmp_init.o           M2lib.o             strings.dep  vararray.oo
actors.dep   ctype.sig     gmp_memory.o         M2mem.o             strings.oo   vararray.sg
actors.oo    engine.dep    gmp.oo               M2types.o           strings.sg   vararray.sig
actors.sg    engine.oo     gmp.sg               main.o              strings.sig  varnets.dep
actors.sig   engine.sg     gmp.sig              Makefile            struct.dep   varnets.oo
basic.dep    engine.sig    interface.dep        nets.dep            struct.oo    varnets.sg
basic.oo     err.dep       interface.oo         nets.oo             struct.sg    varnets.sig
basic.sg     err.oo        interface.sg         nets.sg             struct.sig   varstrin.dep
basic.sig    err.sg        interface.sig        nets.sig            system.dep   varstrin.oo
binding.dep  err.sig       interp.dep           objects.dep         system.oo    varstrin.sg
binding.oo   evaluate.dep  interp.oo            objects.oo          system.sg    varstrin.sig
binding.sg   evaluate.oo   interp.sg            objects.sg          system.sig   version.o
binding.sig  evaluate.sg   interp.sig           objects.sig         texmacs.dep

But then again, looking carefully at what the error says, I have
Code:
gri6507@localhost:~/src/rpm/BUILD/macaulay2/BUILD/normal/Macaulay2/d>cat ../../../../Macaulay2/d/system.d
--              Copyright 1994 by Daniel R. Grayson

use C;
import sleep(t:int):int;
import getpid():int;
import exit(x:int):void;
import exceptionFlag:bool;                                  -- indicates interrupt, stepping, or alarm
import interruptShield:bool;
import interruptedFlag:bool;
import interruptPending:bool;
import alarmedFlag:bool;
import write(fd:int, buffer:string, buffersize:int):int;
import read(fd:int, buffer:string, buffersize:int):int;
import read(fd:int, buffer:string, buffersize:int, offset:int):int;
import readline(buffer:string, buffersize:int, offset:int, prompt:string):int;
import link(oldfilename:string,newfilename:string):int;
import symlink(oldfilename:string,newfilename:string):int;
import unlink(filename:string):int;
import openin(filename:string):int;
import openout(filename:string):int;
import openoutappend(filename:string):int;
import opensocket(host:string,serv:string):int;
import openlistener(serv:string):int;
import acceptBlocking(sd:int):int;
import acceptNonblocking(sd:int):int;
import newline:string;
import envp:array(string);
import argv:array(string);
import args:array(string);
import syserrmsg():string;
import atend(f:function():void):void;
import run(command:string):int;
import pipe(fildes:array(int)):int;
import exec(argv:array(string)):int;
import getenv(s:string):string;
import stime():void;
import etime():double;
import strcmp(s:string,t:string):int;
import strnumcmp(s:string,t:string):int;
import gc:bool;
import randomint():int;
import wait(pid:int):int;
import waitNoHang(pid:array(int)):array(int);
import select(s:array(int)):array(int);
import hash(x:double):int;
import getcwd():string;
import dumpdata(filename:string):int;
import loaddata(notify:int,filename:string):int;
import errfmt(filename:string,lineno:int,colno:int,loaddepth:int):string;
import loadDepth:int;
import dbmopen(filename:string,write:bool):int;
import dbmerror():string;
import dbmclose(handle:int):int;
import dbmstore(handle:int,key:string,content:string):int;
import chmod(filename:string,mode:int):int;
import dbmfetch(handle:int,key:string):(null or string);
import dbmdelete(handle:int,key:string):int;
import dbmfirst(handle:int):(null or string);
import dbmnext(handle:int):(null or string);
import dbmreorganize(handle:int):int;
import dbmstrerror():string;
import readfile(fd:int):(null or string);
import fileLength(fd:int):int;
import fileLength(filename:string):int;
import fileExists(name:string):bool;
import fileTime(name:string):int;
import setFileTime(name:string,modtime:int):int;
import currentTime():int;
import fileMode(name:string):int;
import fileModeFD(fd:int):int;
import mkdir(name:string):int;
import rmdir(name:string):int;
import isDirectory(name:string):int;
import isRegularFile(name:string):int;
export ArrayStringOrNull := null or array(string);
import wordexp(word:string):ArrayStringOrNull;
import readlink(filename:string):string;
import realpath(filename:string):string;
import noErrorMessage:string;
import regexmatchErrorMessage:string;
import regexmatch(pattern:string, offset:int, text:string):array(int);
import regexreplace(pattern:string, replacement: string, text:string, errflag:string):string;
import regexselect(pattern:string, replacement: string, text:string, errflag:array(string)):array(string);
import readDirectory(name:string):(null or array(string));
import strncmp(s:string,t:string,n:int):int;
import history():array(string);
import chdir(name:string):int;

everytimeCell := { f:function():void, next:everytimeCell };
dummyfun():void := nothing;
everytimeList := everytimeCell(dummyfun,self);
export everytime(f:function():void):void := everytimeList = everytimeCell(f,everytimeList);
export everytimeRun():void := (
     x := everytimeList;
     while x.next != x do (x.f(); x = x.next;));

-- Local Variables:
-- compile-command: "make -C $M2BUILDDIR/Macaulay2/d "
-- End:
« Last Edit: January 19, 2008, 04:57:51 PM by gri6507 » Logged
Gettinther
Hero Member
*****
Offline Offline

Posts: 750



WWW
« Reply #19 on: January 19, 2008, 05:18:23 PM »

OK, no fret.  It's fixed.

I removed the % at the start of the make line

make prefix=%buildroot%{_prefix} IgnoreExampleErrors=true install

It seems that my system has a problem with %make (I may carry out a rebuild of my build box).

The process is ongoing now.  I'll let you know how I got on.
Logged
Gettinther
Hero Member
*****
Offline Offline

Posts: 750



WWW
« Reply #20 on: January 19, 2008, 05:47:57 PM »

OK, macaulay is built.

I'll rebuild a new system and test a rebuild with %make.
Logged
gri6507
Sr. Member
****
Offline Offline

Posts: 288


if at first you don't succeed ...


« Reply #21 on: January 19, 2008, 07:09:32 PM »

alright! So, if you get a chance to rebuild Macaulay before going to bed for the night, I'd recommend starting the sage build next. After all, it takes half of the night to compile it on my PC  Wink
Logged
Gettinther
Hero Member
*****
Offline Offline

Posts: 750



WWW
« Reply #22 on: January 19, 2008, 07:38:13 PM »

Thought so too Cheesy

Sage has been building for an hour now and I'm off to bed (2h48am here).

I'll let you know tomorrow.
Logged
Gettinther
Hero Member
*****
Offline Offline

Posts: 750



WWW
« Reply #23 on: January 20, 2008, 05:03:51 AM »

Finally got the build to complete.  I didn't get any other issue with the build.  Tested the app and nothing crashed on me.  I found at least one small bug but except for the error message it worked (it didn't crash anyway).
Now all you need is someone who can use it Grin.
Logged
Pages: 1 [2] 3   Go Up
  Print  
 
Jump to: