[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