Article View: gnu.g++.help
Article #686So close and yet, so far...
From: Jacob Salomon
Date: Thu, 21 Jan 1993 00:44
Date: Thu, 21 Jan 1993 00:44
88 lines
3533 bytes
3533 bytes
WOW! I finally got a complete, clean configure, compile, link, and
install of gcc-2.3.3, as well as the same for libg++-2.3 on my
HP-9000/827 under HP-UX A.08.02 - Sure kept me busy on coffee breaks!
So I get around to my fist c++ program: y'know, hello.. But first, I
set my environment variable: INCLUDE=/usr/gnu/lib/g++-include
Here is the source file:
: $ cat hello.C
: #include <iostream.h>
: main()
: {
: cout << "Hello world\n";
: return 0;
: }
FIrst pass: g++ hello.C
hello.C:1: iostream.h: No such file or directory
A quick ls of the $INCLUDE directory shows it is there. OK, so that
environment variable is not working (yes, I had exported it!). So I
try the direct assault:
$ g++ -I$INCLUDE hello.C
+ g++ -I/usr/gnu/lib/g++-include hello.C
ld: Can't find library for -lg++
collect: /bin/ld returned 1 exit status
Obviously I have missed some fine points in the build. Or maybe the
configure.
Q1: How do I get g++ to search any particular directory for include
files? I'm sure it's somewhere in the 55-page man-page for GCC
and G++ but it's hard to locate anything by sight and vi searching
is of no help (no, I haven't installed or learned how to use emacs
yet) because the man-text is peppered with embedded back-spaces.
If the INCLUDE environment variable is not the key, what is?
Q2: The error message for -lg++ - It is searching for the library:
libg++.a, which I have found in 2 subdirectories of where I
built it:
71681 1 660084 Jan 19 19:43 /lox/g2.3/libg++-2.3/lib/libg++.a
4116 1 660084 Jan 19 19:43 /lox/g2.3/libg++-2.3/libg++/libg++.a
I don't know why there are 2 copies of this - They are not links
to the same file - not even symbolic links. Where is the linker
(or collect) looking for them? in a subdirectory of /usr/gnu/lib?
I think all I need is to see exactly where it needs to go. I
already have a symbolic link:
$ ls -l /usr/gnu/lib
lrwxr-xr-x /usr/gnu/lib -> /lox/g2.3/libg++-2.3/lib
Observe the following output:
$ pwd
/usr/gnu/lib
$ ls -l
total 1318
drwxr-xr-x 4 gnu 2048 Jan 19 19:44 g++-include
drwxr-xr-x 2 gnu 24 Jan 19 19:43 hppa1.0-hp-hpux
-rw-r--r-- 1 gnu 660084 Jan 19 19:43 libg++.a
So you see, libg++.a is under /usr/gnu/lib.
What am I missing, besides the skill to explain briefly? ;-)
BTW - Note that the configuration was hppa1.0; An addendum in the
README indicates that I should use hppa1.1 for the HP-9000/827.
However, trial and error with 1.37 showed me that 1.0 was the way to
go. If someone can point out what's happenning, it would be very
helpful as well.
Thanks very much.
-- Jake Salomon
jacob@informix.com
Please reply by e-mail.
--
----------------Obligatory smart-$$$ remark:---------------------
| There's two kinds of people: Those who categorize people into |
| two groups and those who don't. (Barth's Aging proverb.) |
-----------------------------------------------jacob@informix.com
Technical Details
Message-ID:
<1993Jan21.004406.6508@informix.com>Path:
arc1-ca.pugleaf.net!sparky!uunet!olivea!gossip.pyramid.com!pyramid!infmx!jacobShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!olivea!gossip.pyramid.com!pyramid!infmx!jacob From: jacob@informix.com (Jacob Salomon) Newsgroups: gnu.g++.help Subject: So close and yet, so far... Keywords: Linker, ld, collect Message-ID: <1993Jan21.004406.6508@informix.com> Date: 21 Jan 93 00:44:06 GMT Sender: news@informix.com (Usenet News) Organization: Informix Software, Inc. Lines: 88 Originator: jacob@cheetah