[Libreoffice] seg fault building connectivity

John Wohn John at JohnWohn.com
Mon Oct 4 19:24:49 PDT 2010


Thanks, I really appreciate the help.  Please bear with me, this is a
long & involved message:

When I run build verbose=1 it seg faults at:
/home/john/3buildlo/build/build/libreoffice-3.2.99.1/solenv/bin/checkdll.sh
-L../../../unxlngi6.pro/lib
-L/home/john/3buildlo/build/build/libreoffice-3.2.99.1/solver/330/unxlngi6.pro/lib
 ../../../unxlngi6.pro/lib/check_libkabdrv1.so
Checking DLL ../../../unxlngi6.pro/lib/check_libkabdrv1.so ...Segmentation fault
dmake:  Error code 1, while making '../../../unxlngi6.pro/lib/libkabdrv1.so'

I tried doing:

gdb --args /home/john/3buildlo/build/build/libreoffice-3.2.99.1/solenv/bin/checkdll.sh
-L../../../unxlngi6.pro/lib
-L/home/john/3buildlo/build/build/libreoffice-3.2.99.1/solver/330/unxlngi6.pro/lib
 ../../../unxlngi6.pro/lib/check_libkabdrv1.so

but I get
/home/john/3buildlo/build/build/libreoffice-3.2.99.1/solenv/bin/checkdll.sh":
not in executable format: File format not recognized

The man page for gdb says "You can use GDB to debug programs written
in  C,  C++,  and  Modula-2." not shell.

I don't know a way to debug shell other than echo statements, so I put
some echo statements into checkdll.sh and found that it's dying on
this statement:
/home/john/3buildlo/build/build/libreoffice-3.2.99.1/solver/330/unxlngi6.pro/bin/checkdll
../../../unxlngi6.pro/lib/check_libkabdrv1.so

So I tried to use that with gdb and I got:
$ gdb --args /home/john/3buildlo/build/build/libreoffice-3.2.99.1/solver/330/unxlngi6.pro/bin/checkdll
../../../unxlngi6.pro/lib/check_libkabdrv1.so
...
(gdb) run
Starting program:
/home/john/3buildlo/build/build/libreoffice-3.2.99.1/solver/330/unxlngi6.pro/bin/checkdll
../../../unxlngi6.pro/lib/check_libkabdrv1.so
[Thread debugging using libthread_db enabled]
checkdll: ERROR: ../../../unxlngi6.pro/lib/check_libkabdrv1.so: No
such file or directory

Program exited with code 02.
(gdb) thread apply all backtrace

So it can't find check_libkabdrv1.so.  But I did a find and found it
in that directory:
-rwxr-xr-x 1 john john 437321 2010-10-04 20:58
./build/build/libreoffice-3.2.99.1/connectivity/unxlngi6.pro/lib/check_libkabdrv1.so

I thought perhaps there was just a problem with all the relative paths
or such, so I tried using the full absolute path:

~/3buildlo/build/build/libreoffice-3.2.99.1/connectivity$ gdb --args
/home/john/3buildlo/build/build/libreoffice-3.2.99.1/solver/330/unxlngi6.pro/bin/checkdll
/home/john/3buildlo/build/build/libreoffice-3.2.99.1/connectivity/unxlngi6.pro/lib/check_libkabdrv1.so
...
Reading symbols from
/home/john/3buildlo/build/build/libreoffice-3.2.99.1/solver/330/unxlngi6.pro/bin/checkdll...(no
debugging symbols found)...done.
(gdb) run
Starting program:
/home/john/3buildlo/build/build/libreoffice-3.2.99.1/solver/330/unxlngi6.pro/bin/checkdll
/home/john/3buildlo/build/build/libreoffice-3.2.99.1/connectivity/unxlngi6.pro/lib/check_libkabdrv1.so
[Thread debugging using libthread_db enabled]

Checking DLL /home/john/3buildlo/build/build/libreoffice-3.2.99.1/connectivity/unxlngi6.pro/lib/check_libkabdrv1.so
...: ERROR: libvos3gcc3.so: cannot open shared object file: No such
file or directory

Program exited with code 03.
(gdb) thread apply all backtrace
(gdb)

That file does exist in two places:
./build/build/libreoffice-3.2.99.1/vos/unxlngi6.pro/lib/libvos3gcc3.so
./build/build/libreoffice-3.2.99.1/solver/330/unxlngi6.pro/lib/libvos3gcc3.so

In each case 'thread apply all backtrace' returned nothing.

Seems like I've got some paths messed up somehow?

You asked what version of Linux I'm running.  Is this what you mean?
$ cat /proc/version
Linux version 2.6.32-25-generic (buildd at rothera) (gcc version 4.4.3
(Ubuntu 4.4.3-4ubuntu5) ) #44-Ubuntu SMP Fri Sep 17 20:26:08 UTC 2010

Not sure how to answer 'what version of toolchain' I'm running.
Whatever would be default for Ubuntu 10.04.1 - I haven't done anything
unusual since reinstalling Ubuntu on this box a couple of weeks ago.

Thanks for reading and any response will help!



On Mon, Oct 4, 2010 at 6:53 AM, Michael Meeks <michael.meeks at novell.com> wrote:
> Hi John,
>
> On Sun, 2010-10-03 at 11:07 -0500, John Wohn wrote:
>> Based on advice I got on #libreoffice IRC I tried to build
>> connectivity manually.  I did:
>> source LinuxX86Env.Set.sh
>> cd build/libreoffice-3.2.99.1/connectivity
>> build
>
>        Great - this is the best approach when a problem comes up in a parallel
> make.
>
>> and I got a segmentation fault:
>> Making:    libkabdrv1.so
>> Segmentation fault
>> dmake:  Error code 1, while making '../../../unxlngi6.pro/lib/libkabdrv1.so'
>
>        Exciting :-) it looks like the linker crashes. So - we should do:
>        build verbose=1
>
>        to get the exact command line - hopefully you don't have a custom
> python compile - so you can use gdb.
>
>> I don't know what my next steps should be to debug the problem.
>
>        So - with the verbose you should get a long command line of what is
> executed and crashes.
>
>        repeat that command pre-pending:
>
>        gdb --args <command>
>        run
>
>        and when it crashes enter: 'thread apply all backtrace' and paste the
> output here.
>
>        What Linux, and toolchain are you using ? in general the linker
> shouldn't crash.
>
>        If that doesn't help - perhaps there is just some stale binaray in
> there - I would be inclined to remove unxlngi6.pro and re-build that
> piece.
>
>        HTH,
>
>                Michael.
>
> --
>  michael.meeks at novell.com  <><, Pseudo Engineer, itinerant idiot
>
>
>


More information about the LibreOffice mailing list