-
-
Notifications
You must be signed in to change notification settings - Fork 491
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update prereq from 0.3 to 0.4 #7021
Comments
tar file to be installed as $SAGE_HOME/spkg/base |
Attachment: prereq-0.4.tar.gz Attachment: prereq-0.4-install.gz executable shell script to install as $SAGE_HOME/spkg/base/prereq-0.4-install |
This comment has been minimized.
This comment has been minimized.
comment:2
Anyway, I've read it all and give this a big thumbs up assuming it actually works. Regarding, actually working, I'd be happy with us just dropping this in an alpha and see. |
comment:3
Would this updated spkg invalidate the GCC 3.4.x requirement for ratpoint at #6580? |
comment:4
Probably we need a clear decision from our BDFL here, whether Sage continues to officially support being built with GCC 3.4.x, or not. Cygwin's default compiler is GCC 3.4.4, by the way (but GCC 4.3.x seems to be available at least as an optional package). Currently, GCC 3.4.x works pretty fine. The original reason to force ">= 4.0.1" was to rule out GCC 4.0.0 with which many problems occur, but I guess this could be done without kicking GCC 3.4.x entirely. Cheers, |
comment:5
Ups, I misinterpreted the comment about #6580, reading the comments there, this decision already has been made, sorry for the noise. |
comment:6
I did some general clean up to the file
An updated http://sage.math.washington.edu/home/mvngu/release/spkg/base/prereq-0.4-install Use that updated |
Changed author from David Kirkby to David Kirkby, Minh Nguyen |
comment:7
Thank you to Minh for tidying this up a bit. I've made a few changes to it, though have kept the version number the same. The revised version can be found at http://sage.math.washington.edu/home/kirkby/Solaris-fixes/prereq-0.4/ The script prereq-0.4-install must have execute permission. Please use the version at http://sage.math.washington.edu/home/kirkby/Solaris-fixes/prereq-0.4/ and not the files attached here.
If anyone else can think of any sanity checks that need to be made, then these can perhaps be added. But I'd like to get this into Sage asap, as this code really does help find lots of bugs in Sage, as it allows one to try building Sage with the Sun compiler, which uncovers all sorts of bugs. |
comment:8
This is such a major improvement -- and fairly safe -- I would really like this in 4.1.2 so I'm upgrading this to blocker. |
comment:9
William, since you believe this is fairly safe and a major improvement, can you update it to 'positive review'? And thank you for the comments! |
comment:10
Reviewer report:
I tried to do the test cases on my Mac, there's some gcc-3.3 and g++-3.3 in /usr/bin/ additionally to the usual gcc(-4.0) and g++(-4.0). All in all, this looks good to me. IMHO the only blocker is 4. (the one about the license), the other findings are pretty unimportant. |
comment:11
Thank you. I will address tommorow - I am going out in about 15 minutes. There was one other change I was intending making. If one tries to build on Cywin, with SAGE_PORT not set, it will exit, but there is no message that tells you that you can bypass it by setting SAGE_PORT. (It will work if you know this, but it would be sensible to let someone know). I have made prereq-install executable on the web site, but when I download it, it looses the exe permissions. I dont think there is anything I can do about that - whoever adds it to sage will have to do that. dave. |
comment:12
Yep, that's reasonable. |
comment:13
Thank you for all your comments. In light of these, and some thoughts I had, I've made a few changes.
to
as I understand the former is not portable if there is more than one '-a'. Since this code is run by /bin/sh, and not bash, we can't assume that more that one '-a' will work. The changes can be found on the web at: If you are happy with those changes, could you please check them in my name. If you take the files from sage.math from the directory
then the permissions should be ok. There is an issue which I noticed, which might want addressing later, but I have left, as it probably needs some discussion. If one wished to build Sage on a platform without GCC, it would fail due to the checks for gcc and g++, even if one's aim was to use another compiler. When I try to build Sage with Sun Studio, it would actually be advantages to not have gcc in my path, as then I would spot the bits of code that rely on gcc. Perhaps it might be sensible to not check gcc and g++ if SAGE_PORT was defined to something non-empty. Anyway, for now at least, having gcc and g++ is a requirement, even if you wished to improve sage so it does not rely on gcc, but used better compilers when available. |
comment:14
Good work, positive review! |
Reviewer: Georg S. Weber |
comment:18
unique name please |
Changed author from David Kirkby, Minh Nguyen to David Kirkby, Minh Van Nguyen |
This is an updated version of the code which does the preliminary checks of the Sage build.
The update consists of two files, which should be installed as:
Note there is no need to extract the tar file, and so have a directory $SAGE_HOME/spkg/base/prereq-0.4, though this was done on prereq-0.3. The tar files contents gets extracted to $SAGE_HOME/spkg/build/prereq-0.4 during the build process.
The tar file contains a configure script, configure.ac, and several macros.
Changes to the configure script
Changes to prereq-0.4-install
Testing
The Sun T5240 't2' would be a good place to test this. Try these things, remembering to type 'make distclean' after any test.
Test 1
The configure script should exit, and say you need at least gcc 4.0.1
Test 2
It should exit with a message that you can't mix compilers.
Test 3
Set CC=/opt/SUNWspro/bin/cc and CXX to /opt/SUNWspro/bin/CC and try to build Sage with the Sun compiler.
Test 4
Set CC and CXX to be different version of gcc. You should see something like this.
If this is updated, it can close at least two tickets - #6701 and #3384
CC: @williamstein @sagetrac-mvngu
Component: build
Author: David Kirkby, Minh Van Nguyen
Reviewer: Georg S. Weber
Issue created by migration from https://trac.sagemath.org/ticket/7021
The text was updated successfully, but these errors were encountered: