[mythtv-users] One step forward, two steps back.

Peter pete at putzin.net
Fri Jan 5 19:04:38 UTC 2007


clemens at dwf.com wrote:
>> On 5 Jan 2007, at 07:30, clemens at dwf.com wrote:
>>     
>>> ...
>>> I was unable to compile mythtv on the 2nd machine, which SHOULD have
>>> everything on it that the mythtv box has, but I kept geting  
>>> compiler failures
>>> (assembler actually) saying that the pseudo-op .weakref was undefined.
>>>       
>> When asking for help with compilation problems the best thing to do  
>> is post a few lines of the ACTUAL output from the compiler, copied &  
>> pasted from the machine you compiled on. Usually it is best to copy  
>> from the command prompt after the compile has failed, highlighting  
>> upwards up until the first "error" line is displayed (not warnings,  
>> these are not critical) and then one line before that; paste this  
>> output into your email, or into a text file and attach that.
>>     
>
> Well, this error occurs when a number of routines compile, but here is one:
>
> ---
>
> make[2]: Entering directory `/mnt/home/reg/Source/System/MythTV/mythtv/libs/lib
> mythsoundtouch'
> g++ -c -pipe -march=pentium4 -w -O3 -Wall -Wno-switch -fomit-frame-pointer 
> -fPIC -DPIC -D_REENTRANT  -DMMX -Di386 -DUSING_FREEBOX -D_GNU_SOURCE 
> -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" -DLIBDIR=\"/usr/local/lib\" 
> -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -I/usr/lib/qt-3.3/mkspecs/default
>  -I. -I../../../../../../../share/local/include -I/usr/include 
> -I/usr/X11R6/include -I../../libs/libavcodec -I../.. -I/usr/lib/qt-3.3/include 
> -o FIRFilter.o FIRFilter.cpp
> {standard input}: Assembler messages:
> {standard input}:1031: Error: unknown pseudo-op: `.weakref'
> {standard input}:1032: Error: unknown pseudo-op: `.weakref'
> {standard input}:1033: Error: unknown pseudo-op: `.weakref'
> {standard input}:1034: Error: unknown pseudo-op: `.weakref'
> {standard input}:1035: Error: unknown pseudo-op: `.weakref'
> {standard input}:1036: Error: unknown pseudo-op: `.weakref'
> {standard input}:1037: Error: unknown pseudo-op: `.weakref'
> {standard input}:1038: Error: unknown pseudo-op: `.weakref'
> {standard input}:1039: Error: unknown pseudo-op: `.weakref'
> {standard input}:1040: Error: unknown pseudo-op: `.weakref'
> {standard input}:1041: Error: unknown pseudo-op: `.weakref'
> {standard input}:1042: Error: unknown pseudo-op: `.weakref'
> {standard input}:1043: Error: unknown pseudo-op: `.weakref'
> {standard input}:1044: Error: unknown pseudo-op: `.weakref'
> make[2]: *** [FIRFilter.o] Error 1
>
> ---
>
>   
>>> [[ ANYBODY know what that problem is??? ]]
>>>
>>> Not being able to solve that problem, I just tar'ed up the compile  
>>> from the
>>> mythtv machine, moved it to the 2nd machine, untared and did an  
>>> install.
>>>       
>> Assuming you did actually install properly & correctly - and it helps  
>> us if post something that indicates that (even if it is just "I ran  
>> setup.sh from the commandline and configured the install for this  
>> host", although it's better to post relevant parts of your config  
>> files, both to prove to us that you've done correctly and so we have  
>> more information to look in for mistakes and to help you) - then this  
>> _sounds_ to my inexpert ears like a library problem.
>> Did you have all the appropriate dependencies installed before  
>> compiling?
>> Which version of libstdc++ do you have installed?
>>     
>
> [reg at deneb lib]$ ls -lai /usr/lib/libstdc++*
> 983293 lrwxrwxrwx 1 root root     18 Nov 14 01:55 /usr/lib/libstdc++.so.6 -> 
> libstdc++.so.6.0.8
> 985475 -rwxr-xr-x 1 root root 940972 Oct 11 07:49 /usr/lib/libstdc++.so.6.0.8
>
>   
>> Googling for "pseudo-op .weakref undefined" produced some surprising  
>> results - the first posts in Google that refer to this seem to refer  
>> to different architectures and the non-Linux Unix AIX.
>> What distro are you using, please?
>>     
> Fedora6, updated to date.
>   
>> What CPU hardware?
>>     
> Pentium 4
>   
>> Which version of gcc?
>>     
> gcc (GCC) 4.1.1 20061011 (Red Hat 4.1.1-30)
>   
>
>   
This is possibly a problem with the assembler in X86 land according to 
the GCC bugzilla. Seems that there is inconsistency with gcc/asm handles 
certain types of symbols, specifically weakref (which should be 
automagic in this context). The bug report is actually dealing with BSD 
and certain types of symbols during both the compile and link stage, but 
it could be the same issue.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26966

So another question is, what version of binutils do you have? And have 
you built an assembler that could be used instead of the system binutils 
version? From your first post about this, I like what Dirk is asking 
when he questions the presence of another compiler or binutils version. 
That seems most logical. It's not likely an include file problem, and 
while it might be a flags issue, that seems unlikely unless you're 
building on both boxes with a different set of compile options.


More information about the mythtv-users mailing list