Charlie Root wrote:
> Trying to build kdebase3 on the
> FreeBSD 5.0-CURRENT #7: Mon Jun 17 22:46:16 EDT 2002
>
> [...]
> gmake[4]: Nothing to be done for `all-am'.
> gmake[4]: Leaving directory
>`/ccd/ports/x11/kdebase3/work/kdebase-3.0.1/kappfinder/apps'
> gmake[3]: Leaving directory
>`/ccd/ports/x11/kdebase3/work/kdebase-3.0.1/kappfinder/apps'
> gmake[3]: Entering directory `/ccd/ports/x11/kdebase3/work/kdebase-3.0.1/kappfinder'
> /bin/sh ../libtool --mode=link --tag=CXX c++ -DNDEBUG -DNO_DEBUG -O2 -O -march=i686
>-pipe -fno-exceptions -fno-check-new -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT
>-DQT_NO_ASCII_CAST-o kappfinder -L/opt/lib -pthread -L/opt/lib -R /opt/lib -R
>/opt/lib -R /opt/lib -R /opt/lib main.o scanner.o checker.o kappfinder_meta_unload.o
>-lkdeui
> c++ -DNDEBUG -DNO_DEBUG -O2 -O -march=i686 -pipe -fno-exceptions -fno-check-new
>-DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT -DQT_NO_ASCII_CAST -o kappfinder -pthread main.o
>scanner.o checker.o kappfinder_meta_unload.o -L/opt/lib /opt/lib/libkdeui.so
>/opt/lib/libkdecore.so -L/usr/lib /opt/lib/libDCOP.so /opt/lib/libkdefx.so -lqt-mt
>-lpng -lz -lXext -lX11 -lSM -lICE -lXrender -lstdc++ -lm -lgcc -Wl,--rpath
>-Wl,/opt/lib -Wl,--rpath -Wl,/opt/lib
> checker.o: In function `checkDesktopFile(QString const&, QString)':
> checker.o(.text+0x536): undefined reference to `cout'
> checker.o(.text+0x543): undefined reference to `ostream::operator<<(char const*)'
> checker.o(.text+0x575): undefined reference to `ostream::operator<<(char const*)'
> checker.o(.text+0x585): undefined reference to `ostream::operator<<(char const*)'
> checker.o(.text+0x6f1): undefined reference to `cout'
> checker.o(.text+0x6fe): undefined reference to `ostream::operator<<(char const*)'
> checker.o(.text+0x706): undefined reference to `endl(ostream&)'
> checker.o(.text+0x7e1): undefined reference to `cout'
> checker.o(.text+0x7ea): undefined reference to `ostream::operator<<(char const*)'
> checker.o(.text+0x7f2): undefined reference to `endl(ostream&)'
> gmake[3]: *** [kappfinder] Error 1
> gmake[3]: Leaving directory `/ccd/ports/x11/kdebase3/work/kdebase-3.0.1/kappfinder'
> gmake[2]: *** [all-recursive] Error 1
> gmake[2]: Leaving directory `/ccd/ports/x11/kdebase3/work/kdebase-3.0.1/kappfinder'
> gmake[1]: *** [all-recursive] Error 1
> gmake[1]: Leaving directory `/ccd/ports/x11/kdebase3/work/kdebase-3.0.1'
> gmake: *** [all] Error 2
> *** Error code 2
>
> Any clues? The /usr/lib/libstdc++.a has, for example:
>
> W std::basic_ostream >& std::endlstd::char_traits >(std::basic_ostream >&)
> B std::cout
> B std::buf_cout
> U std::cout
> U std::buf_cout
I have the same problem exactly. All I could work out is that it's due
to checker.cpp including the old-fashioned iostream.h instead of
iostream. You can patch it to make it build easily enough...
--- checker.cpp.origWed Jun 19 15:49:04 2002
+++ checker.cpp Wed Jun 19 15:49:19 2002
@@ -20,7 +20,9 @@
#include
#include
-#include
+#include
+
+using namespace std;
#include
... but I doubt that's a good idea.
I haven't been able to find a library anywhere on my system that exports
the symbols I get when including iostream.h. Perhaps my -current build
is incomplete for some reason.
Here's an ultra-simple test case if it helps anyone:
fornost ~/tmp % cat test.cpp
#ifdef OLDE_STYLE
#include
#else
#include
using namespace std;
#endif
int main()
{
cout << "Hello, world." << endl;
return 0;
}
fornost ~/tmp % c++ -o test -Wall test.cpp
fornost ~/tmp % ./test
Hello, world.
fornost ~/tmp % c++ -o test -Wall -DOLDE_STYLE test.cpp
/var/tmp//ccjRtwx3.o: In function `main':
/var/tmp//ccjRtwx3.o(.text+0x14): undefined reference to `endl(ostream&)'
/var/tmp//ccjRtwx3.o(.text+0x21): undefined reference to `cout'
/var/tmp//ccjRtwx3.o(.text+0x26): undefined reference to
`ostream::operator<<(char const*)'
/var/tmp//ccjRtwx3.o(.text+0x2f): undefined reference to
`ostream::operator<<(ostream& (*)(ostream&))'
fornost ~/tmp % uname -a
FreeBSD fornost.ca.com 5.0-CURRENT FreeBSD 5.0-CURRENT #2: Wed Jun 12
18:39:45 EST 2002
[EMAIL PROTECTED]:/usr/src/sys/i386/compile/FORNOST i386
--
Lachlan O'Dea <[EMAIL PROTECTED]> Computer Associates Pty Ltd
Webmaster Vet - Anti-Virus Software
http://www.vet.com.au/
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message