amd64 ubuntu hardy psl not configuring

Help
2009-04-20
2012-11-20
  • Hi,
    I have gotten the latest  (April 17th) from svn.
    I have built reduce with csl. Now trying to build it with psl. When I try to configure it --with-psl, I am getting :
    ...
    gcc -DPACKAGE_NAME=\"xport\" -DPACKAGE_TARNAME=\"xport\" -DPACKAGE_VERSION=\"2.05\" -DPACKAGE_STRING=\"xport\ 2.05\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"xport\" -DVERSION=\"2.05\" -DHOST_CPU=\"x86_64\" -DHOST_VENDOR=\"unknown\" -DHOST_OS=\"linux-gnu\" -DHAVE_DIRENT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UTIME_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_NETDB_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_SYS_SOCKET_H=1 -DSIZEOF_INT=0 -DSIZEOF_LONG=0 -DHAVE_STAT_EMPTY_STRING_BUG=1 -I. -I/home/osman/reduce-algebra/trunk/psl/support-packages/xport-2.05   -m32  -fno-strict-aliasing -O2 -Wall -MT xport.o -MD -MP -MF .deps/xport.Tpo -c -o xport.o /home/osman/reduce-algebra/trunk/psl/support-packages/xport-2.05/xport.c
    /home/osman/reduce-algebra/trunk/psl/support-packages/xport-2.05/xport.c: In function 'exall':
    /home/osman/reduce-algebra/trunk/psl/support-packages/xport-2.05/xport.c:640: warning: unused variable 'j'
    /home/osman/reduce-algebra/trunk/psl/support-packages/xport-2.05/xport.c:640: warning: unused variable 'i'
    mv -f .deps/xport.Tpo .deps/xport.Po
    gcc  -fno-strict-aliasing -O2 -Wall  -m32 -o xport xport.o
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.2.4/libgcc.a when searching for -lgcc
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.2.4/libgcc.a when searching for -lgcc
    /usr/bin/ld: cannot find -lgcc
    collect2: ld returned 1 exit status
    make: *** [xport] Error 1
    configure: Will build this PSL using the amd64 initial binaries
    configure: About to update PSL binaries from master web-site at ZIB
    /home/osman/reduce-algebra/trunk/psl/configure: line 2487: ../xport/xport: No such file or directory
    chmod: cannot access `bpsl*': No such file or directory
    configure: creating ./config.status
    config.status: creating Makefile
    stargate:/home/osman/reduce-algebra/trunk-bash->

    subsequent make fails :

    About to build in pslbuild/x86_64-unknown-ubuntu8.04
    if ! test -d deps; then mkdir deps; fi
    touch deps/noncore-packages.psl-depend
    if ! test -d deps; then mkdir deps; fi
    touch deps/noncore-packages.psl-make
    if ! test -d deps; then mkdir deps; fi
    touch deps/core-packages.psl-depend
    if ! test -d deps; then mkdir deps; fi
    touch deps/core-packages.psl-make
    if ! test -f red/bootstrap.img; \         then /usr/bin/gmake red/bootstrap.img; \              if test -f red/bootstrap.img; then /usr/bin/gmake reduce; fi; \         else /usr/bin/gmake reduce; fi
    /home/osman/reduce-algebra/trunk/psl/bootstrap.sh x86_64-unknown-ubuntu8.04
    ++++++ Build initial bootstrap system ++++++
    /home/osman/reduce-algebra/trunk/psl/bootstrap.sh: line 102: ./bpsl: No such file or directory
    Bootstrap reduce built
    stargate:/home/osman/reduce-algebra/trunk-bash->     

    Thanks in advance
    -osman

     
    • Arthur Norman
      Arthur Norman
      2009-04-20

      Thanks for your post. it is GOOD when people pass in reports of what bites them. This is all to do with "when searching for -lgcc".

      The "xport" utility used to fetch some more PSL files is compiled with the gcc option "-m32" so that even if built ona 64-bit linux it ends up a 32-bit application. This was doen mostly to make the compiled version one you could potentially move to a different (eg 32-bit) linux and expect it to have a chance to work.

      Your Linux does not have the 32-bit development files installed. I do not kknow where the main Ubunto "install or remove software" panel keeps them, but I get "synaptic" installed which I do understand and which reveals everything, then gcc-multilib and lib32-gcc1 can be installed and should be what you need.

      Apologies - I will consider removing that "-m32" in the "xport" make sequences.  The issue you see is not to do with PSL itself but with the procedures to fetch it!
                Arthur

       
      • Thanks Arthur,
        gcc-multilib was missing. Now configure seems to be working. fetched psl files. created make files. But make fails right away:

        make
        /bin/sh scripts/make.sh
        Current machine tag is x86_64-unknown-ubuntu8.04
        About to build in cslbuild/x86_64-unknown-ubuntu8.04
        echo Build all: /usr/bin/gmake mflags=- --no-print-directory myflags= all
        Build all: /usr/bin/gmake mflags=- --no-print-directory myflags= all
        gmake  all-am
        gmake[3]: Nothing to be done for `all-am'.
        About to build in pslbuild/x86_64-unknown-ubuntu8.04
        if ! test -f red/bootstrap.img; \         then /usr/bin/gmake red/bootstrap.img; \              if test -f red/bootstrap.img; then /usr/bin/gmake reduce; fi; \         else /usr/bin/gmake reduce; fi
        /home/osman/reduce-algebra/trunk/psl/bootstrap.sh x86_64-unknown-ubuntu8.04
        ++++++ Build initial bootstrap system ++++++
        GETHEAP: Cannot allocate memory
        Bootstrap reduce built

        I have 1GB RAM 1G of swap.

        -osman

         
        • Arthur Norman
          Arthur Norman
          2009-04-20

          How much memory do you have in your computer? The 64-bit version MAY have its default Makefile set up assuming that people who run the 64-bit version will have big machines! If you check the Makefile in pslbuild/x86_64* you will probably find that it chains to the file .../trunk/psl/build.sh whihc sets STORE=2000 (also see coremodule.sh and noncoremodule.sh there which do the same).

          Now I am NOT the PSL wizard so I do not know how much you can safely reduce that number by. It is there because that was what was present in an earlier world where (perhaps) only people with huge computers used the 64-bit variant and members of the general public did not rebuild it! So maybe the PSL experts will join in and respond some more, but you could TRY adjusting the STORE setting in those three files...
              Arthur

           
          • I had to edit:

            psl/bootstrap.sh
            psl/build.sh
            psl/coremodule.sh
            psl/noncoremodule.sh
            psl/reduce.img.sh

            bin/redspl

            now it is working. I set the STORE to 800.

            Thanks for your help.

            -osman

             
            • Arthur Norman
              Arthur Norman
              2009-04-21

              OK, I put in some updates. My use of autoconf stuff had tried to detect if "-m32" would be accepted by the compiler flag, but had in fact just checked if things would compile - I have upgraded that to check if they link too, so that should now survice lack of multilib better. Thanks again for detecting that and apologies for the pain.

              I reduced the memory setting in the build scripts in the psl directory to a level that the real PSL guru says should suffice.

              I have NOT yet adjusted bin/redpsl because some people will really need lots of memory to run their application, so setting a small default would hurt them. I SEEM to find that when I run on a (virtual) compuyter with 1G of memory that I can use "-td 1000" and on a computer with 2G the value in the script of 2000 is OK.  I also HOPE that if you launch reduce using
                 bin/redpsl -td nnnn
              then at least on non-windows platforms (?) the memory you specify there explictly will override any default.

              Thanks for your patience!  Arthur