Find the answer to your Linux question:
Results 1 to 3 of 3
Greetings all, I am a newbie. I am trying to install a program and it spews out an error about the .obj/matrix.o file. The output is quoted here: Code: g++ ...
  1. #1
    Just Joined!
    Join Date
    Feb 2011
    Location
    Canada
    Posts
    10

    [SOLVED]make: *** [.obj/matrix.o] Error during installing a program

    Greetings all,

    I am a newbie. I am trying to install a program and it spews out an error about the .obj/matrix.o file.

    The output is quoted here:

    Code:
    g++ -c -m64 -pipe -g -Wall -W -D_REENTRANT -DGRASPIT_COLLISION -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/lib64/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/Qt3Support -I/usr/include -I/usr/include/QtAssistantClient -I/usr/include/QtAssistant -I/usr/lib64/qt4/include -I/usr/local/Coin/include -Iqhull -Isrc -Isrc/Collision -Iinclude -Iinclude/math -Iinclude/Planner -Iinclude/EGPlanner -Iui -Iui/Planner -Iui/EGPlanner -Isrc/Collision/Graspit -Iui -Iui/Planner -Iui/EGPlanner -Itinyxml -I.moc -Iui -o .obj/matrix.o src/math/matrix.cpp
    In file included from src/math/matrix.cpp:26:
    include/math/matrix.h:114: error: ‘stderr’ was not declared in this scope
    src/math/matrix.cpp: In member function ‘int Matrix::rank() const’:
    src/math/matrix.cpp:349: warning: deprecated conversion from string constant to ‘char*’
    src/math/matrix.cpp:349: warning: deprecated conversion from string constant to ‘char*’
    src/math/matrix.cpp: In function ‘int underDeterminedSolveSVD(Matrix&, Matrix&, Matrix&)’:
    src/math/matrix.cpp:667: warning: deprecated conversion from string constant to ‘char*’
    src/math/matrix.cpp:667: warning: deprecated conversion from string constant to ‘char*’
    src/math/matrix.cpp: In function ‘int underDeterminedSolveQR(Matrix&, Matrix&, Matrix&)’:
    src/math/matrix.cpp:764: warning: deprecated conversion from string constant to ‘char*’
    src/math/matrix.cpp:764: warning: deprecated conversion from string constant to ‘char*’
    src/math/matrix.cpp:764: warning: deprecated conversion from string constant to ‘char*’
    src/math/matrix.cpp: At global scope:
    src/math/matrix.cpp:849: warning: unused parameter ‘objVal’
    src/math/matrix.cpp: In function ‘void testQP()’:
    src/math/matrix.cpp:964: warning: unused variable ‘objVal’
    src/math/matrix.cpp: At global scope:
    src/math/matrix.cpp:985: warning: unused parameter ‘objVal’
    make: *** [.obj/matrix.o] Error 1
    To be more specific, here lists more information:
    OS: RHEL 6 /64bit
    Kernel: 2.6.32-71.el6.x86_64
    Qt: Qt4
    The program I was trying to install is a robot simulator which performs lots of matrix manipulation and linear system solving. I followed every step in the installation guide, except for this one:
    On Ubuntu, all you need to do is install the following packages from the package manager:
    libblas-dev
    liblapack-dev
    As shown above, I am using RHEL 6, which has different libraries with Ubuntu. I tried "yum search" and installed these libraries instead:
    lapack.x86_64 : Numerical linear algebra package libraries
    blas.x86_64 : The Basic Linear Algebra Subprograms library

    For the last step, I issued make and got those errors. I searched online but found no related topics. I posted a thread in another forum but got no answers yet. Hope someone here would have some idea and give me some suggestions.

  2. #2
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
    Posts
    8,974
    This has nothing to do with the platform or any installed packages. It has to do with the fact that the matrix.h header file is referencing stderr which has not been defined. IE, you need to #include <stdio.h> in matrix.h so stderr is appropriately declared/defined.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

  3. #3
    Just Joined!
    Join Date
    Feb 2011
    Location
    Canada
    Posts
    10
    Quote Originally Posted by Rubberman View Post
    This has nothing to do with the platform or any installed packages. It has to do with the fact that the matrix.h header file is referencing stderr which has not been defined. IE, you need to #include <stdio.h> in matrix.h so stderr is appropriately declared/defined.
    Thank you for pointing out. I solved the error in a slightly different way with what you said. I added
    #include <cstdio>
    in matrix.h. And it worked.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
...