You are not logged in.

#1 2005-07-19 22:11:22

codemac
Member
From: Cliche Tech Place
Registered: 2005-05-13
Posts: 794
Website

gcc won't compile hello world

Hello World :

#include<iostream>
using namespace std;
int main ()
{
          cout << "what am I doing wrong?";
            return 0;
}

All the strace sh!t

execve("/usr/bin/gcc", ["gcc", "hello.cpp"], [/* 43 vars */]) = 0
uname({sys="Linux", node="stryder", ...}) = 0
brk(0)                                  = 0x805d000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f59000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=65638, ...}) = 0
mmap2(NULL, 65638, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f48000
close(3)                                = 0
open("/lib/tls/libc.so.6", O_RDONLY)    = 3
read(3, "177ELF111331220R1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1363203, ...}) = 0
mmap2(NULL, 1150540, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e2f000
mmap2(0xb7f3e000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10f) = 0xb7f3e000
mmap2(0xb7f46000, 7756, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f46000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e2e000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e2e6c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
munmap(0xb7f48000, 65638)               = 0
brk(0)                                  = 0x805d000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=38399616, ...}) = 0
mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7c2e000
close(3)                                = 0
brk(0x807e000)                          = 0x807e000
rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGINT, {0x804ade0, [INT], SA_RESTART}, {SIG_IGN}, 8) = 0
rt_sigaction(SIGHUP, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGHUP, {0x804ade0, [HUP], SA_RESTART}, {SIG_IGN}, 8) = 0
rt_sigaction(SIGTERM, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTERM, {0x804ade0, [TERM], SA_RESTART}, {SIG_IGN}, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGPIPE, {0x804ade0, [PIPE], SA_RESTART}, {SIG_IGN}, 8) = 0
rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0
access("/bin/gcc", X_OK)                = -1 ENOENT (No such file or directory)
access("/usr/bin/gcc", X_OK)            = 0
lstat64("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/usr/bin", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0
lstat64("/usr/bin/gcc", {st_mode=S_IFREG|0755, st_size=85296, ...}) = 0
access("/bin/gcc", X_OK)                = -1 ENOENT (No such file or directory)
access("/usr/bin/gcc", X_OK)            = 0
lstat64("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/usr/bin", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0 
lstat64("/usr/bin/gcc", {st_mode=S_IFREG|0755, st_size=85296, ...}) = 0
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/", X_OK) = 0
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/", X_OK) = 0
access("hello.cpp", F_OK)               = 0 
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/specs", R_OK) = 0
open("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/specs", O_RDONLY) = 3
stat64("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/specs", {st_mode=S_IFREG|0644, st_size=3869, ...}) = 0
read(3, "*asm:n%{v:-V} %{Qy:} %{!Qn:-Qy} "..., 3869) = 3869
close(3)                                = 0
access("/usr/lib/gcc/i686-pc-linux-gnu/specs", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/", X_OK) = 0
access("/tmp", R_OK|W_OK|X_OK)          = 0
gettimeofday({1121809872, 830804}, NULL) = 0
getpid()
open("/tmp/ccTAp7N8.s", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
close(3)                                = 0
stat64("/usr/libexec/gcc/i686-pc-linux-gnu/3.4.3/cc1plus", {st_mode=S_IFREG|0755, st_size=9274676, ...}) = 0
access("/usr/libexec/gcc/i686-pc-linux-gnu/3.4.3/cc1plus", X_OK) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e2e708) = 7198
waitpid(7198, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 7198
--- SIGCHLD (Child exited) @ 0 (0) ---
gettimeofday({1121809873, 223825}, NULL) = 0
open("/tmp/ccLSz9Bn.o", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
close(3)                                = 0
stat64("/usr/libexec/gcc/i686-pc-linux-gnu/3.4.3/as", 0xbfc6c28c) = -1 ENOENT (No such file or directory)
stat64("/usr/libexec/gcc/i686-pc-linux-gnu/3.4.3/as", 0xbfc6c28c) = -1 ENOENT (No such file or directory)
stat64("/usr/libexec/gcc/i686-pc-linux-gnu/as", 0xbfc6c28c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/as", 0xbfc6c28c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/gcc/i686-pc-linux-gnu/as", 0xbfc6c28c) = -1 ENOENT (No such file or directory)
stat64("/usr/libexec/gcc/i686-pc-linux-gnu/3.4.3/as", 0xbfc6c28c) = -1 ENOENT (No such file or directory)
stat64("/usr/libexec/gcc/i686-pc-linux-gnu/as", 0xbfc6c28c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/as", 0xbfc6c28c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/gcc/i686-pc-linux-gnu/as", 0xbfc6c28c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/bin/i686-pc-linux-gnu/3.4.3/as", 0xbfc6c28c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/bin/as", 0xbfc6c28c) = -1 ENOENT (No such file or directory)
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e2e708) = 7199
--- SIGCHLD (Child exited) @ 0 (0) ---
waitpid(7199, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 7199
stat64("/usr/libexec/gcc/i686-pc-linux-gnu/3.4.3/collect2", {st_mode=S_IFREG|0755, st_size=127724, ...}) = 0
access("/usr/libexec/gcc/i686-pc-linux-gnu/3.4.3/collect2", X_OK) = 0
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/crt1.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/crt1.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/lib/i686-pc-linux-gnu/3.4.3/crt1.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/lib/crt1.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../i686-pc-linux-gnu/3.4.3/crt1.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../crt1.o", R_OK) = 0
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/crti.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/crti.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/lib/i686-pc-linux-gnu/3.4.3/crti.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/lib/crti.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../i686-pc-linux-gnu/3.4.3/crti.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../crti.o", R_OK) = 0
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/crtbegin.o", R_OK) = 0
stat64("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/.", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/.", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/lib/i686-pc-linux-gnu/3.4.3/.", 0xbfc6b33c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/lib/.", 0xbfc6b35c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../i686-pc-linux-gnu/3.4.3/.", 0xbfc6b35c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../.", {st_mode=S_IFDIR|0755, st_size=36864, ...}) = 0
stat64("/lib/i686-pc-linux-gnu/3.4.3/.", 0xbfc6b38c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686-pc-linux-gnu/3.4.3/.", 0xbfc6b37c) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/crtend.o", R_OK) = 0
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/crtn.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/crtn.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/lib/i686-pc-linux-gnu/3.4.3/crtn.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/lib/crtn.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../i686-pc-linux-gnu/3.4.3/crtn.o", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../crtn.o", R_OK) = 0
stat64("/usr/libexec/gcc/i686-pc-linux-gnu/3.4.3/collect2", {st_mode=S_IFREG|0755, st_size=127724, ...}) = 0
access("/usr/libexec/gcc/i686-pc-linux-gnu/3.4.3/collect2", X_OK) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e2e708) = 7200
waitpid(7200, /tmp/ccLSz9Bn.o(.text+0xd): In function `std::__verify_grouping(char const*, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const'
/tmp/ccLSz9Bn.o(.text+0x60): In function `std::__verify_grouping(char const*, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
/tmp/ccLSz9Bn.o(.text+0x9f): In function `std::__verify_grouping(char const*, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
/tmp/ccLSz9Bn.o(.text+0xce): In function `std::__verify_grouping(char const*, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
/tmp/ccLSz9Bn.o(.text+0x127): In function `main':
: undefined reference to `std::cout'
/tmp/ccLSz9Bn.o(.text+0x12c): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccLSz9Bn.o(.text+0x155): In function `__static_initialization_and_destruction_0(int, int)':
: undefined reference to `std::ios_base::Init::Init()'
/tmp/ccLSz9Bn.o(.text+0x186): In function `__tcf_0':
: undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccLSz9Bn.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
[{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0) = 7200
--- SIGCHLD (Child exited) @ 0 (0) ---
stat64("/tmp/ccLSz9Bn.o", {st_mode=S_IFREG|0600, st_size=2468, ...}) = 0
unlink("/tmp/ccLSz9Bn.o")               = 0
stat64("/tmp/ccTAp7N8.s", {st_mode=S_IFREG|0600, st_size=6022, ...}) = 0
unlink("/tmp/ccTAp7N8.s")               = 0
exit_group(1)

Any help would be appreciated immensly.

Offline

#2 2005-07-19 22:20:33

biio
Member
From: Sweden
Registered: 2005-07-19
Posts: 39

Re: gcc won't compile hello world

Pretty sure you made the same mistake as I did earlier today. Run g++ instead and it all will work much better I hope smile

Offline

#3 2005-07-19 22:29:27

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: gcc won't compile hello world

well, the compiler output would have been much more useful than an strace.  The gnu compilers are used by millions of people - I'm pretty sure someone would have noticed if it didn't compile c++ programs.  Following that logic, it's most likely a program error.

Also, like biio said, use g++ for c++ apps, instead of gcc - that'll probably fix your issue because it compiles fine here:

g++ hello.cpp -o hello

Offline

#4 2005-07-19 23:28:52

max_sipos
Member
From: Ithaca, NY
Registered: 2004-10-31
Posts: 106
Website

Re: gcc won't compile hello world

Like previous people said, gcc is a C compiler, and you are obviously using C++ (C does not have namespaces, C does not have cout and the << stream operator).

Offline

#5 2005-07-19 23:35:55

kth5
Member
Registered: 2004-04-29
Posts: 657
Website

Re: gcc won't compile hello world

this is where i should really be coming up with my daily WTF?


I recognize that while theory and practice are, in theory, the same, they are, in practice, different. -Mark Mitchell

Offline

#6 2005-07-20 15:30:28

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: gcc won't compile hello world

for the record... with a file of "hello.cpp", running "make hello" will call the correct compiler

Offline

#7 2005-07-22 02:32:45

deficite
Member
From: Augusta, GA
Registered: 2005-06-02
Posts: 693

Re: gcc won't compile hello world

Don't feel too bad, I did the same thing when I first started using Linux.

Offline

Board footer

Powered by FluxBB