# [SOLVED][MPLAYER] You need to define a CONTEXT for your CPU

## Poe

Mam problem z kompilacją mplayera

```

[ebuild  N    ] media-video/mplayer-1.0_rc2_p27458  USE="3dnow 3dnowext X a52 alsa dvd enca encode jpeg mad mmx mmxext mp3 opengl sse sse2 ssse3 theora truetype unicode vorbis win32codecs x264 xscreensaver xv xvid -aac -aalib -altivec -amrnb -amrwb -arts -bidi -bindist -bl -cddb -cdio -cdparanoia -cpudetection -custom-cflags -custom-cpuopts -debug -dga -dirac -directfb -doc -dts -dv -dvb -dxr2 -dxr3 -esd -fbcon -ftp -ggi -gif -gtk -iconv -ipv6 -jack -joystick -kernel_linux -ladspa -libcaca -lirc -live -lzo -md5sum -mp2 -musepack -nas -nemesi -openal -oss -png -pnm -pulseaudio -pvr -quicktime -radio -rar -real -rtc -samba -schroedinger -sdl -speex -srt -svga -teletext -tga -v4l -v4l2 -video_cards_mga -video_cards_s3virge -video_cards_tdfx -video_cards_vesa (-vidix) -xanim -xinerama -xvmc -zoran

```

emerge kończy takim błędem:

```

-leaf-frame-pointer -Iloader -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer   -c -o loader/ext.o loader/ext.c

In file included from loader/wine/pe_image.h:4,

                 from loader/wine/module.h:11,

                 from loader/elfdll.c:15:

loader/wine/winnt.h:623:2: error: #error You need to define a CONTEXT for your CPU

In file included from loader/wine/pe_image.h:4,

                 from loader/wine/module.h:11,

                 from loader/elfdll.c:15:

loader/wine/winnt.h:626: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token

loader/wine/winnt.h:750:2: error: #error You need to define DEFINE_REGS_ENTRYPOINT macros for your CPU

loader/wine/winnt.h:761:3: error: #error You must define GET_IP foIn file included from loader/wine/winbase.h:5,

                 from loader/ext.c:34:

loader/wine/winnt.h:623:2: error: #error You need to define a CONTEXT for your CPU

In file included from loader/wine/winbase.h:5,

                 from loader/ext.c:34:

loader/wine/winnt.h:626: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token

loader/wine/winnt.h:750:2: error: #error You need to define DEFINE_REGS_ENTRYPOINT macros for your CPU

loader/wine/winnt.h:761:3: error: #error You must define GET_IP for this CPU

r loader/wine/winnt.h:1015: error: expected specifier-qualifier-list before 'PCONTEXT'

loader/wine/winnt.h:1028: error: expected declaration specifiers or '...' before 'PCONTEXT'

this CPU

loader/wine/winnt.h:1015: error: expected specifier-qualifier-list before 'PCONTEXT'

loader/wine/winnt.h:1028: error: expected declaration specifiers or '...' before 'PCONTEXT'

In file included from loader/ext.c:34:

loader/wine/winbase.h:544: warning: 'packed' attribute ignored for field of type 'CHAR[8]'

In file included from loader/wine/pe_image.h:5,

                 from loader/wine/module.h:11,

                 from loader/elfdll.c:15:

loader/wine/winbase.h:544: warning: 'packed' attribute ignored for field of type 'CHAR[8]'In file included from loader/ext.c:34:

loader/wine/winbase.h:1338: error: expected declaration specifiers or '...' before 'CONTEXT'

loader/wine/winbase.h:1477: warning: type defaults to 'int' in declaration of 'CONTEXT'

loader/wine/winbase.h:1477: error: expected ';', ',' or ')' before '*' token

In file included from loader/wine/pe_image.h:5,

                 from loader/wine/module.h:11,

                 from loader/elfdll.c:15:

loader/wine/winbase.h:1338: error: expected declaration specifiers or '...' before 'CONTEXT'

loader/wine/winbase.h:1477: warning: type defaults to 'int' in declaration of 'CONTEXT'

loader/wine/winbase.h:1477: error: expected ';', ',' or ')' before '*' token

In file included from loader/wine/module.h:11,

                 from loader/elfdll.c:15:

loader/wine/pe_image.h:60: warning: 'packed' attribute ignored for field of type 'BYTE'

loader/wine/pe_image.h:62: warning: 'packed' attribute ignored for field of type 'BYTE'

loader/wine/pe_image.h:64: warning: 'packed' attribute ignored for field of type 'BYTE'

loader/wine/pe_image.h:66: warning: 'packed' attribute ignored for field of type 'BYTE'

loader/wine/pe_image.h:67: warning: 'packed' attribute ignored for field of type 'BYTE'

loader/wine/pe_image.h:69: warning: 'packed' attribute ignored for field of type 'BYTE'

loader/ext.c: In function 'CreateFileMappingA':

loader/ext.c:398: warning: cast from pointer to integer of different size

loader/ext.c: In function 'VirtualAlloc':

loader/ext.c:448: warning: cast from pointer to integer of different size

loader/ext.c:449: warning: cast from pointer to integer of different size

loader/ext.c:450: warning: cast from pointer to integer of different size

loader/ext.c:450: warning: assignment makes pointer from integer without a cast

loader/ext.c:453: warning: cast from pointer to integer of different size

loader/ext.c:454: warning: cast from pointer to integer of different size

loader/ext.c:455: warning: cast from pointer to integer of different size

loader/ext.c:455: warning: pointer of type 'void *' used in arithmetic

loader/ext.c:467: warning: cast from pointer to integer of different size

loader/ext.c:467: warning: cast from pointer to integer of different size

loader/ext.c:472: warning: cast from pointer to integer of different size

loader/ext.c:472: warning: cast from pointer to integer of different size

loader/ext.c:479:2: warning: #warning FIXME

loader/ext.c:480: warning: cast from pointer to integer of different size

loader/ext.c:480: warning: cast from pointer to integer of different size

loader/ext.c:481: warning: cast from pointer to integer of different size

loader/ext.c:481: warning: cast from pointer to integer of different size

loader/ext.c: In function 'OpenFileMappingA':

loader/ext.c:595: warning: cast from pointer to integer of different size

loader/elfdll.c: In function 'ELFDLL_LoadLibraryExA':

loader/elfdll.c:275: warning: cast from pointer to integer of different size

make: *** [loader/elfdll.o] Error 1

make: *** Waiting for unfinished jobs....

make: *** [loader/ext.o] Error 1

```

nie mam pojęcia o co mu chodzi z tym "You need to define a CONTEXT for your CPU". na forum znalazłem tylko jeden temat dot. tego, z 2005 roku bodajże, chodzilo o to, ze mplayer nie chciał współgrać z gcc-3.4.3 czy coś w ten deseń. ktoś mógłby mi doradzić co powinienem zrobić?

flagi nie są jakieś szczególne

```

CFLAGS="-march=core2 -O2 -pipe"

CXXFLAGS="${CFLAGS}"

CHOST="x86_64-pc-linux-gnu"

ACCEPT_KEYWORDS="~amd64"

MAKEOPTS="-j3"

```

Procesor to Intel Centrino C2D 1,83

pozdrawiam

----------

## skazi

wywal flagi 3dnow i 3dnowext bo procesory intela nie obsługują 3dnow.

----------

## lsdudi

 *skazi wrote:*   

> wywal flagi 3dnow i 3dnowext bo procesory intela nie obsługują 3dnow.

 

Dokładnie .

w dodatku  march nie powien byc nocona ??

----------

## SlashBeast

march ma dobry.

----------

## Poe

dzięki za oprzytomnienie z 3dnow  :Wink:  zapomnialem, ze to wymysł AMD, ale jednak to nie było to. Wpadłem na inny trop, okazało się, że WINowajcą było USE="win32codecs". tylko zastanawia mnie, dlaczego... generalnie [SOLVED], ale proszę o jakieś wyjasnienia.

co do march=core2, to od gcc-4.3.1 jest dostępne wlaśnie core2.

----------

