I'm trying to get on the track of updating Gambit with mercurial. Unfortunately I can't get it to work.
Here's the most "official" documentation I could find:
http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Contributing_Patches_t...
I followed those steps and during the `make update` command, I get the following error:
james% make update hg pull pulling from http://www.iro.umontreal.ca/~gambit/repo/gambit/ searching for changes no changes found make update-nopull next_version=`hg tags | sed -n -e '/v4.2.6 /{g;1!p;};h' | sed -e 's/\ ([^ ]*)-bootstrap.*/\1/'`; \ next_version=`hg tags | sed -n -e '/v4.2.6 /{g;1!p;};h' | grep -e 'v.*-bootstrap' | sed -e 's/([^ ]*)-bootstrap.*/\1/'`; \ if test "$next_version" = ""; then \ hg update; \ else \ hg update -r $next_version-bootstrap; \ make bootstrap; \ hg update -r $next_version; \ make clean bootstrap update; \ fi 0 files updated, 0 files merged, 0 files removed, 0 files unresolved make making all in include making all in lib gcc -I../include -I. -no-cpp-precomp -Wall -W -Wno-unused -O1 -fno- math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing - fwrapv -fmodulo-sched -freschedule-modulo-scheduled-loops -fomit-frame- pointer -fPIC -fno-common -mieee-fp -DHAVE_CONFIG_H -D___PRIMAL - D___LIBRARY -D___GAMBCDIR=""/usr/local/Gambit-C/v4.2.6"" - D___SYS_TYPE_CPU=""i386"" -D___SYS_TYPE_VENDOR=""apple"" - D___SYS_TYPE_OS=""darwin9.2.2"" -c _io.c In file included from ../include/gambit.h:12, from _io.c:1248: ../include/gambit-not402006.h:1:2: error: #error "The version indicated in ___VERSION is not supported by gambit.h" ../include/gambit-not402006.h:2:2: error: #error "You are probably compiling C code generated by a Gambit compiler earlier or later than v4.2.6" ../include/gambit-not402006.h:3:2: error: #error "___VERSION will be set to 402006 to reduce other errors" make[2]: *** [_io.o] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [update] Error 2
Thanks - james
Afficher les réponses par date
On 23-Apr-08, at 4:53 PM, James Long wrote:
I'm trying to get on the track of updating Gambit with mercurial. Unfortunately I can't get it to work.
My guess is that you did a manual "hg pull" and/or "hg update" *before* doing a "make update". That's a no-no. You should only use the "hg" commands if you know what you are doing, otherwise use "make update". That's the price to pay for automating a complex bootstrap process. If you are stuck, get the latest release of Gambit, untar, "make", "make bootstrap", and finally "make update". If that doesn't work then there's a bug... please report it.
Marc
On Apr 23, 2008, at 5:20 PM, Marc Feeley wrote:
On 23-Apr-08, at 4:53 PM, James Long wrote:
I'm trying to get on the track of updating Gambit with mercurial. Unfortunately I can't get it to work.
My guess is that you did a manual "hg pull" and/or "hg update" *before* doing a "make update". That's a no-no. You should only use the "hg" commands if you know what you are doing, otherwise use "make update". That's the price to pay for automating a complex bootstrap process. If you are stuck, get the latest release of Gambit, untar, "make", "make bootstrap", and finally "make update". If that doesn't work then there's a bug... please report it.
Marc:
I suggested before that "make update" should do a "make" *first* in case a previous "make" failed. Common scenario: download the gambit sources, do "make", do "make update", which fails because the user forgot to "make bootstrap". One can copy by hand gsc/gsc to gsc- comp, but then the next "make update" assumes that the previous "make" *succeeded*, which isn't true.
So don't assume that the previous "make" succeeded, just do a new one before "make update" does an "hg update" to the next correct revision number (which may not be the tip, I know).
brad
On Apr 23, 2008, at 5:20 PM, Marc Feeley wrote:
On 23-Apr-08, at 4:53 PM, James Long wrote:
I'm trying to get on the track of updating Gambit with mercurial. Unfortunately I can't get it to work.
My guess is that you did a manual "hg pull" and/or "hg update" *before* doing a "make update". That's a no-no. You should only use the "hg" commands if you know what you are doing, otherwise use "make update". That's the price to pay for automating a complex bootstrap process. If you are stuck, get the latest release of Gambit, untar, "make", "make bootstrap", and finally "make update". If that doesn't work then there's a bug... please report it.
Yep, I did a manual "hg update", but only because the instructions on the page I mentioned are broken. Here's the steps it outlines:
wget http://www.iro.umontreal.ca/~gambit/download/gambit/v4.0/source/gambc-v4_0_0... tar zxf gambc-v4_0_0.tgz mv gambc-v4_0_0 gambit cd gambit ./configure make bootstrap hg pull make update
However, at this point `make update' fails with the error "no target for 'update`". The `hg pull' command told me to do `hg update' to get a working copy, and I figured that would update the makefile (I don't know mercurial). Of course, it seemed to but then everything else broke... It around version 4.0.0 that the build system was going through some drastic changes, maybe that page should be updated to begin with a more recent release?
I got it to work by getting the latest source and simply using `make update'. From here on out, all I need to do it `make update', correct?
For reference, here's the page I was talking about: http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Contributing_Patches_t...
Thanks, - James
James Long longster@gmail.com writes:
On Apr 23, 2008, at 5:20 PM, Marc Feeley wrote:
On 23-Apr-08, at 4:53 PM, James Long wrote:
I'm trying to get on the track of updating Gambit with mercurial. Unfortunately I can't get it to work.
My guess is that you did a manual "hg pull" and/or "hg update" *before* doing a "make update". That's a no-no. You should only use the "hg" commands if you know what you are doing, otherwise use "make update". That's the price to pay for automating a complex bootstrap process. If you are stuck, get the latest release of Gambit, untar, "make", "make bootstrap", and finally "make update". If that doesn't work then there's a bug... please report it.
Yep, I did a manual "hg update", but only because the instructions on the page I mentioned are broken. Here's the steps it outlines:
wget http://www.iro.umontreal.ca/~gambit/download/gambit/v4.0/source/gambc-v4_0_0... tar zxf gambc-v4_0_0.tgz mv gambc-v4_0_0 gambit cd gambit ./configure make bootstrap hg pull make update
Which OS are you using? I noticed that the uid on the files in the tarball is 501, and on my system root is 500. This causes me a few errors (and more if I'm not paying attention).
chmod -R root:root .
As long as I take care of that, then
make update make make install
does it for me. Is that the proper sequence?
Joel
On Apr 24, 2008, at 1:30 PM, Joel J. Adamson wrote:
Which OS are you using? I noticed that the uid on the files in the tarball is 501, and on my system root is 500. This causes me a few errors (and more if I'm not paying attention).
I am on OS X 10.5. I don't have any problems with the permissions; the Makefile was simply bailing with an obvious error (no target for `update').
make update make make install
does it for me. Is that the proper sequence?
It looks like `make update' calls `make'. So you don't need the second command. That should work with a recent enough version of Gambit.
- James
James Long longster@gmail.com writes:
On Apr 24, 2008, at 1:30 PM, Joel J. Adamson wrote:
make update make make install
does it for me. Is that the proper sequence?
It looks like `make update' calls `make'. So you don't need the second command. That should work with a recent enough version of Gambit.
Easy to fix: sed -i '/make$/d' update.sh
Joel