[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