Intel® C++ Compiler

RH9 and static linkage with icc 7.1

I am trying to statically link a program on a RH9 system with the 7.1 icc compiler. From this forum I found out that I need to copy an older version of glibc somewhere. I did as suggested and got glibc-2.2.93-5 from RH8 and installed

/opt/intel/old_libs/lib/libc-2.2.93.so
/opt/intel/old_libs/lib/libpthread.so

and changed

/opt/intel/compiler70/ia32/bin/icc.cfg

to include the libraries. I can compile programs now and they run fine. In order to statically link my program I also installed

/usr/lib/libGL.so: undefined reference to `__multi3'

I installed itenium icc (7.0) on linux
(2.4.18-e.25smp, ia64)

I have a linking problem when I use openGL library.
For extreme case, I try to complie and link "hello world" code.

When I compile very simple "hello world" code with ecc (itenium
intel compiler) and gcc, both of them work fine.
But, when I complie the code with ecc with -lGL link option,
it produce "/usr/lib/libGL.so: undefined reference to `__multi3'" linking error.

Of course, compilation and linking with gcc with -lGL option works find.

Any idea?

is it really impossible to get the temporary patch for kernel?

In the pdf "Compatibility with GNU Compilers", there is a long statement about that icc 7.1 can handle 2.4.18 kernel w/ some internal-use patchs. The ways to modify the kernel code also showed. however is there any ready-to-use patches can be downloaded?

Though not too lazy, I feel not confident & skillful enough to modify the whole kernel code by hand. ( plz don't blame me.)

I searched the forum and got two threads about the same topic. neither had a patch in reply. I wonder if some warmhearted host can help to give the icc patch. appreciate

Default parameters in the template function

Hello,

I have a template function defined as:
void SetStrings (const CString* pPrefix, const CString* pSeparator = NULL, const CString* pSuffix = NULL);

But compiler complains about the following code:

Z:EDevReusablesCommonDisplayNMLabeledPipe.cpp(279): error #165: too few arguments in function call
LabelInfo.eTimeSlot.SetStrings (&eTimeSlotFieldName, &eRangeDash);

It looks like, for some reason, it's missing that the last two arguments are the default ones.

Please advice what I am missing here.

Global asm variables

Hi,

I have the following piece of code:

register int* glob asm("bx"); int main() { glob = (int*) malloc(2*sizeof(int)); printf("%p ",glob); glob += 1; printf("%p ",glob); return 0; }


When compiling with GCC, this gives me the expected resulting output:

0x8049608 0x804960c


However, with ICC (7.0), i get:

C compiler cannot create executables

sorry for giving such stupid questions.

I installed 7.1 w/o any errors. the license file was also copied.
however when i run the icc alone like

$ icc
/usr/lib/crt1.o: In function `_start':
/usr/lib/crt1.o(.text+0x18): undefined reference to `main'

configure the default compiler as:
export LD=xild
export AR=xiar
export CC=icc
export CXX=icc

and try some linux code to compile, in the "./configure" stage, got:

icc creates MUCH larger binaries compared to g++

Hello everybody,
While trying out icc on a c++ project the resulting binaries/
libraries are almost 2-3 times the size of those created using
g++. No such problems with C only.
A check on other c++ libraries such as Qt gives similiar results.
e.g. libqt-mt 3.1.1 with g++ is ~ 6M; with icc ~ 15M.
The binaries also consume upto 1.5 times the RAM; making icc
unusable for large projects.

nm -D
| awk '{ print $(NF-1) " " $NF }' | sort -u | wc -l
shows that the number of symbols is also 2-3 times (almost

Pages

Subscribe to Intel® C++ Compiler