AMD64

2006-01-25
2013-04-18
  • Stephen A. Smith

    Hi,
    I am wondering if anyone has successfully build the new source on an AMD64 linux machine? What compilation configuration did you have?
    Also a question to the developers, are you ever going to offer binaries for AMD64.
    Thanks
    Stephen

     
    • James Bonfield

      James Bonfield - 2006-02-02

      It does compile as we've built it here under AMD64. I will ship binaries when I do the next release (somewhat delayed due to other work taking priority currently).

      James

       
    • asjo

      asjo - 2006-02-17

      I've built 1.6.0 on an AMD64-machine, but gap4 is giving me a problem when run:

      $STADENROOT/linux-amd64-bin/gap4 filename.1.aux
        Invalid io handle

           while executing
      "db_info db_name $io"
           invoked from within
      "if {$io > 0} {
           if {$read_only} {
               set extras "     *READ-ONLY*"
           } else {
               set extras ""
           }
           wm title . "GAP v$GAP_VERSION: [db_info db_n..."
           (file "/usr/lib/staden-rel-1-6-0/lib/gap/gap.tcl" line 701)

      Any hints?

      Building the same sources on a P4 opens the file as expected.

      (Both machines run Ubuntu 5.10).

       
    • James Bonfield

      James Bonfield - 2006-02-17

      Hmm, look at the changelog it seems I had amd64 working on mid 2004, but maybe it's a compilation or compiler issue.

      I see I have this in Misc/os.h:

      /*
      * Linux on AMD64 also needs to use va_copy()
      */
      #if defined(__linux__) && defined(__amd64__)
      #  define NEED_VA_COPY
      #endif

      This controls behaviour of varargs in Misc/vlen.c. It may be worth checking that the #if above is correctly spotting your system (eg freebsd on amd64 is likely to not get triggered by it, although ubuntu should).

      James

       
    • asjo

      asjo - 2006-02-20

      Thanks for the pointer - it turned out that vlen.c didn't include os.h, so NEEDS_VA_COPY never got set - despite __linux__ and __amd64__ being defined in Ubuntu.

      Here are the two trivial patches leading to success:

      --- io_lib-1.9.0.orig/utils/vlen.c      2005-06-29 15:35:42.000000000 +0200
      +++ io-lib-1.9.0/utils/vlen.c   2006-02-20 11:03:52.000000000 +0100
      @@ -4,6 +4,7 @@
      #include <sys/types.h>
      #include <string.h>

      +#include "os.h"
      #include "vlen.h"

      #ifndef MAX
      --- staden-src-1-6-0.orig/src/Misc/vlen.c       2004-12-06 18:25:45.000000000 +0100

      +++ staden-1.6.0/src/Misc/vlen.c        2006-02-20 11:04:03.000000000 +0100
      @@ -4,6 +4,7 @@
      #include <sys/types.h>
      #include <string.h>

      +#include "os.h"
      #include "vlen.h"

      #ifndef MAX

      Thanks!

      Adam

       

Log in to post a comment.