Документ взят из кэша поисковой машины. Адрес оригинального документа : http://rtm-cs.sinp.msu.ru/manual/mico/doc/node75.html
Дата изменения: Mon Jun 7 21:54:59 1999
Дата индексирования: Mon Oct 1 21:23:15 2012
Кодировка:
Frequently Asked Questions About MICO next up previous
Next: References Up: No Title Previous: GNU General Public License

Frequently Asked Questions About MICO

Q:
During compilation my gcc 2.7.2.x dies with an "internal compiler error". What is going wrong?
A:
Some Linux distributions (noteably Suse Linux 5 and Red Hat) shipped broken gcc binaries. You have to recompile gcc 2.7.2.x, or better yet, install egcs 1.x or gcc 2.8.x.

Q:
I have installed gcc 2.8 or egcs, and it still dies with an "internal compiler error".
A:
You are encouraged to submit a bug report to the appropriate compiler's mailing list. In the meantime, disabling optimization usually works.

     ./configure --disable-optimize

Q:
During compilation gcc dies with a "virtual memory exhausted" error. What can I do?

A:
Add more swap space. Under Linux you can simply create a swap file:

     su
     dd if=/dev/zero of=/tmp/swapfile bs=1024 count=64000
     mkswap /tmp/swapfile
     swapon /tmp/swapfile
There are similar ways for other unix flavors. Ask your sys admin. If for some reason you cannot add more swap space, try turning off optimization by rerunning configure: ./configure -disable-optimize.

Q:
I use Cygnus CDK and gcc dies with a "virtual memory exhausted" error. How to fix this?
A:
There seems to be a bug Cygnus CDK beta19 that prevents gcc from using swap space. The only workaround is to disable optimization by rerunning configure: ./configure -disable-optimize.

Q:
I configured for namspace support but MICO doesn't compile?
A:
Earlier versions of gcc and egcs (up to gcc 2.8 and egcs 1.0) have very limited namespace support. The tests configure does to check for working namespaces pass, but MICO itself fails to compile. Rerun configure with -disable-namespace.

Q:
Why do MICO programs fail with a COMM_FAILURE exception when running on `localhost'?
A:
Because MICO requires using your `real' host name. Never use `localhost' in an address specification.

Q:
MICO programs crash. Why?

A:
There is no easy answer (what did you expect?). But often this is caused by linking in wrong library versions. For example people often install egcs as a second compiler in their system and set PATH such that egcs will be picked. But that is not enough: You have to make sure that egcs' C++ libraries (esp. libstdc++) will be linked in. One way to make MICO use an egcs installed in /usr/local/egcs is:

     export PATH=/usr/local/egcs/bin:$PATH
     export CXXFLAGS=-L/usr/local/egcs/lib
     export LD_LIBRARY_PATH=/usr/local/egcs/lib:$LD_LIBRARY_PATH
     ./configure

If that is not the cause you probably found a bug in MICO. Write a mail to mico@vsb.cs.uni-frankfurt.de containing a description of the problem, along with

Q:
After creating Implementation Repository entries with imr create imr list does not show the newly created entries. What is going wrong?

A:
You must tell imr where micod is running, otherwise imr will create its own implementation repository which is destroyed when imr exits. You tell imr the location of the implementation repository by using the -ORBImplRepoAddr option, e.g.:
     micod -ORBIIOPAddr inet:jade:4242 &
     imr -ORBImplRepoAddr inet:jade:4242

Q:
I'm using egcs 1.x. When I turn off MiniSTL compliation aborts with
     /usr/ccs/bin/as: error: can't compute value of an expression
     involving an external symbol

A:
This is a bug in the assember. One solution is to enable debugging:
     ./configure --enable-debug
The preferred solution is to install GNU as (in the binutils package). See also the discussion on the egcs FAQ (the -fsquangle option).

Q:
Why don't exceptions work on Linux?
A:
They do. You are experiencing a bug in the assembler. Upgrade to binutils-2.8.1.0.15 or newer and recompile MICO.


next up previous
Next: References Up: No Title Previous: GNU General Public License

Arno Puder
Mon Jun 7 10:53:40 PDT 1999