Numeric compiling problem under QNX 4.25

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • ZMY

    #1

    Numeric compiling problem under QNX 4.25

    Dear all,

    I am a real newbie for both python and QNX, but I am still trying to
    compile Numeric-24.2 under QNX4.25 with python 2.2. I got following
    error message:


    $ sudo python setup.py install
    Password:
    running install
    ....
    building '_numpy' extension
    skipping Src/_numpymodule.c (build/temp.qnx-O-PCI-2.2/_numpymodule.o
    up-to-date)
    skipping Src/arrayobject.c (build/temp.qnx-O-PCI-2.2/arrayobject.o up-
    to-date)
    skipping Src/ufuncobject.c (build/temp.qnx-O-PCI-2.2/ufuncobject.o up-
    to-date)
    ld build/temp.qnx-O-PCI-2.2/_numpymodule.o build/temp.qnx-O-PCI-2.2/
    arrayobject.o build/temp.qnx-O-PCI-2.2/ufuncobject.o -o build/lib.qnx-
    O-PCI-2.2/_numpy.so
    unable to execute ld: No such file or directory
    error: command 'ld' failed with exit status 1



    I looked at directory /build/temp.qnx-O-PCI-2.2/ and found following
    object files:

    _numpymodule.o, arrayobject.o, ufuncobject.o

    So it looks that ld got all files before linking them - or is it??

    Thanks a lot for any suggestions,

    - ZMY

  • bernhard.voigt@gmail.com

    #2
    Re: Numeric compiling problem under QNX 4.25

    Hi,

    unfortunately I don't have a solution. However, if you're not forced
    to use Python2.2 and Numeric you should use Numpy (the successor for
    both, Numeric and Numarray). Numpy requires Python2.3, though.

    Bernhard


    On Apr 3, 7:32 am, "ZMY" <zhonghua.m.y.. .@gmail.comwrot e:
    Dear all,
    >
    I am a real newbie for both python and QNX, but I am still trying to
    compile Numeric-24.2 under QNX4.25 with python 2.2. I got following
    error message:
    >
    $ sudo python setup.py install
    Password:
    running install
    ...
    building '_numpy' extension
    skipping Src/_numpymodule.c (build/temp.qnx-O-PCI-2.2/_numpymodule.o
    up-to-date)
    skipping Src/arrayobject.c (build/temp.qnx-O-PCI-2.2/arrayobject.o up-
    to-date)
    skipping Src/ufuncobject.c (build/temp.qnx-O-PCI-2.2/ufuncobject.o up-
    to-date)
    ld build/temp.qnx-O-PCI-2.2/_numpymodule.o build/temp.qnx-O-PCI-2.2/
    arrayobject.o build/temp.qnx-O-PCI-2.2/ufuncobject.o -o build/lib.qnx-
    O-PCI-2.2/_numpy.so
    unable to execute ld: No such file or directory
    error: command 'ld' failed with exit status 1
    >
    I looked at directory /build/temp.qnx-O-PCI-2.2/ and found following
    object files:
    >
    _numpymodule.o, arrayobject.o, ufuncobject.o
    >
    So it looks that ld got all files before linking them - or is it??
    >
    Thanks a lot for any suggestions,
    >
    - ZMY

    Comment

    • Robert Kern

      #3
      Re: Numeric compiling problem under QNX 4.25

      bernhard.voigt@ gmail.com wrote:
      Hi,
      >
      unfortunately I don't have a solution. However, if you're not forced
      to use Python2.2 and Numeric you should use Numpy (the successor for
      both, Numeric and Numarray). Numpy requires Python2.3, though.
      He's already asked about numpy. He is stuck with 2.2.

      --
      Robert Kern

      "I have come to believe that the whole world is an enigma, a harmless enigma
      that is made terrible by our own mad attempt to interpret it as though it had
      an underlying truth."
      -- Umberto Eco

      Comment

      • Robert Kern

        #4
        Re: Numeric compiling problem under QNX 4.25

        ZMY wrote:
        Dear all,
        >
        I am a real newbie for both python and QNX, but I am still trying to
        compile Numeric-24.2 under QNX4.25 with python 2.2. I got following
        error message:
        >
        >
        $ sudo python setup.py install
        Password:
        running install
        ...
        building '_numpy' extension
        skipping Src/_numpymodule.c (build/temp.qnx-O-PCI-2.2/_numpymodule.o
        up-to-date)
        skipping Src/arrayobject.c (build/temp.qnx-O-PCI-2.2/arrayobject.o up-
        to-date)
        skipping Src/ufuncobject.c (build/temp.qnx-O-PCI-2.2/ufuncobject.o up-
        to-date)
        ld build/temp.qnx-O-PCI-2.2/_numpymodule.o build/temp.qnx-O-PCI-2.2/
        arrayobject.o build/temp.qnx-O-PCI-2.2/ufuncobject.o -o build/lib.qnx-
        O-PCI-2.2/_numpy.so
        unable to execute ld: No such file or directory
        error: command 'ld' failed with exit status 1
        It looks like it can't find the command ld. Can you compile any other extension
        modules?

        --
        Robert Kern

        "I have come to believe that the whole world is an enigma, a harmless enigma
        that is made terrible by our own mad attempt to interpret it as though it had
        an underlying truth."
        -- Umberto Eco

        Comment

        • ZMY

          #5
          Re: Numeric compiling problem under QNX 4.25

          On Apr 3, 10:22 am, Robert Kern <robert.k...@gm ail.comwrote:
          ZMY wrote:
          Dear all,
          >
          I am a real newbie for both python and QNX, but I am still trying to
          compile Numeric-24.2 under QNX4.25 with python 2.2. I got following
          error message:
          >
          $ sudo python setup.py install
          Password:
          running install
          ...
          building '_numpy' extension
          skipping Src/_numpymodule.c (build/temp.qnx-O-PCI-2.2/_numpymodule.o
          up-to-date)
          skipping Src/arrayobject.c (build/temp.qnx-O-PCI-2.2/arrayobject.o up-
          to-date)
          skipping Src/ufuncobject.c (build/temp.qnx-O-PCI-2.2/ufuncobject.o up-
          to-date)
          ld build/temp.qnx-O-PCI-2.2/_numpymodule.o build/temp.qnx-O-PCI-2.2/
          arrayobject.o build/temp.qnx-O-PCI-2.2/ufuncobject.o -o build/lib.qnx-
          O-PCI-2.2/_numpy.so
          unable to execute ld: No such file or directory
          error: command 'ld' failed with exit status 1
          >
          It looks like it can't find the command ld. Can you compile any other extension
          modules?
          >
          --
          Robert Kern
          >
          "I have come to believe that the whole world is an enigma, a harmless enigma
          that is made terrible by our own mad attempt to interpret it as though it had
          an underlying truth."
          -- Umberto Eco
          Is "ld" part of make command? I am not familiar with compiling with
          make in general.

          Most other extensions (including math, os, struct, cPickle) from
          Python 2.2 works when I install python on QNX.

          Thanks a lot to all of you.

          -ZMY

          Comment

          • Robert Kern

            #6
            Re: Numeric compiling problem under QNX 4.25

            ZMY wrote:
            Is "ld" part of make command? I am not familiar with compiling with
            make in general.
            No, it's the linker. I takes the object files (.o) which are generated by the
            compiler (cc, I imagine) and links them together into the shared library (.so).
            make is a program that can automate builds given instructions, but Numeric
            doesn't use it, nor do most other Python packages.
            Most other extensions (including math, os, struct, cPickle) from
            Python 2.2 works when I install python on QNX.
            No, I was wondering if you could build any other third-party extension modules.
            Did you install Python from source? When building extension modules, Python uses
            whatever linker was used to build itself.

            --
            Robert Kern

            "I have come to believe that the whole world is an enigma, a harmless enigma
            that is made terrible by our own mad attempt to interpret it as though it had
            an underlying truth."
            -- Umberto Eco

            Comment

            • John Nagle

              #7
              Re: Numeric compiling problem under QNX 4.25

              ZMY wrote:
              Dear all,
              >
              I am a real newbie for both python and QNX, but I am still trying to
              compile Numeric-24.2 under QNX4.25 with python 2.2.
              If you're new to QNX, why are you running QNX 4? That's for legacy
              systems only. Move up to QNX 6, which has been out for ten years now.

              John Nagle

              Comment

              • ZMY

                #8
                Re: Numeric compiling problem under QNX 4.25

                On Apr 3, 10:51 am, Robert Kern <robert.k...@gm ail.comwrote:
                ZMY wrote:
                Is "ld" part of make command? I am not familiar with compiling with
                make in general.
                >
                No, it's the linker. I takes the object files (.o) which are generated by the
                compiler (cc, I imagine) and links them together into the shared library (.so).
                make is a program that can automate builds given instructions, but Numeric
                doesn't use it, nor do most other Python packages.
                >
                Most other extensions (including math, os, struct, cPickle) from
                Python 2.2 works when I install python on QNX.
                >
                No, I was wondering if you could build any other third-party extension modules.
                Did you install Python from source? When building extension modules, Python uses
                whatever linker was used to build itself.
                >
                --
                Robert Kern
                >
                "I have come to believe that the whole world is an enigma, a harmless enigma
                that is made terrible by our own mad attempt to interpret it as though it had
                an underlying truth."
                -- Umberto E
                Dear Robert,

                Looks like you are right. Here is what I got when I compile the
                Python2.2 from source (or I believe so):

                $ sudo make SHELL=/usr/local/bin/bash
                Password:
                case $MAKEFLAGS in \
                *-s*) CC='cc' LDSHARED='ld' OPT='-DNDEBUG -O' ./python -E //6/openqnx/
                Python-2.2/setup.py -q build;; \
                *) CC='cc' LDSHARED='ld' OPT='-DNDEBUG -O' ./python -E //6/openqnx/
                Python-2.2/setup.py build;; \
                esac
                running build
                running build_ext
                building 'regex' extension
                skipping //6/openqnx/Python-2.2/Modules/regexmodule.c (build/temp.qnx-
                O-PCI-2.2/regexmodule.o up-to-date)
                skipping //6/openqnx/Python-2.2/Modules/regexpr.c (build/temp.qnx-O-
                PCI-2.2/regexpr.o up-to-date)
                ld build/temp.qnx-O-PCI-2.2/regexmodule.o build/temp.qnx-O-PCI-2.2/
                regexpr.o -L/usr/local/lib -o build/lib.qnx-O-PCI-2.2/regex.so
                unable to execute ld: No such file or directory
                .....

                If there is no 'ld' linker, what should be used instead??

                BTW, the reason I am still using QNX4.25 is because I was trying to
                install python on this legacy system. We can't move to QNX6 unless we
                want to redo all other code as well, which took 3 years of a good
                programmer :-(

                - ZMY

                Comment

                • ZMY

                  #9
                  Re: Numeric compiling problem under QNX 4.25

                  On Apr 3, 1:33 pm, "ZMY" <zhonghua.m.y.. .@gmail.comwrot e:
                  On Apr 3, 10:51 am, Robert Kern <robert.k...@gm ail.comwrote:
                  >
                  >
                  >
                  ZMYwrote:
                  Is "ld" part of make command? I am not familiar with compiling with
                  make in general.
                  >
                  No, it's the linker. I takes the object files (.o) which are generated by the
                  compiler (cc, I imagine) and links them together into the shared library (.so).
                  make is a program that can automate builds given instructions, but Numeric
                  doesn't use it, nor do most other Python packages.
                  >
                  Most other extensions (including math, os, struct, cPickle) from
                  Python 2.2 works when I install python on QNX.
                  >
                  No, I was wondering if you could build any other third-party extension modules.
                  Did you install Python from source? When building extension modules, Python uses
                  whatever linker was used to build itself.
                  >
                  --
                  Robert Kern
                  >
                  "I have come to believe that the whole world is an enigma, a harmless enigma
                  that is made terrible by our own mad attempt to interpret it as though it had
                  an underlying truth."
                  -- Umberto E
                  >
                  Dear Robert,
                  >
                  Looks like you are right. Here is what I got when I compile the
                  Python2.2 from source (or I believe so):
                  >
                  $ sudo make SHELL=/usr/local/bin/bash
                  Password:
                  case $MAKEFLAGS in \
                  *-s*) CC='cc' LDSHARED='ld' OPT='-DNDEBUG -O' ./python -E //6/openqnx/
                  Python-2.2/setup.py -q build;; \
                  *) CC='cc' LDSHARED='ld' OPT='-DNDEBUG -O' ./python -E //6/openqnx/
                  Python-2.2/setup.py build;; \
                  esac
                  running build
                  running build_ext
                  building 'regex' extension
                  skipping //6/openqnx/Python-2.2/Modules/regexmodule.c (build/temp.qnx-
                  O-PCI-2.2/regexmodule.o up-to-date)
                  skipping //6/openqnx/Python-2.2/Modules/regexpr.c (build/temp.qnx-O-
                  PCI-2.2/regexpr.o up-to-date)
                  ld build/temp.qnx-O-PCI-2.2/regexmodule.o build/temp.qnx-O-PCI-2.2/
                  regexpr.o -L/usr/local/lib -o build/lib.qnx-O-PCI-2.2/regex.so
                  unable to execute ld: No such file or directory
                  ....
                  >
                  If there is no 'ld' linker, what should be used instead??
                  >
                  BTW, the reason I am still using QNX4.25 is because I was trying to
                  install python on this legacy system. We can't move to QNX6 unless we
                  want to redo all other code as well, which took 3 years of a good
                  programmer :-(
                  >
                  -ZMY
                  I have tried to use Watcom linker 'wlink' in QNX instead of the 'ld'
                  linker, but I still got problem with _numpymodule.o

                  Do you have any experience with this??

                  ....
                  building '_numpy' extension
                  cc -DNDEBUG -O -IInclude -IPackages/FFT/Include -IPackages/RNG/Include
                  -I/usr/local/include/python2.2 -c Src/_numpymodule.c -o build/temp.qnx-
                  O-PCI-2.2/_numpymodule.o
                  /usr/watcom/10.6/bin/wcc386 -zq -d+ -dNDEBUG -oil -i=Include -
                  i=Packages/FFT/Include -i=Packages/RNG/Include -i=/usr/local/include/
                  python2.2 -ms -fo=build/temp.qnx-O-PCI-2.2/_numpymodule.o -4r -i=/usr/
                  watcom/10.6/usr/include -i=/usr/include Src/_numpymodule.c
                  cc -DNDEBUG -O -IInclude -IPackages/FFT/Include -IPackages/RNG/Include
                  -I/usr/local/include/python2.2 -c Src/arrayobject.c -o build/temp.qnx-
                  O-PCI-2.2/arrayobject.o
                  /usr/watcom/10.6/bin/wcc386 -zq -d+ -dNDEBUG -oil -i=Include -
                  i=Packages/FFT/Include -i=Packages/RNG/Include -i=/usr/local/include/
                  python2.2 -ms -fo=build/temp.qnx-O-PCI-2.2/arrayobject.o -4r -i=/usr/
                  watcom/10.6/usr/include -i=/usr/include Src/arrayobject.c
                  Src/arrayobject.c(5 27): Warning! W124: Comparison result always 0
                  cc -DNDEBUG -O -IInclude -IPackages/FFT/Include -IPackages/RNG/Include
                  -I/usr/local/include/python2.2 -c Src/ufuncobject.c -o build/temp.qnx-
                  O-PCI-2.2/ufuncobject.o
                  /usr/watcom/10.6/bin/wcc386 -zq -d+ -dNDEBUG -oil -i=Include -
                  i=Packages/FFT/Include -i=Packages/RNG/Include -i=/usr/local/include/
                  python2.2 -ms -fo=build/temp.qnx-O-PCI-2.2/ufuncobject.o -4r -i=/usr/
                  watcom/10.6/usr/include -i=/usr/include Src/ufuncobject.c
                  wlink build/temp.qnx-O-PCI-2.2/_numpymodule.o build/temp.qnx-O-PCI-2.2/
                  arrayobject.o build/temp.qnx-O-PCI-2.2/ufuncobject.o -o build/lib.qnx-
                  O-PCI-2.2/_numpy.so
                  WATCOM Linker Version 10.6
                  Copyright by WATCOM International Corp. 1985, 1996. All rights
                  reserved.
                  WATCOM is a trademark of WATCOM International Corp.
                  Error(3033): directive error near 'build/temp.qnx-O-PCI-2.2/
                  _numpymodule.o'
                  error: command 'wlink' failed with exit status 1


                  Comment

                  • Robert Kern

                    #10
                    Re: Numeric compiling problem under QNX 4.25

                    ZMY wrote:
                    On Apr 3, 10:51 am, Robert Kern <robert.k...@gm ail.comwrote:
                    >ZMY wrote:
                    >>Is "ld" part of make command? I am not familiar with compiling with
                    >>make in general.
                    >No, it's the linker. I takes the object files (.o) which are generated by the
                    >compiler (cc, I imagine) and links them together into the shared library (.so).
                    >make is a program that can automate builds given instructions, but Numeric
                    >doesn't use it, nor do most other Python packages.
                    >>
                    >>Most other extensions (including math, os, struct, cPickle) from
                    >>Python 2.2 works when I install python on QNX.
                    >No, I was wondering if you could build any other third-party extension modules.
                    >Did you install Python from source? When building extension modules, Python uses
                    >whatever linker was used to build itself.
                    >>
                    >--
                    >Robert Kern
                    >>
                    >"I have come to believe that the whole world is an enigma, a harmless enigma
                    > that is made terrible by our own mad attempt to interpret it as though it had
                    > an underlying truth."
                    > -- Umberto E
                    >
                    Dear Robert,
                    >
                    Looks like you are right. Here is what I got when I compile the
                    Python2.2 from source (or I believe so):
                    >
                    $ sudo make SHELL=/usr/local/bin/bash
                    Password:
                    case $MAKEFLAGS in \
                    *-s*) CC='cc' LDSHARED='ld' OPT='-DNDEBUG -O' ./python -E //6/openqnx/
                    Python-2.2/setup.py -q build;; \
                    *) CC='cc' LDSHARED='ld' OPT='-DNDEBUG -O' ./python -E //6/openqnx/
                    Python-2.2/setup.py build;; \
                    esac
                    running build
                    running build_ext
                    building 'regex' extension
                    skipping //6/openqnx/Python-2.2/Modules/regexmodule.c (build/temp.qnx-
                    O-PCI-2.2/regexmodule.o up-to-date)
                    skipping //6/openqnx/Python-2.2/Modules/regexpr.c (build/temp.qnx-O-
                    PCI-2.2/regexpr.o up-to-date)
                    ld build/temp.qnx-O-PCI-2.2/regexmodule.o build/temp.qnx-O-PCI-2.2/
                    regexpr.o -L/usr/local/lib -o build/lib.qnx-O-PCI-2.2/regex.so
                    unable to execute ld: No such file or directory
                    ....
                    >
                    If there is no 'ld' linker, what should be used instead??
                    I don't know. I've never used QNX. It looks like the Python binaries were built
                    with a linker that you don't have on your system. Usually, you have to use the
                    same compiler/linker combination to build extension modules that you used to
                    build Python itself.

                    --
                    Robert Kern

                    "I have come to believe that the whole world is an enigma, a harmless enigma
                    that is made terrible by our own mad attempt to interpret it as though it had
                    an underlying truth."
                    -- Umberto Eco

                    Comment

                    • ZMY

                      #11
                      Re: Numeric compiling problem under QNX 4.25

                      On Apr 3, 2:52 pm, Robert Kern <robert.k...@gm ail.comwrote:
                      ZMY wrote:
                      On Apr 3, 10:51 am, Robert Kern <robert.k...@gm ail.comwrote:
                      ZMY wrote:
                      >Is "ld" part of make command? I am not familiar with compiling with
                      >make in general.
                      No, it's the linker. I takes the object files (.o) which are generated by the
                      compiler (cc, I imagine) and links them together into the shared library (.so).
                      make is a program that can automate builds given instructions, but Numeric
                      doesn't use it, nor do most other Python packages.
                      >
                      >Most other extensions (including math, os, struct, cPickle) from
                      >Python 2.2 works when I install python on QNX.
                      No, I was wondering if you could build any other third-party extension modules.
                      Did you install Python from source? When building extension modules, Python uses
                      whatever linker was used to build itself.
                      >
                      --
                      Robert Kern
                      >
                      "I have come to believe that the whole world is an enigma, a harmless enigma
                      that is made terrible by our own mad attempt to interpret it as though it had
                      an underlying truth."
                      -- Umberto E
                      >
                      Dear Robert,
                      >
                      Looks like you are right. Here is what I got when I compile the
                      Python2.2 from source (or I believe so):
                      >
                      $ sudo make SHELL=/usr/local/bin/bash
                      Password:
                      case $MAKEFLAGS in \
                      *-s*) CC='cc' LDSHARED='ld' OPT='-DNDEBUG -O' ./python -E //6/openqnx/
                      Python-2.2/setup.py -q build;; \
                      *) CC='cc' LDSHARED='ld' OPT='-DNDEBUG -O' ./python -E //6/openqnx/
                      Python-2.2/setup.py build;; \
                      esac
                      running build
                      running build_ext
                      building 'regex' extension
                      skipping //6/openqnx/Python-2.2/Modules/regexmodule.c (build/temp.qnx-
                      O-PCI-2.2/regexmodule.o up-to-date)
                      skipping //6/openqnx/Python-2.2/Modules/regexpr.c (build/temp.qnx-O-
                      PCI-2.2/regexpr.o up-to-date)
                      ld build/temp.qnx-O-PCI-2.2/regexmodule.o build/temp.qnx-O-PCI-2.2/
                      regexpr.o -L/usr/local/lib -o build/lib.qnx-O-PCI-2.2/regex.so
                      unable to execute ld: No such file or directory
                      ....
                      >
                      If there is no 'ld' linker, what should be used instead??
                      >
                      I don't know. I've never used QNX. It looks like the Python binaries were built
                      with a linker that you don't have on your system. Usually, you have to use the
                      same compiler/linker combination to build extension modules that you used to
                      build Python itself.
                      >
                      --
                      Robert Kern
                      >
                      "I have come to believe that the whole world is an enigma, a harmless enigma
                      that is made terrible by our own mad attempt to interpret it as though it had
                      an underlying truth."
                      -- Umberto Eco
                      Dear All,

                      I finally figured out how to install Numeric Python on QNX4. To my
                      understanding of a QNX programmer's lecture, the problem of QNX4 is
                      that it doesn't support dynamic linking, so the linker can't link the
                      new compiled object files with existing python binary. The new module
                      must be built together with python itself.

                      What I did was:

                      1) copy every file in /Lib, /Src, /Include from Numeric/ into the
                      corresponding directories in /openqnx/Python2.2/ (I put *object files
                      in /Object)

                      2) change Modules/Setup to include following (ranlib and arraytypes
                      don't work, but I got modules I need)

                      _numpy _numpymodule.c arrayobject.c ufuncobject.c
                      #ranlib ranlibmodule.c ranlib.c
                      umath umathmodule.c
                      multiarray multiarraymodul e.c
                      # arraytypes arraytypes.c
                      arrayfns arrayfnsmodule. c

                      3) install from source by make


                      Thanks a lot for all your help again!

                      Comment

                      • Robert Kern

                        #12
                        Re: Numeric compiling problem under QNX 4.25

                        ZMY wrote:
                        I finally figured out how to install Numeric Python on QNX4. To my
                        understanding of a QNX programmer's lecture, the problem of QNX4 is
                        that it doesn't support dynamic linking, so the linker can't link the
                        new compiled object files with existing python binary. The new module
                        must be built together with python itself.
                        Ouch! Well, I'm glad you found a way to get going. If you have more problems,
                        please join us on numpy-discussion, where you will find more people who have
                        experience with Numeric than here. Just be sure to state up front that you need
                        to use Numeric because you are on Python 2.2 to hold off the inevitable, "you
                        should really migrate to numpy," spiel.



                        --
                        Robert Kern

                        "I have come to believe that the whole world is an enigma, a harmless enigma
                        that is made terrible by our own mad attempt to interpret it as though it had
                        an underlying truth."
                        -- Umberto Eco

                        Comment

                        Working...