[mythtv] Undefined reference in libmyth
Anton Farygin
rider at altlinux.com
Wed Nov 28 17:58:39 UTC 2007
Carl Reynolds пишет:
> Anton Farygin wrote:
>> Hello.
>>
>> After update to latest svn snapshot (2007-11-27), i found this problem
>> with mythtv build:
>>
>> <snip...>
>>
>
> You said you made an update to the latest svn. Was this from another
> version of the svn? Is it possible you installed mythtv from the
> binaries before you updated to the latest svn?
>
> I've had a problem in the past where I installed mythtv on a machine
> from binaries. Later, when I installed a source version of Myth on the
> same machine and compiled, the older versions of the libraries were
> still on the machine and in a path that was looked in before the path
> where the newly compiled libraries were stored. The make file was adding
> the libraries in a new location instead of replacing the ones that were
> already there, then when it linked to the libraries, it used the old
> ones and this caused un-resolved references in the link.
>
> You might check to see if you have more than one instance of libmyth on
> the machine and get rid of the one that was created by an earlier
> install, if that's what's happening.
No. This problem in cyclic dependences in mythtv libraries.
for example, libmythui depends on libmyth and libmyth depends on libmythui:
$ ldd /usr/lib/libmyth-0.20.so|grep myth
libmythui-0.20.so.0 => /usr/lib/libmythui-0.20.so.0 (0xb79d0000)
$ ldd /usr/lib/libmythui-0.20.so|grep myth
libmyth-0.20.so.0 => /usr/lib/libmyth-0.20.so.0 (0xb7c6b000)
If your build system has ld with enabled --as-needed flag by default -
you program cannot be build with not correct libraries (libraries with
unresolved symbols).
Also, i use "hasher" for build mythtv - this is special build tool from
ALT Linux. Hasher create build chroot environment for every package from
packages repository.
It look as installing linux for building every package, and *mythtv* not
included to installed packages list.
More information about the mythtv-dev
mailing list