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

Re: c++ autoconf added



On Mar 18,  8:39pm, Marcel Ruff wrote:
> Subject: Re: c++ autoconf added
> Cory Bennett wrote:
> >
> > At this point in testsuite/c++ only TestGet, TestLogin, TestSub and RamTest
> > actually compile.  for the client* they seem to be missing
BlasterCallback_skel
> > and I dont know where that is from.
>
> This is in xmlBlaster/src/c++/generated/xmlBlaster.h
>
> My output (the old Makefiles):
> ...

I added in compiles for clientBOA and clientPOA.  The seem to work fine for me.

> > Also the TestLogin and TestSub seem to start, but they core dump (SEGV)
when
> > run. That may be due to some compile option I am missing, but I didnt see
> > anything.
>
> This is my TestLogin:
>
> ruff:~/xmlBlaster/testsuite/c++/bin$ ldd TestLogin
>         libxerces-c1_2.so => /opt/xerces/lib/libxerces-c1_2.so
> (0x40015000)
>         libpthread.so.0 => /lib/libpthread.so.0 (0x4012e000)
>         libdl.so.2 => /lib/libdl.so.2 (0x40141000)
>         libmico2.3.1.so => /usr/local/mico/lib/libmico2.3.1.so
> (0x40145000)
>         libmicocoss2.3.1.so => /usr/local/mico/lib/libmicocoss2.3.1.so
> (0x4060e000)
>         libstdc++-libc6.1-2.so.3 => /usr/lib/libstdc++-libc6.1-2.so.3
> (0x409ec000)
>         libc.so.6 => /lib/libc.so.6 (0x40a35000)
>         libm.so.6 => /lib/libm.so.6 (0x40b18000)
>         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
>

TestLogin still gives me a SEGV.  This is what I get from gdb:

Core was generated by `TestLogin -iorFile /tmp/ior.dat'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/local/lib/libsocks5_sh.so...bdone.
Reading symbols from /usr/local/lib/libxerces-c1_4.so...done.
Reading symbols from /lib/libpthread.so.0...tdone.
Reading symbols from /usr/local/lib/libmico2.3.5.so...
done.
Reading symbols from /lib/libdl.so.2...done.
Reading symbols from /usr/local/lib/libmicocoss2.3.5.so...done.
Reading symbols from /lib/libm.so.6...done.
Reading symbols from /usr/lib/libstdc++-libc6.1-1.so.2...done.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /lib/ld-linux.so.2...done.
Reading symbols from /lib/libresolv.so.2...done.
Reading symbols from /lib/libnss_files.so.2...done.
Reading symbols from /lib/libnss_nisplus.so.2...done.
Reading symbols from /lib/libnsl.so.1...done.
Reading symbols from /lib/libnss_nis.so.2...done.
Reading symbols from /lib/libnss_dns.so.2...done.
#0  0x409e0f93 in __libc_free (mem=0x809b0ba) at malloc.c:3012
3012    malloc.c: No such file or directory.
(gdb) bt
#0  0x409e0f93 in __libc_free (mem=0x809b0ba) at malloc.c:3012
#1  0x40443d2e in __builtin_vec_delete (ptr=0x809b0ba) from
/usr/local/lib/libmico2.3.5.so
#2  0x40307cc9 in CORBA::string_free () from /usr/local/lib/libmico2.3.5.so
#3  0x403079ef in CORBA::String_var::~String_var () from
/usr/local/lib/libmico2.3.5.so
#4  0x808a507 in serverIdl::MessageUnit::~MessageUnit (this=0xbffff69c,
__in_chrg=2) at ../client/DefaultCallback.h:109
#5  0x806b0de in main (args=3, argc=0xbffff794) at TestLogin.cc:316


It looks like it might be a bug in libmico2.3.5.so, since yours seems to work
and mine doesnt.  The library is the only difference that I can see.

Something that is definately odd is that 'gettimeofday' gets called 58 thousand
times:
[c++]$ strace TestLogin -iorFile /tmp/ior.dat 2>&1 | grep -c gettimeofday
58467

I will try to get  an older version of mico an see if that fixes it.

Also with TestSub I get a SIGABRT at TestSub.cc:228.  Does yours work?

> I did a:
>
>    configure --with-cpp --with-mico=/usr/local/mico
> --with-xerces-c=/opt/xerces
>
>
> gmake run fine until:
>
> c++ -g -o TestLogin TestLogin.o
> /home/ruff/xmlBlaster/src/c++/generated/xmlBlaster.o
> /home/ruff/xmlBlaster/src/c++/util/CompatibleCorba.o
> /home/ruff/xmlBlaster/src/c++/util/Log.o
> /home/ruff/xmlBlaster/src/c++/client/CorbaConnection.o -L/opt/xerces/lib
> -lxerces-c1_2 -L/usr/local/mico/lib -lmico2.3.1  -ldl -lm
> -L/usr/local/mico/lib -lmicocoss2.3.1  -ldl -lm
> /opt/xerces/lib/libxerces-c1_2.so: undefined reference to
> `pthread_mutexattr_destroy'
> /opt/xerces/lib/libxerces-c1_2.so: undefined reference to
> `pthread_mutexattr_settype'
> /opt/xerces/lib/libxerces-c1_2.so: undefined reference to
> `pthread_mutexattr_init'
> collect2: ld returned 1 exit status

I have fixed this.  pthreads is now linked in.