Re: Segfault with mismatching -j values on AMD64

Geoffrey Clements <[email protected]>
Newsgroups gmane.comp.video.transcode.user
Message-ID <[email protected]>
On Thursday 12 Mar 2009, Geoffrey Clements wrote:
> On Thursday 12 Mar 2009, Francesco Romani wrote:
> > On Thu, 2009-03-12 at 15:33 +0000, Geoffrey Clements wrote:
> > > I recently upgraded my PC from an x86 to an x86_64 X 4 architecture and
> > > well used transcode recipes started segfaulting.
> > >
> > > After a bit of investigation I found that it is the "-j t,l,b,r" switch
> > > that's causing the problem; the segfault occurs if t <> b or l <> r.
> >
> > Hi,
> >
> > thanks for the report. Please file a bug here:
> > http://developer.berlios.de/bugs/?group_id=10094
> > for tracking purposes.
>
> I'm attempting to get more information with gdb first so that I can file a
> complete bug report, however using code from:
> svn://svn.berlios.de/tcforge/transcode/trunk
> which I think is version 1.1.1
>

I've been trying to get transcode to build but no luck. I've got release-1_1_1 
from mercurial but:

gcc -Wall -Wstrict-prototypes -Wmissing-prototypes -g -o test-tcmodule 
test-tcmodule.o -Wl,--export-dynamic  ../libtc/.libs/libtc.a ../libtcutil/.libs/libtcutil.a ../libtcmodule/.libs/libtcmodule.a -lm -lz -ldl
../libtcmodule/.libs/libtcmodule.a(tcmoduleinfo.o): In function 
`codecs_to_string':
/home/geoff/work/transcode/libtcmodule/tcmoduleinfo.c:106: undefined reference 
to `strlcat'
/home/geoff/work/transcode/libtcmodule/tcmoduleinfo.c:107: undefined reference 
to `strlcat'
/home/geoff/work/transcode/libtcmodule/tcmoduleinfo.c:112: undefined reference 
to `strlcpy'
../libtcmodule/.libs/libtcmodule.a(tcmoduleinfo.o): In function 
`formats_to_string':
/home/geoff/work/transcode/libtcmodule/tcmoduleinfo.c:128: undefined reference 
to `tc_format_to_string'
/home/geoff/work/transcode/libtcmodule/tcmoduleinfo.c:130: undefined reference 
to `strlcat'
/home/geoff/work/transcode/libtcmodule/tcmoduleinfo.c:131: undefined reference 
to `strlcat'
../libtcmodule/.libs/libtcmodule.a(tcmoduleinfo.o): In function 
`tc_module_info_log':
/home/geoff/work/transcode/libtcmodule/tcmoduleinfo.c:156: undefined reference 
to `strlcpy'
/home/geoff/work/transcode/libtcmodule/tcmoduleinfo.c:166: undefined reference 
to `strlcpy'
/home/geoff/work/transcode/libtcmodule/tcmoduleinfo.c:179: undefined reference 
to `strlcpy'
collect2: ld returned 1 exit status
make[2]: *** [test-tcmodule] Error 1
make[2]: Leaving directory `/home/geoff/work/transcode/testsuite'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/geoff/work/transcode'
make: *** [all] Error 2

It's been a very long time since I did this sort of stuff and I'm struggling 
to find the cause of the problem.

- I don't have strlcpy nor strlcat on my system hence the version that ships 
with transcode are used (HAVE_STRLCPY and HAVE_STRLCAT are _not_ set).

- these functions are in libtcutil/.libs/libtcutil.a

$ cd libtcmodule
$ nm -g ../libtcutil/.libs/libtcutil.a | grep strlc
                 U strlcpy
                 U strlcpy
strlcat.o:
0000000000000000 T strlcat
strlcpy.o:
0000000000000000 T strlcpy

Yup there they are (the first two undefined ones belong to cfgfile.o), then 
why is the linker not finding them?

I'm sure I'm missing something obvious.

-- 
Geoff
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.