[mythtv-commits] Ticket #2402: qmake build system has bad dependencies which causes --as-needed and future binutils to fail to link
MythTV
mythtv at cvs.mythtv.org
Fri Jan 18 00:19:36 UTC 2008
#2402: qmake build system has bad dependencies which causes --as-needed and future
binutils to fail to link
-------------------------------+--------------------------------------------
Reporter: cardoe at gentoo.org | Owner: nigel
Type: defect | Status: new
Priority: minor | Milestone: unknown
Component: mythtv | Version: 0.20
Severity: medium | Resolution:
Mlocked: 0 |
-------------------------------+--------------------------------------------
Comment(by nigel):
Hooray. Someone actually showed me the real errors they are getting!
[[BR]]
From the patches, I had assumed the problems were in the library linking
(closure), not the program linking.
[[BR]]
I'm not sure this will be fixable, because --as-needed just seems to be
broken on the link line. Check out this output after I pruned LIBS down to
-lGL -lmyth -lmythui:
{{{
/usr/bin/ld --eh-frame-hdr -m elf_i386 --hash-style=both -dynamic-linker
/lib/ld-linux.so.2 -o mythtv /usr/lib/gcc/i486-linux-
gnu/4.1.3/../../../../lib/crt1.o /usr/lib/gcc/i486-linux-
gnu/4.1.3/../../../../lib/crti.o /usr/lib/gcc/i486-linux-
gnu/4.1.3/crtbegin.o -L/usr/share/qt3/lib -L../../libs/libmyth
-L../../libs/libmythui -L/usr/lib/gcc/i486-linux-gnu/4.1.3
-L/usr/lib/gcc/i486-linux-gnu/4.1.3 -L/usr/lib/gcc/i486-linux-
gnu/4.1.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib --as-needed -v
main.o -lmyth-0.20.2 -lGL -lmythui-0.20.2 -lqt-mt -lXext -lX11 -lpthread
-lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/i486-linux-
gnu/4.1.3/crtend.o /usr/lib/gcc/i486-linux-
gnu/4.1.3/../../../../lib/crtn.o
GNU ld (GNU Binutils for Debian) 2.18
main.o: In function `main':
main.cpp:(.text+0x3c86): undefined reference to `TV::InitKeys()'
main.cpp:(.text+0x3c9c): undefined reference to `TV::TV()'
main.cpp:(.text+0x3cad): undefined reference to `TV::Init(bool)'
main.cpp:(.text+0x431e): undefined reference to
`ProgramInfo::ProgramInfo()'
main.cpp:(.text+0x43e1): undefined reference to
`TV::Playback(ProgramInfo*)'
main.cpp:(.text+0x43ff): undefined reference to `TV::GetState() const'
main.cpp:(.text+0x449b): undefined reference to `TV::LiveTV(bool, bool)'
../../libs/libmythui/libmythui-0.20.2.so: undefined reference to
`glClearDepth'
../../libs/libmythui/libmythui-0.20.2.so: undefined reference to
`glMatrixMode'
../../libs/libmythui/libmythui-0.20.2.so: undefined reference to
`glHint'...
% objdump -T /usr/lib/libGL.so | grep glClearDepth
0004ace0 g DF .text 00000000 Base glClearDepth
}}}
libGL is parsed first, it contains the symbols, but 'ld --as-needed'
doesn't find it. I'm at a loss (again).
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/2402#comment:9>
MythTV <http://svn.mythtv.org/trac>
MythTV
More information about the mythtv-commits
mailing list