[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: icc C++ problems on Debian 2.4.27-1-686-smp



Al Stone wrote:
On Tue, 2004-11-23 at 13:02 +0000, michael wrote:

Folks - this is essentially a question of how to install Intel compilers on a Debian box, something I would think is solved but...


Um, no, I doubt it is solved.  AFAIK, Intel does not
officially support Debian.


[snip]

I have just installed 'testing' on my dual Xeon. I downloaded a suitable SMP kernel from backports. Thus I have:

m@r:~/src/netcdf-3_6_0-beta6/src$ uname -a
Linux ratty 2.4.27-1-686-smp #1 SMP Fri Sep 3 06:34:36 UTC 2004 i686 GNU/Linux

I need to use the Intel compilers. (I should add that I've not had any of the below problems when I installed the Intel C/C++ and Fortran compilers on a RedHat box.) I followed Intel's instructions as per their "Platform Notes: Using Intel C++ Compiler on Unsupported Operating Systems". (This was essentially using 'alien' to convert rpm->deb, then dpkg and then sed INSTALLDIR to the name of the actual install directory for all .sh scripts)

Things looked fine. I compiled up 'mpich' and have used.


Personally, I haven't had much luck with the alien conversion
working properly.  I don't think it's so much a problem with
alien as it is with the way the Intel installation scripts work.

I'm doing this from memory, so it may be not quite right, but
I've found the most reliable way of installing the Intel compilers
to be this:

   -- 'apt-get install rpm' and then 'rpm -initdb' so that
      rpm thinks it's behaving properly.

   -- untar the Intel stuff.

   -- fix install.sh.  There's a test in the script (RPM_NOT_FOUND?)
      that relies on 'rpm -qa' working in a way that is, um, highly
      unlikely to work on Debian systems.  If you run ./install.sh
      it'll pop out a message about this being an unsupported install
      that's pretty easy to find in the script.  If you comment out
      the test that causes that message to be displayed (it's in one
small shell function that I don't recall the name of), the install will work just fine.

It seems that whenever I've done the install any other way, I've ended
up with the problems you note -- the compiler not being able to find
header files and such.

Hope this helps...

[much stuff snipped....]

Help!
Thanks, Michael, Atmospheric Physics Group, Univ of Manchester (UK)



Not sure if this is related but discovered this for gcc/g++ -- any ideas what it means??

michael@ratty:/tmp$ cat sizes.cpp
#include <iostream>

using namespace std;

int main() {
  cout << sizeof(char) << "\n";
  cout << sizeof(int) << "\n";
  cout << sizeof(float) << "\n";
  cout << sizeof(double) << "\n";
}
michael@ratty:/tmp$ g++ sizes.cpp
michael@ratty:/tmp$ gcc sizes.cpp
/tmp/ccmtmIBv.o(.text+0x1b): In function `main':
: undefined reference to `std::cout'
/tmp/ccmtmIBv.o(.text+0x20): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(unsigned)'
/tmp/ccmtmIBv.o(.text+0x30): 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/ccmtmIBv.o(.text+0x3f): In function `main':
: undefined reference to `std::cout'
/tmp/ccmtmIBv.o(.text+0x44): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(unsigned)'
/tmp/ccmtmIBv.o(.text+0x54): 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/ccmtmIBv.o(.text+0x63): In function `main':
: undefined reference to `std::cout'
/tmp/ccmtmIBv.o(.text+0x68): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(unsigned)'
/tmp/ccmtmIBv.o(.text+0x78): 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/ccmtmIBv.o(.text+0x87): In function `main':
: undefined reference to `std::cout'
/tmp/ccmtmIBv.o(.text+0x8c): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(unsigned)'
/tmp/ccmtmIBv.o(.text+0x9c): 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/ccmtmIBv.o(.text+0xc5): In function `__static_initialization_and_destruction_0(int, int)':
: undefined reference to `std::ios_base::Init::Init[in-charge]()'
/tmp/ccmtmIBv.o(.text+0xf6): In function `__tcf_0':
: undefined reference to `std::ios_base::Init::~Init [in-charge]()'
/tmp/ccmtmIBv.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
michael@ratty:/tmp$




Reply to: