strange link error with gcc...

strange link error with gcc...

Post by NoMoR » Fri, 11 Jan 2002 21:27:43



Hi people,

I want to compile an app which uses SDL and OpenGL. When I want to
compile via make and get the follwing strange error... I really don't
know any further....

cSouse_Input.o: In function
`__malloc_alloc_template<0>::_S_oom_malloc(unsigned
int)':
cSouse_Input.o(.__malloc_alloc_template<0>::gnu.linkonce.t._S_oom_malloc(unsigned
int)+0x19): undefined reference to `endl(ostream &)'
cSouse_Input.o(.__malloc_alloc_template<0>::gnu.linkonce.t._S_oom_malloc(unsigned
int)+0x26): undefined reference to `cerr'
cSouse_Input.o(.__malloc_alloc_template<0>::gnu.linkonce.t._S_oom_malloc(unsigned
int)+0x2b): undefined reference to `ostream::operator<<(char const *)'
cSouse_Input.o(.__malloc_alloc_template<0>::gnu.linkonce.t._S_oom_malloc(unsigned
int)+0x36): undefined reference to `ostream::operator<<(ostream
&(*)(ostream &))'
collect2: ld returned 1 exit status

Here's the cSouse_Input Header-File:

//////////////////////////////////////////////////////////////////////////////////////
#ifndef CSOUSE_KEYBOARD_H
#define CSOUSE_KEYBOARD_H

#include <SDL/SDL.h>
#include <list>

using namespace std;

/*****************************************************
struct which holds key information
*****************************************************/
typedef struct sKeyEvent
{
        SDLKey  key;
        int             pressed;

} KeyEvent;

typedef list<KeyEvent> LISTKEYEVENTS;

class cSouse_Input
{
public:
        cSouse_Input();
        ~cSouse_Input();

        static  cSouse_Input*   getInstance();
        static  void                            delInstance();

        void                                            update();
        KeyEvent*                               getkey(SDLKey searchkey);
        int                                             getmousex();
        int                                             getmousey();
        int                                             getmousepressed();
        char*                                   getlastkey();
private:
        void                                            addkey(SDLKey key,int pressed);

        static cSouse_Input             *instance;

        LISTKEYEVENTS                   lKeyEvents;

        int                                             mousex,mousey;
        int                                             mouse_pressed;
        char                                    clastkey[10];

};

#endif

//////////////////////////////////////////////////////////////////////////////////////

Here's also the makefile... I hope someone knows what's getting wrong:

#######################################################################################################
# SOUSE Technology Demo makefile
#######################################################################################################
all: souse

souse:   main.o cSouse_System.o cSouse_TexMan.o cSouse_Input.o
cSouse_Camera.o\
                cSouse_RenderSys.o cSouse_Util.o cSouse_Model.o cSouse_BaseEntity.o\
                cSouse_RenderSys_ModelModul.o GLFont.o cSouse_IDCounter.o
cSouse_ModelEntity.o\
                ImageGL.o Error.o ImageTarga.o Utility.o

                gcc main.o cSouse_System.o cSouse_TexMan.o cSouse_Input.o
cSouse_Camera.o\
                cSouse_RenderSys.o cSouse_Util.o cSouse_Model.o cSouse_BaseEntity.o\
                cSouse_RenderSys_ModelModul.o GLFont.o cSouse_IDCounter.o
cSouse_ModelEntity.o\
                ImageGL.o Error.o ImageTarga.o Utility.o\
                -o ./bin/test -lpthread -lSDL -lSDL_image -lGL -lGLU -L/usr/lib
-L/usr/X11R6/lib

main.o: ./souse/main.cpp
        gcc -c ./souse/main.cpp

#################
#####Systemklasse
cSouse_System.o: ./souse/cSouse_System.h ./souse/cSouse_System.cpp
                                g++ -c ./souse/cSouse_System.cpp

#################
#####TexturManager
cSouse_TexMan.o: ./souse/cSouse_TexMan.h ./souse/cSouse_TexMan.cpp
                                g++ -c ./souse/cSouse_TexMan.cpp

#################
#####Inputklasse
cSouse_Input.o: ./souse/cSouse_Input.h ./souse/cSouse_Input.cpp
                                g++ -c ./souse/cSouse_Input.cpp

#################
#####Kameraklasse
cSouse_Camera.o: ./souse/cSouse_Camera.h ./souse/cSouse_Camera.cpp
                                g++ -c ./souse/cSouse_Camera.cpp

#################
#####RenderSystem
cSouse_RenderSys.o: ./souse/cSouse_RenderSys.h
./souse/cSouse_RenderSys.cpp
                                g++ -c ./souse/cSouse_RenderSys.cpp

#################
#####UtilityKlasse
cSouse_Util.o: ./souse/cSouse_Util.h ./souse/cSouse_Util.cpp
                                g++ -c ./souse/cSouse_Util.cpp

#################
#####ModelKlasse
cSouse_Model.o: ./souse/cSouse_Model.h ./souse/cSouse_Model.cpp
                                g++ -c ./souse/cSouse_Model.cpp

#################
#####BasisEntity
cSouse_BaseEntity.o: ./souse/cSouse_BaseEntity.h
./souse/cSouse_BaseEntity.cpp
                                g++ -c ./souse/cSouse_BaseEntity.cpp

#################
#####RenderSys ModelModul
cSouse_RenderSys_ModelModul.o: ./souse/cSouse_RenderSys_ModelModul.h
./souse/cSouse_RenderSys_ModelModul.cpp
                                g++ -c ./souse/cSouse_RenderSys_ModelModul.cpp

#################
#####GLFont
GLFont.o: ./souse/GLFont.cpp ./souse/GLFont.cpp
                                g++ -c ./souse/GLFont.cpp

#################
#####ID Counter
cSouse_IDCounter.o: ./souse/cSouse_IDCounter.h
./souse/cSouse_IDCounter.cpp
                                g++ -c ./souse/cSouse_IDCounter.cpp

#################
#####ModelEntity
cSouse_ModelEntity.o: ./souse/cSouse_ModelEntity.h
./souse/cSouse_ModelEntity.cpp
                                g++ -c ./souse/cSouse_ModelEntity.cpp

#################
#####ImageGL
ImageGL.o: ./souse/ImageGL.h ./souse/ImageGL.h ./souse/ImageGL.cpp
                                g++ -c ./souse/ImageGL.cpp

#################
#####Error
Error.o: ./souse/Error.h ./souse/Error.h
                                g++ -c ./souse/Error.cpp

#################
#####ImageTarga
ImageTarga.o: ./souse/ImageTarga.h ./souse/ImageTarga.cpp
                                g++ -c ./souse/ImageTarga.cpp

#################
#####Utility
Utility.o: ./souse/Utility.h ./souse/Utility.cpp
                                g++ -c ./souse/Utility.cpp

Sorry for this very long posting but I really need help.

Bye,
     NoMoRe@

 
 
 

strange link error with gcc...

Post by D. Stimit » Sat, 12 Jan 2002 16:24:42


"NoMoRe@" wrote:

> Hi people,

> I want to compile an app which uses SDL and OpenGL. When I want to
> compile via make and get the follwing strange error... I really don't
> know any further....

> cSouse_Input.o: In function
> `__malloc_alloc_template<0>::_S_oom_malloc(unsigned
> int)':
> cSouse_Input.o(.__malloc_alloc_template<0>::gnu.linkonce.t._S_oom_malloc(unsigned
> int)+0x19): undefined reference to `endl(ostream &)'
> cSouse_Input.o(.__malloc_alloc_template<0>::gnu.linkonce.t._S_oom_malloc(unsigned
> int)+0x26): undefined reference to `cerr'
> cSouse_Input.o(.__malloc_alloc_template<0>::gnu.linkonce.t._S_oom_malloc(unsigned
> int)+0x2b): undefined reference to `ostream::operator<<(char const *)'
> cSouse_Input.o(.__malloc_alloc_template<0>::gnu.linkonce.t._S_oom_malloc(unsigned
> int)+0x36): undefined reference to `ostream::operator<<(ostream
> &(*)(ostream &))'
> collect2: ld returned 1 exit status

You can get the endl via iostream. Try adding to this file, probably
prior to <SDL/SDL.h>, but maybe it will work after:
#include <iostream>

(there are places it can go other than directly in the header, such as
in a source file that includes the header, just prior to this particular
file being included)

D. Stimits, stim...@idcomm.com

- Show quoted text -

> Here's the cSouse_Input Header-File:

> //////////////////////////////////////////////////////////////////////////////////////
> #ifndef CSOUSE_KEYBOARD_H
> #define CSOUSE_KEYBOARD_H

> #include <SDL/SDL.h>
> #include <list>

> using namespace std;

> /*****************************************************
> struct which holds key information
> *****************************************************/
> typedef struct sKeyEvent
> {
>         SDLKey  key;
>         int             pressed;
> } KeyEvent;

> typedef list<KeyEvent> LISTKEYEVENTS;

> class cSouse_Input
> {
> public:
>         cSouse_Input();
>         ~cSouse_Input();

>         static  cSouse_Input*   getInstance();
>         static  void                            delInstance();

>         void                                            update();
>         KeyEvent*                               getkey(SDLKey searchkey);
>         int                                             getmousex();
>         int                                             getmousey();
>         int                                             getmousepressed();
>         char*                                   getlastkey();
> private:
>         void                                            addkey(SDLKey key,int pressed);

>         static cSouse_Input             *instance;

>         LISTKEYEVENTS                   lKeyEvents;

>         int                                             mousex,mousey;
>         int                                             mouse_pressed;
>         char                                    clastkey[10];
> };
> #endif

> //////////////////////////////////////////////////////////////////////////////////////

> Here's also the makefile... I hope someone knows what's getting wrong:

> #######################################################################################################
> # SOUSE Technology Demo makefile
> #######################################################################################################
> all: souse

> souse:   main.o cSouse_System.o cSouse_TexMan.o cSouse_Input.o
> cSouse_Camera.o\
>                 cSouse_RenderSys.o cSouse_Util.o cSouse_Model.o cSouse_BaseEntity.o\
>                 cSouse_RenderSys_ModelModul.o GLFont.o cSouse_IDCounter.o
> cSouse_ModelEntity.o\
>                 ImageGL.o Error.o ImageTarga.o Utility.o

>                 gcc main.o cSouse_System.o cSouse_TexMan.o cSouse_Input.o
> cSouse_Camera.o\
>                 cSouse_RenderSys.o cSouse_Util.o cSouse_Model.o cSouse_BaseEntity.o\
>                 cSouse_RenderSys_ModelModul.o GLFont.o cSouse_IDCounter.o
> cSouse_ModelEntity.o\
>                 ImageGL.o Error.o ImageTarga.o Utility.o\
>                 -o ./bin/test -lpthread -lSDL -lSDL_image -lGL -lGLU -L/usr/lib
> -L/usr/X11R6/lib

> main.o: ./souse/main.cpp
>         gcc -c ./souse/main.cpp

> #################
> #####Systemklasse
> cSouse_System.o: ./souse/cSouse_System.h ./souse/cSouse_System.cpp
>                                 g++ -c ./souse/cSouse_System.cpp

> #################
> #####TexturManager
> cSouse_TexMan.o: ./souse/cSouse_TexMan.h ./souse/cSouse_TexMan.cpp
>                                 g++ -c ./souse/cSouse_TexMan.cpp

> #################
> #####Inputklasse
> cSouse_Input.o: ./souse/cSouse_Input.h ./souse/cSouse_Input.cpp
>                                 g++ -c ./souse/cSouse_Input.cpp

> #################
> #####Kameraklasse
> cSouse_Camera.o: ./souse/cSouse_Camera.h ./souse/cSouse_Camera.cpp
>                                 g++ -c ./souse/cSouse_Camera.cpp

> #################
> #####RenderSystem
> cSouse_RenderSys.o: ./souse/cSouse_RenderSys.h
> ./souse/cSouse_RenderSys.cpp
>                                 g++ -c ./souse/cSouse_RenderSys.cpp

> #################
> #####UtilityKlasse
> cSouse_Util.o: ./souse/cSouse_Util.h ./souse/cSouse_Util.cpp
>                                 g++ -c ./souse/cSouse_Util.cpp

> #################
> #####ModelKlasse
> cSouse_Model.o: ./souse/cSouse_Model.h ./souse/cSouse_Model.cpp
>                                 g++ -c ./souse/cSouse_Model.cpp

> #################
> #####BasisEntity
> cSouse_BaseEntity.o: ./souse/cSouse_BaseEntity.h
> ./souse/cSouse_BaseEntity.cpp
>                                 g++ -c ./souse/cSouse_BaseEntity.cpp

> #################
> #####RenderSys ModelModul
> cSouse_RenderSys_ModelModul.o: ./souse/cSouse_RenderSys_ModelModul.h
> ./souse/cSouse_RenderSys_ModelModul.cpp
>                                 g++ -c ./souse/cSouse_RenderSys_ModelModul.cpp

> #################
> #####GLFont
> GLFont.o: ./souse/GLFont.cpp ./souse/GLFont.cpp
>                                 g++ -c ./souse/GLFont.cpp

> #################
> #####ID Counter
> cSouse_IDCounter.o: ./souse/cSouse_IDCounter.h
> ./souse/cSouse_IDCounter.cpp
>                                 g++ -c ./souse/cSouse_IDCounter.cpp

> #################
> #####ModelEntity
> cSouse_ModelEntity.o: ./souse/cSouse_ModelEntity.h
> ./souse/cSouse_ModelEntity.cpp
>                                 g++ -c ./souse/cSouse_ModelEntity.cpp

> #################
> #####ImageGL
> ImageGL.o: ./souse/ImageGL.h ./souse/ImageGL.h ./souse/ImageGL.cpp
>                                 g++ -c ./souse/ImageGL.cpp

> #################
> #####Error
> Error.o: ./souse/Error.h ./souse/Error.h
>                                 g++ -c ./souse/Error.cpp

> #################
> #####ImageTarga
> ImageTarga.o: ./souse/ImageTarga.h ./souse/ImageTarga.cpp
>                                 g++ -c ./souse/ImageTarga.cpp

> #################
> #####Utility
> Utility.o: ./souse/Utility.h ./souse/Utility.cpp
>                                 g++ -c ./souse/Utility.cpp

> Sorry for this very long posting but I really need help.

> Bye,
>      NoMoRe@


 
 
 

strange link error with gcc...

Post by Paul Pluzhniko » Sun, 13 Jan 2002 17:15:13



Quote:> I want to compile an app which uses SDL and OpenGL. When I want to
> compile via make and get the follwing strange error... I really don't
> know any further....
> cSouse_Input.o: In function
> `__malloc_alloc_template<0>::_S_oom_malloc(unsigned

You are linking a C++ program with gcc.
Use g++ instead, and it will link correctly.
 
 
 

1. Strange kernel compile errors with GCC 2.7.2 and Linux 2.0.5

When I attempt to compile the kernel version 2.0.5 with GCC 2.7.2 I
get (seemingly) random compile errors like the one below:

-------------------
gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes
-O2 -fomit-frame-pointer -fno-strength-reduce -pipe -m486 -DCPU=486
-c -o n_tty.o n_tty.c
In file included from /usr/src/linux/include/linux/sched.h:19,
                 from n_tty.c:27:
/usr/src/linux/include/linux/kernel.h:40: parse error before
`__attrirute__'
make[3]: *** [n_tty.o] Error 1
make[3]: Leaving directory `/usr/src/linux/drivers/char'
make[2]: *** [first_rule] Error 2
[...]
<fail>
-------------------

The `__attrirute__' that the compiler is referring to is clearly
supposed to be `__attribute__'.  Other similar errors occur every time
I try to compile the kernel.  I have done a "# make clean" between
each attempt and have tried different configs.  I have also tried
re-installing Linux from the 3.0 Slackware release.  What could cause
this random character replacement?  I would normally suspect memory,
but the machine has been operating fine otherwise.  

Machine Config is:

AMD 486-133 w/PCI mainboard
Diamond Stealth 64 PCI video
16 MB RAM
400 MB Seagate drive (no errors)
Slackware 3.0 from wcarchive.cdrom.com
GCC 2.7.2 and Kernel 2.0.5 from ftp.cc.gatech.edu

Another popular error:
-----------------------------
gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes
-O2 -fomit-frame-pointer -fno-strength-reduce -pipe -m486 -DCPU=486
-c -o file.o file.c
gcc: Internal compiler error: program cc1 got fatal signal 11
make[3]: *** [file.o] Error 1
make[3]: Leaving directory `/usr/src/linux/fs/minix'
make[2]: *** [first_rule] Error 2
-----------------------------

Anyone know what "fatal signal 11" is?  
Any help is greatly appreciated! Please CC: responses via e-mail.

TIA,
Tony Weasler

_____________________________________________________________________

      "You are the final measure of anything you accomplish."

2. internet access thro' dialin server

3. Strange error in gcc make install

4. Using yacc several times.... (FAQ?)

5. strange errors from gcc

6. Linux with ISDN

7. Strange "ld" link error...

8. best GUI for solaris

9. HELP! gcc, flex & bison -- strange error

10. Strange missing library error with gcc -g

11. kexpress: Strange Link error with egcs mandrake

12. Strange RPM error when upgrading gcc

13. strange errors compiling GCC