Web Hosting Talk







View Full Version : compiling with gmake


WoodShedd
01-10-2004, 09:56 PM
Recently I was attempting to compile something with gmake but continually got stopped by the following errors


bsd# gmake && gmake install
gmake all-recursive
gmake[1]: Entering directory `/home/verlihub-0.9.6'
Making all in src
gmake[2]: Entering directory `/home/verlihub-0.9.6/src'
c++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/include -g -O2 -c verlihub.cpp
In file included from casyncsocketserver.h:30,
from cserverdc.h:27,
from verlihub.cpp:24:
ctime.h:23: ostream: No such file or directory
In file included from cuser.h:23,
from cserverdc.h:28,
from verlihub.cpp:24:
cconndc.h:27: ext/rope: No such file or directory
In file included from cconfigbase.h:21,
from cserverdc.h:31,
from verlihub.cpp:24:
tstringhashmap.h:14: ext/hash_map: No such file or directory
In file included from cserverdc.h:40,
from verlihub.cpp:24:
cusercollection.h:15: ext/rope: No such file or directory
gmake[2]: *** [verlihub.o] Error 1
gmake[2]: Leaving directory `/home/verlihub-0.9.6/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/home/verlihub-0.9.6'
gmake: *** [all-recursive-am] Error 2


I am running FreeBSD 4.8.

I did find a precompiled version, but running that got me a message declaring libstdc++.so.4 was missing.

anyone know what I can do to get that lib?

mind21_98
01-10-2004, 10:20 PM
From the above, simply going to each line in the affected .h files and adding .h to the end of the file mentioned (e.g. ostream.h instead of ostream) should work. Other than that, are you sure you're running a FreeBSD precompiled binary? FreeBSD's capable of running Linux binaries, and it may be trying to do that (libstdc++ appears to be a Linux library).

To run Linux binaries on FreeBSD, you'll need to install the linux_base port. This will install the libraries needed to run most Linux binaries under Linux emulation. I hope that helps!

WoodShedd
01-10-2004, 10:23 PM
It was precompiled for FreeBSD 5.1

thanks for the other tip, and what should I do about the nonexistant hash_map mile and ext/rope dir?

stdunbar
01-11-2004, 01:22 AM
ctime.h:23: ostream: No such file or directory

WoodShedd,
Something is very wrong with your compiler install. ostream (no, it does not end in .h) is a standard C++ include file and should exist. I don't know if your compiler is not installed right or if you don't have the C++ includes correct but you're dead in the water if you can't find this include.

Traditionally this file would live somewhere in /usr/include. Do a find to see if it is there. It is not impossible that your install put it somewhere else and you need to somehow pass a -I to the compile command (to tell it where to find include files). But if everything is installed correctly the compiler should know where to look.

WoodShedd
01-11-2004, 03:28 AM
ostream.h is all I can find.

mind21_98
01-11-2004, 04:26 AM
Originally posted by stdunbar
ostream (no, it does not end in .h) is a standard C++ include file and should exist. I don't know if your compiler is not installed right or if you don't have the C++ includes correct but you're dead in the water if you can't find this include.


Actually, on disk it's ostream.h, but it can technically be represented either way. Some compilers (Visual C++ for instance), will only accept the .h way. Hope this clarifies things a bit for everyone. :)

stdunbar
01-11-2004, 11:22 AM
My apologies - I didn't realize that some compilers still didn't follow the standard.

WoodShedd, what C++ compiler are you using? A Google search shows that there were problems with some of the older gcc / egcs C++ compilers related to the standard C++ library. I'm using 3.3.2 and it includes ostream. It looks like FreeBSD has a wide range of choices.

karaokeking
04-22-2006, 12:05 PM
Yup, I say install a different compiler.