[XviD-devel] MacOSX developers needed

ptk9417 ptk9417 at ritvax.rit.edu
Sun Feb 9 16:33:36 CET 2003


On Friday, February 7, 2003, at 07:14  PM, Edouard Gomez wrote:
> [...]
> /usr/bin/libtool: internal link edit command failed
> make: *** [libxvidcore.dylib] Error 1
>
> I wonder why the linker is complaining about common definitions of 
> these
> symbols. As we all (should) know, the code is error free (of this kind
> at least) for ages. So what i am supposed to do to avoid these errors


Hello Edouard,

	Build process looks good on OSX 10.2.3.  I had to run ranlib on the 
static lib befor it can be linked in with something else.  But thats 
normal.  Oh.. btw, i follow the bad habit of installing libs into 
/usr/lib..

I did run into an intresting occurance with the dynamic lib and 
xvid_bench.. the crc check fails... but only on the quant4* routines.  
The crc is correct in the output of the static lib.

	{Dynamic lib build settings}
	gcc -Wall -I../src/ -DARCH_IS_32BIT -DARCH_IS_BIG_ENDIAN 
-DARCH_IS_GENERIC xvid_bench.c -o xvid_bench_dyn -lxvidcore

	 =====  test quant =====
	PLAINC -   quant4_intra 71.314 usec       crc=25180
	*** CRC ERROR! ***
	PLAINC -   quant4_inter 71.803 usec       crc=23407
	*** CRC ERROR! ***
	PLAINC - dequant4_intra 36.953 usec       crc=51702
	*** CRC ERROR! ***
	PLAINC - dequant4_inter 46.318 usec       crc=59009
	*** CRC ERROR! ***
	PLAINC -    quant_intra 28.257 usec       crc=25662
	PLAINC -    quant_inter 28.998 usec       crc=23972
	PLAINC -  dequant_intra 28.794 usec       crc=49900
	PLAINC -  dequant_inter 27.955 usec       crc=48899

	{Static lib build settings}
	gcc -Wall -I../src/ -DARCH_IS_32BIT -DARCH_IS_BIG_ENDIAN 
-DARCH_IS_GENERIC xvid_bench.c -o xvid_bench_stat /usr/lib/libxvidcore.a

	 =====  test quant =====
	PLAINC -   quant4_intra 71.599 usec       crc=29809
	PLAINC -   quant4_inter 71.075 usec       crc=12574
	PLAINC - dequant4_intra 35.268 usec       crc=24052
	PLAINC - dequant4_inter 45.114 usec       crc=63847
	PLAINC -    quant_intra 28.880 usec       crc=25662
	PLAINC -    quant_inter 29.355 usec       crc=23972
	PLAINC -  dequant_intra 28.410 usec       crc=49900
	PLAINC -  dequant_inter 26.987 usec       crc=48899


Something to note, When i compile the dynamic xvid_bench i do get a 
bunch of multiple symbol defenitions warnings.. see below.  No warnings 
appear when compiling against the static lib.

	[dual:Download/xvidcore/examples] paul% gcc -Wall -I../src/ 
-DARCH_IS_32BIT -DARCH_IS_BIG_ENDIAN -DARCH_IS_GENERIC xvid_bench_mod.c 
-o xvid_bench_mod_dyn -lxvidcore
	ld: warning multiple definitions of symbol _get_intra_matrix_status
	/var/tmp//cctn8miN.o definition of _get_intra_matrix_status in section 
(__TEXT,__text)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_get_intra_matrix_status
	ld: warning multiple definitions of symbol _get_default_inter_matrix
	/var/tmp//cctn8miN.o definition of _get_default_inter_matrix in 
section (__TEXT,__text)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_get_default_inter_matrix
	ld: warning multiple definitions of symbol _get_default_intra_matrix
	/var/tmp//cctn8miN.o definition of _get_default_intra_matrix in 
section (__TEXT,__text)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_get_default_intra_matrix
	ld: warning multiple definitions of symbol _set_inter_matrix
	/var/tmp//cctn8miN.o definition of _set_inter_matrix in section 
(__TEXT,__text)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_set_inter_matrix
	ld: warning multiple definitions of symbol _set_intra_matrix
	/var/tmp//cctn8miN.o definition of _set_intra_matrix in section 
(__TEXT,__text)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_set_intra_matrix
	ld: warning multiple definitions of symbol _get_inter_matrix
	/var/tmp//cctn8miN.o definition of _get_inter_matrix in section 
(__TEXT,__text)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_get_inter_matrix
	ld: warning multiple definitions of symbol _get_inter_matrix_status
	/var/tmp//cctn8miN.o definition of _get_inter_matrix_status in section 
(__TEXT,__text)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_get_inter_matrix_status
	ld: warning multiple definitions of symbol _get_intra_matrix
	/var/tmp//cctn8miN.o definition of _get_intra_matrix in section 
(__TEXT,__text)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_get_intra_matrix
	ld: warning multiple definitions of symbol _custom_inter_matrix
	/var/tmp//cctn8miN.o definition of _custom_inter_matrix in section 
(__DATA,__data)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_custom_inter_matrix
	ld: warning multiple definitions of symbol _custom_intra_matrix
	/var/tmp//cctn8miN.o definition of _custom_intra_matrix in section 
(__DATA,__data)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_custom_intra_matrix
	ld: warning multiple definitions of symbol _default_inter_matrix
	/var/tmp//cctn8miN.o definition of _default_inter_matrix in section 
(__DATA,__data)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_default_inter_matrix
	ld: warning multiple definitions of symbol _default_intra_matrix
	/var/tmp//cctn8miN.o definition of _default_intra_matrix in section 
(__DATA,__data)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_default_intra_matrix
	ld: warning multiple definitions of symbol _inter_matrix
	/var/tmp//cctn8miN.o definition of _inter_matrix in section 
(__DATA,__data)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of _inter_matrix
	ld: warning multiple definitions of symbol _inter_matrix_fix
	/var/tmp//cctn8miN.o definition of _inter_matrix_fix in section 
(__DATA,__data)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_inter_matrix_fix
	ld: warning multiple definitions of symbol _intra_matrix
	/var/tmp//cctn8miN.o definition of _intra_matrix in section 
(__DATA,__data)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of _intra_matrix
	ld: warning multiple definitions of symbol _intra_matrix_fix
	/var/tmp//cctn8miN.o definition of _intra_matrix_fix in section 
(__DATA,__data)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_intra_matrix_fix
	ld: warning multiple definitions of symbol _set_inter_matrix_status
	/var/tmp//cctn8miN.o definition of _set_inter_matrix_status in section 
(__TEXT,__text)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_set_inter_matrix_status
	ld: warning multiple definitions of symbol _set_intra_matrix_status
	/var/tmp//cctn8miN.o definition of _set_intra_matrix_status in section 
(__TEXT,__text)
	/usr/lib/libxvidcore.dylib(quant_matrix.o) definition of 
_set_intra_matrix_status

Compiling xvid_stat with the same settings, the files outputed are 
identical for both the raw decoded frames and the m4v when testing with 
the cactus input images. So this doesn't seem to effect the actual 
core..

I added some quick print statements to xvid_bench to dump the tables.  
Below is the output:

	{Dynamic lib build settings}
	 =====  test quant =====
	VVVV quant4_intra - Src VVVV
	 0:    1    1  -59  -57 -111 -107 -155 -149
	 1:    1    1  -43  -41  -79  -75 -107 -101
	 2:    1    1  -27  -25  -47  -43  -59  -53
	 3:    1    1  -11   -9  -15  -11  -11   -5
	 4:    1    1    5    7   17   21   37   43
	 5:    1    1   21   23   49   53   85   91
	 6:    1    1   37   39   81   85  133  139
	 7:    1    1   53   55  113  117  181  187
	VVVV quant4_intra - Dst VVVV
	 0:    0    0   -1   -1   -1   -1   -1   -1
	 1:    0    0    0    0   -1   -1   -1   -1
	 2:    0    0    0    0    0    0    0    0
	 3:    0    0    0    0    0    0    0    0
	 4:    0    0    0    0    0    0    0    0
	 5:    0    0    0    0    0    0    1    0
	 6:    0    0    0    0    1    1    1    1
	 7:    0    0    0    0    1    1    1    1
	PLAINC -   quant4_intra 70.893 usec       crc=25180
	*** CRC ERROR! ***

	VVVV quant4_inter - Src VVVV
	 0:    1    1  -59  -57 -111 -107 -155 -149
	 1:    1    1  -43  -41  -79  -75 -107 -101
	 2:    1    1  -27  -25  -47  -43  -59  -53
	 3:    1    1  -11   -9  -15  -11  -11   -5
	 4:    1    1    5    7   17   21   37   43
	 5:    1    1   21   23   49   53   85   91
	 6:    1    1   37   39   81   85  133  139
	 7:    1    1   53   55  113  117  181  187
	VVVV quant4_inter - Dst VVVV
	 0:    0    0    0    0   -1   -1   -1   -1
	 1:    0    0    0    0    0    0   -1   -1
	 2:    0    0    0    0    0    0    0    0
	 3:    0    0    0    0    0    0    0    0
	 4:    0    0    0    0    0    0    0    0
	 5:    0    0    0    0    0    0    0    0
	 6:    0    0    0    0    0    0    1    1
	 7:    0    0    0    0    1    1    1    1
	PLAINC -   quant4_inter 71.221 usec       crc=23407
	*** CRC ERROR! ***

	VVVV dequant4_intra - Src VVVV
	 0:    1    1  -59  -57 -111 -107 -155 -149
	 1:    1    1  -43  -41  -79  -75 -107 -101
	 2:    1    1  -27  -25  -47  -43  -59  -53
	 3:    1    1  -11   -9  -15  -11  -11   -5
	 4:    1    1    5    7   17   21   37   43
	 5:    1    1   21   23   49   53   85   91
	 6:    1    1   37   39   81   85  133  139
	 7:    1    1   53   55  113  117  181  187
	VVVV dequant4_intra - Dst VVVV
	 0:   31   65 -2048 -2048 -2048 -2048 -2048 -2048
	 1:   65   69 -2048 -2048 -2048 -2048 -2048 -2048
	 2:   77   81 -2048 -2048 -2048 -2048 -2048 -2048
	 3:   81   85 -980 -837 -1511 -1193 -1278 -620
	 4:   85   89  465  705 1844 2047 2047 2047
	 5:   89   93 2047 2047 2047 2047 2047 2047
	 6:   96  100 2047 2047 2047 2047 2047 2047
	 7:  104  108 2047 2047 2047 2047 2047 2047
	PLAINC - dequant4_intra 36.623 usec       crc=51702
	*** CRC ERROR! ***

	VVVV dequant4_inter - Src VVVV
	 0:    1    1  -59  -57 -111 -107 -155 -149
	 1:    1    1  -43  -41  -79  -75 -107 -101
	 2:    1    1  -27  -25  -47  -43  -59  -53
	 3:    1    1  -11   -9  -15  -11  -11   -5
	 4:    1    1    5    7   17   21   37   43
	 5:    1    1   21   23   49   53   85   91
	 6:    1    1   37   39   81   85  133  139
	 7:    1    1   53   55  113  117  181  187
	VVVV dequant4_inter - Dst VVVV
	 0:   93   98 -2048 -2048 -2048 -2048 -2048 -2048
	 1:   98  104 -2048 -2048 -2048 -2048 -2048 -2048
	 2:  104  110 -2048 -2048 -2048 -2048 -2048 -2048
	 3:  110  116 -935 -809 -1381 -1069 -1158 -575
	 4:  116  122  468  668 1695 2047 2047 2047
	 5:  122  127 1916 2047 2047 2047 2047 2047
	 6:  127  133 2047 2047 2047 2047 2047 2047
	 7:  133  139 2047 2047 2047 2047 2047 2046
	PLAINC - dequant4_inter 45.586 usec       crc=59009
	*** CRC ERROR! ***
	PLAINC -    quant_intra 28.073 usec       crc=25662
	PLAINC -    quant_inter 28.730 usec       crc=23972
	PLAINC -  dequant_intra 28.272 usec       crc=49900
	PLAINC -  dequant_inter 27.530 usec       crc=48899
	 ---
	MMX    - skipped...
	IA64   - skipped...


	{Static lib build settings}
	 =====  test quant =====
	VVVV quant4_intra - Src VVVV
	 0:    1    1  -59  -57 -111 -107 -155 -149
	 1:    1    1  -43  -41  -79  -75 -107 -101
	 2:    1    1  -27  -25  -47  -43  -59  -53
	 3:    1    1  -11   -9  -15  -11  -11   -5
	 4:    1    1    5    7   17   21   37   43
	 5:    1    1   21   23   49   53   85   91
	 6:    1    1   37   39   81   85  133  139
	 7:    1    1   53   55  113  117  181  187
	VVVV quant4_intra - Dst VVVV
	 0:    0    0    0    0    0    0    0    0
	 1:    0    0    0    0    0    0    0    0
	 2:    0    0    0    0    0    0    0    0
	 3:    0    0    0    0    0    0    0    0
	 4:    0    0    0    0    0    0    0    0
	 5:    0    0    0    0    0    0    0    0
	 6:    0    0    0    0    0    0    0    0
	 7:    0    0    0    0    0    0    0    0
	PLAINC -   quant4_intra 70.637 usec       crc=29809

	VVVV quant4_inter - Src VVVV
	 0:    1    1  -59  -57 -111 -107 -155 -149
	 1:    1    1  -43  -41  -79  -75 -107 -101
	 2:    1    1  -27  -25  -47  -43  -59  -53
	 3:    1    1  -11   -9  -15  -11  -11   -5
	 4:    1    1    5    7   17   21   37   43
	 5:    1    1   21   23   49   53   85   91
	 6:    1    1   37   39   81   85  133  139
	 7:    1    1   53   55  113  117  181  187
	VVVV quant4_inter - Dst VVVV
	 0:    0    0    0    0    0    0    0    0
	 1:    0    0    0    0    0    0    0    0
	 2:    0    0    0    0    0    0    0    0
	 3:    0    0    0    0    0    0    0    0
	 4:    0    0    0    0    0    0    0    0
	 5:    0    0    0    0    0    0    0    0
	 6:    0    0    0    0    0    0    0    0
	 7:    0    0    0    0    0    0    0    0
	PLAINC -   quant4_inter 70.819 usec       crc=12574

	VVVV dequant4_intra - Src VVVV
	 0:    1    1  -59  -57 -111 -107 -155 -149
	 1:    1    1  -43  -41  -79  -75 -107 -101
	 2:    1    1  -27  -25  -47  -43  -59  -53
	 3:    1    1  -11   -9  -15  -11  -11   -5
	 4:    1    1    5    7   17   21   37   43
	 5:    1    1   21   23   49   53   85   91
	 6:    1    1   37   39   81   85  133  139
	 7:    1    1   53   55  113  117  181  187
	VVVV dequant4_intra - Dst VVVV
	 0:   31  988 -2048 -2048 -2048 -2048 -2048 -2048
	 1:  988  988 -2048 -2048 -2048 -2048 -2048 -2048
	 2:  988  988 -2048 -2048 -2048 -2048 -2048 -2048
	 3:  988  988 -2048 -2048 -2048 -2048 -2048 -2048
	 4:  988  988 2047 2047 2047 2047 2047 2047
	 5:  988  988 2047 2047 2047 2047 2047 2047
	 6:  988  988 2047 2047 2047 2047 2047 2047
	 7:  988  988 2047 2047 2047 2047 2047 2047
	PLAINC - dequant4_intra 35.706 usec       crc=24052

	VVVV dequant4_inter - Src VVVV
	 0:    1    1  -59  -57 -111 -107 -155 -149
	 1:    1    1  -43  -41  -79  -75 -107 -101
	 2:    1    1  -27  -25  -47  -43  -59  -53
	 3:    1    1  -11   -9  -15  -11  -11   -5
	 4:    1    1    5    7   17   21   37   43
	 5:    1    1   21   23   49   53   85   91
	 6:    1    1   37   39   81   85  133  139
	 7:    1    1   53   55  113  117  181  187
	VVVV dequant4_inter - Dst VVVV
	 0: 1482 1482 -2048 -2048 -2048 -2048 -2048 -2048
	 1: 1482 1482 -2048 -2048 -2048 -2048 -2048 -2048
	 2: 1482 1482 -2048 -2048 -2048 -2048 -2048 -2048
	 3: 1482 1482 -2048 -2048 -2048 -2048 -2048 -2048
	 4: 1482 1482 2047 2047 2047 2047 2047 2047
	 5: 1482 1482 2047 2047 2047 2047 2047 2047
	 6: 1482 1482 2047 2047 2047 2047 2047 2047
	 7: 1482 1482 2047 2047 2047 2047 2047 2046
	PLAINC - dequant4_inter 45.094 usec       crc=63847

	PLAINC -    quant_intra 28.702 usec       crc=25662
	PLAINC -    quant_inter 29.201 usec       crc=23972
	PLAINC -  dequant_intra 27.992 usec       crc=49900
	PLAINC -  dequant_inter 26.975 usec       crc=48899
	 ---
	MMX    - skipped...
	IA64   - skipped...

The output values do definately differ at points.. Sorry.. don't have 
time to track down the cause.  2 weeks till finals. and lots of work to 
do.

have fun,

dust



More information about the XviD-devel mailing list