Discussion:
Compiling Mico on OS X: exception handling mysteries
Frank Goenninger
2009-11-18 09:35:09 UTC
Permalink
Hi all:

having configured Mico with

-X-X-X-

PACKAGE=mico
PACKAGE_ROOT_DIR=/opt/orb/$PACKAGE

SRCDIR=/opt/orb/src/$PACKAGE

CONFIGURE_OPTS="--with-tcl=/System/Library/Tcl"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-ccm"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-messaging"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-csl2"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-csiv2"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-sl3"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-naming"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-events"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-streams"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-property"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-trader"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-time"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-life"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-externalize"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-wireless"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-shared"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-dynamic"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-compiled-headers"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-speed-tune"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-except"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-std-eh"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-split"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-threads"
CONFIGURE_OPTS="$CONFIGURE_OPTS --with-qt=/usr/local/Qt4.5"
CONFIGURE_OPTS="$CONFIGURE_OPTS --prefix=$PACKAGE_ROOT_DIR"

PATH=$PATH:$SRCDIR

PWD=`pwd`
cd $SRCDIR
./configure $CONFIGURE_OPTS
if [ $? -eq 0 ]
then
make && sudo make install
fi
cd $PWD

-X-X-X-

I get:

g++ -I../include -O2 -Wall -Wwrite-strings -D_REENTRANT -Wno-long-
double -fno-exceptions -DMICO_CONF_NO_EXCEPTIONS -DPIC -c dii.cc -o
dii.pic.o
dii.cc: In member function ‘void CORBA::Request::send_oneway()’:
dii.cc:794: error: exception handling disabled, use -fexceptions to
enable
make[1]: *** [dii.pic.o] Error 1
make[1]: Leaving directory `/opt/orb/src/mico/orb'
make: *** [system] Error 1

Well, yes, but, ahem, I have told configure to use exception handle,
or ?

... TIA for any hints ...

Regards,
Frank
Frank Goenninger
2009-11-18 12:12:00 UTC
Permalink
... answering this myself:

As soon as you use --enable-speed-tune threading gets disabled.
Removed the flag and all is ok.

Cheers
Frank
Post by Frank Goenninger
having configured Mico with
-X-X-X-
PACKAGE=mico
PACKAGE_ROOT_DIR=/opt/orb/$PACKAGE
SRCDIR=/opt/orb/src/$PACKAGE
CONFIGURE_OPTS="--with-tcl=/System/Library/Tcl"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-ccm"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-messaging"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-csl2"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-csiv2"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-sl3"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-naming"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-events"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-streams"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-property"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-trader"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-time"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-life"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-externalize"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-wireless"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-shared"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-dynamic"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-compiled-headers"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-speed-tune"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-except"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-std-eh"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-split"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-threads"
CONFIGURE_OPTS="$CONFIGURE_OPTS --with-qt=/usr/local/Qt4.5"
CONFIGURE_OPTS="$CONFIGURE_OPTS --prefix=$PACKAGE_ROOT_DIR"
PATH=$PATH:$SRCDIR
PWD=`pwd`
cd $SRCDIR
./configure $CONFIGURE_OPTS
if [ $? -eq 0 ]
then
make && sudo make install
fi
cd $PWD
-X-X-X-
g++ -I../include -O2 -Wall -Wwrite-strings -D_REENTRANT -Wno-long-
double -fno-exceptions -DMICO_CONF_NO_EXCEPTIONS -DPIC -c dii.cc -
o dii.pic.o
dii.cc:794: error: exception handling disabled, use -fexceptions to
enable
make[1]: *** [dii.pic.o] Error 1
make[1]: Leaving directory `/opt/orb/src/mico/orb'
make: *** [system] Error 1
Well, yes, but, ahem, I have told configure to use exception handle,
or ?
... TIA for any hints ...
Regards,
Frank
_______________________________________________
Mico-devel mailing list
http://www.mico.org/mailman/listinfo/mico-devel
Karel Gardas
2009-11-20 22:14:32 UTC
Permalink
Post by Frank Goenninger
having configured Mico with
-X-X-X-
PACKAGE=mico
PACKAGE_ROOT_DIR=/opt/orb/$PACKAGE
SRCDIR=/opt/orb/src/$PACKAGE
CONFIGURE_OPTS="--with-tcl=/System/Library/Tcl"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-ccm"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-messaging"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-csl2"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-csiv2"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-sl3"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-naming"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-events"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-streams"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-property"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-trader"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-time"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-life"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-externalize"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-wireless"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-shared"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-dynamic"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-compiled-headers"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-speed-tune"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-except"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-std-eh"
CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-split"
CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-threads"
CONFIGURE_OPTS="$CONFIGURE_OPTS --with-qt=/usr/local/Qt4.5"
CONFIGURE_OPTS="$CONFIGURE_OPTS --prefix=$PACKAGE_ROOT_DIR"
PATH=$PATH:$SRCDIR
PWD=`pwd`
cd $SRCDIR
./configure $CONFIGURE_OPTS
if [ $? -eq 0 ]
then
make && sudo make install
fi
cd $PWD
-X-X-X-
g++ -I../include -O2 -Wall -Wwrite-strings -D_REENTRANT
-Wno-long-double -fno-exceptions -DMICO_CONF_NO_EXCEPTIONS -DPIC -c
dii.cc -o dii.pic.o
dii.cc:794: error: exception handling disabled, use -fexceptions to enable
make[1]: *** [dii.pic.o] Error 1
make[1]: Leaving directory `/opt/orb/src/mico/orb'
make: *** [system] Error 1
Well, yes, but, ahem, I have told configure to use exception handle, or ?
Indeed! And then you have told it to disable it by --enable-speed-tune.
This is an old and outdated parameter which aims for speeding up, but
this was probably at days in the past when C++ compilers were young and
generate slow code for exception handling...

What I would recommend you is just simple:

./configure
make
make install

of course you can use --prefix for specifying target path, but this way
you will get *standard* MICO as we test it here. And btw, if you do have
OpenSSL development packages installed then all the security is build by
default (except outdated CSL2), likewise for messaging parts and services.

Cheers,
Karel
--
Karel Gardas ***@objectsecurity.com
ObjectSecurity Ltd. http://www.objectsecurity.com
Loading...