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 
> gmake[3]: Leaving directory 
> 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  
> 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/ 
>/opt/lib/ -L/usr/lib /opt/lib/ /opt/lib/ -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:
> 00000000 W std::basic_ostream<char, std::char_traits<char> >& std::endl<char, 
>std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)
> 00000000 B std::cout
> 00000000 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.orig    Wed Jun 19 15:49:04 2002
+++ checker.cpp Wed Jun 19 15:49:19 2002
@@ -20,7 +20,9 @@

  #include <stdlib.h>
  #include <string.h>
-#include <iostream.h>
+#include <iostream>
+using namespace std;

  #include <qfile.h>

... 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

#include <iostream.h>

#include <iostream>

using namespace std;

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 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

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to