[sage-devel] libm4ri issues with non-GNU/x86 environments.

2009-10-13 Thread Dr. David Kirkby

libm4ri has two issues that I am aware of as soon as one tries to use a 
non-GNU or non-86 environment.


I believe the developers hang out here, so I'll put a bit of information 
here, on the hope they see it.

1) Despite the fact Sun's C compiler can compile thousands of lines of 
Sage without any problem, libm4ri's configure script says the compiler 
can't create executables:

http://sagetrac.org/sage_trac/ticket/7037

This is clearly is a bug that needs fixing. Plenty of other configure 
scripts have checked the compiler and decides it works.

2) On HP-UX, the configure script can't work out how many CPUs I have, 
what sort they are, but then tries to determine the cache size. This 
causes the configure script to break.

The macro for determining the number of CPUs

http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_count_cpus.m4

is clearly only designed to work on linux and Mac. So it will fail on 
other platforms, including Solaris which is supported, and HP-UX which 
is not.

The macro for determining cache sizes will only work on x86 CPUs.

It seems to me there are two issues here.

1) The code for checking the C compiler is broken.

2) Code for checking CPU-related things should only be done on platforms 
where the macros work. It would clearly be very difficult to rewrite the 
macros to work on every platform, but it should not be so hard to ensure 
the macros are only called on platforms where they will work. One way to 
do this would probably be to executed bits of code only if certain 
preprocessor items are defined. I believe there is an autoconf macro 
which will determine if for example __hpux__ is defined, in which case 
execute code for HP-UX.


I don't mind having a go at refining the macro for computing the number 
of CPUs, so it at least work on Solaris, AIX and HP-UX.

Cache sizes is not something I want to get into. I think it would be 
sensible to just report 1 MB or something like that.

I do not know why these macros cause failures to build on HP-UX but not 
Solaris. It is clear from looking at the source they will not work on 
either platform.


Dave

--~--~-~--~~~---~--~~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] libm4ri thinks the Sun C compiler is broken

2009-09-27 Thread Dr. David Kirkby

Using

 * Solaris 10 update 7 on SPARC
 * sage-4.1.2.alpha2
 * Sun Studio 12.1
 * An updated configure script to allow the Sun compiler to be used 
http://sagetrac.org/sage_trac/ticket/7021

CC was set to the Sun C compiler. Despite thousands of lines of C code 
being built, libm4ri decides the Sun C compiler is broken:

checking for style of include used by make... GNU
checking for gcc... /opt/xxxsunstudio12.1/bin/cc
checking for C compiler default output file name...
configure: error: in 
`/export/home/drkirkby/sage/gcc32/sage-4.1.2.alpha2/spkg/build/libm4ri-20090617/src':
configure: error: C compiler cannot create executables
See `config.log' for more details.
Error configuring libm4ri


--~--~-~--~~~---~--~~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] libm4ri

2008-12-01 Thread Robert Bradshaw

I just noticed for m4ri the package is called libm4ri-*.spkg. Any  
reason this isn't m4ri-*.spkg?

- Robert


--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@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-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---