chenyunecjtu / coreavc-for-linux

Automatically exported from code.google.com/p/coreavc-for-linux
GNU General Public License v2.0
0 stars 1 forks source link

registercodec compile problem on kubuntu x86_64 #54

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Hello

I've downloaded both coreavc-for-linux and mplayer sources from svn, and
i've been able to patch and compile mplayer, but registercodec can't
compile. Here we have the output error:
user@ /wherever/mplayer/loader # gcc -I. -I.. -o registercodec modify_reg.c
En el fichero incluído de wine/winbase.h:5,
                 de registry.c:16,
                 de modify_reg.c:3:
wine/winnt.h:623:2: error: #error You need to define a CONTEXT for your CPU
In file included from wine/winbase.h:5,
                 from registry.c:16,
                 from modify_reg.c:3:
wine/winnt.h:626: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or 
‘__attribute__’
before ‘*’ token
wine/winnt.h:750:2: error: #error You need to define DEFINE_REGS_ENTRYPOINT
macros for your CPU
wine/winnt.h:761:3: error: #error You must define GET_IP for this CPU
wine/winnt.h:1015: error: expected specifier-qualifier-list before 
‘PCONTEXT’
wine/winnt.h:1028: error: expected declaration specifiers or ‘...’ before
‘PCONTEXT’
In file included from registry.c:16,
                 from modify_reg.c:3:
wine/winbase.h:544: aviso: se descarta el atributo ‘packed’ para el campo
de tipo ‘CHAR[8]’
In file included from registry.c:16,
                 from modify_reg.c:3:
wine/winbase.h:1338: error: expected declaration specifiers or ‘...’ before
‘CONTEXT’
wine/winbase.h:1477: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ 
token

I also have installed build-essentials, and gcc 4.2.3

What's up?

Regards and thx in advance

Original issue reported on code.google.com by freddy2...@gmail.com on 1 Sep 2008 at 8:48

GoogleCodeExporter commented 8 years ago
Hello! 

I believe I'm facing the same problem. 
I'm using Ubuntu Hardy 64 bit version. My notebook is a Dell Inspiron 1520 (CPU 
:
Intel Core2Duo T7250 2 Ghz, 2 GB RAM, GPU : NVidia 8600 GM).
I followed the steps mentioned here :
http://code.google.com/p/coreavc-for-linux/wiki/MplayerInstallation
I used the new dshowserver.patch mentioned here :
http://code.google.com/p/coreavc-for-linux/issues/detail?id=51
Everything worked fine except the last step from section 3 of the wiki : "cp
loader/registercodec /usr/local/bin/" - which gives "No such file or directory".
Dshowserver is working properly (I tested it with the command mentioned at step 
5 in
the install directions for the dshowserver).
I also tested the commands you mentioned here :
http://code.google.com/p/coreavc-for-linux/issues/detail?id=27 (ls
libmpcodecs/vd_dshowserver.* and grep -a2 mpcodecs_vd_dshowserver 
libmpcodecs/vd.c)
and the output is correct.

When I try to open an h264 mkv file I get : 
Forced video codec: coreserve
Cannot find codec matching selected -vo and video format 0x34363248.
I did update my ~/.mplayer/codecs.conf file.

Thank you in advance!

Best wishes,
Ionut

Original comment by ticus.io...@gmail.com on 1 Sep 2008 at 11:06

GoogleCodeExporter commented 8 years ago
Hello again!

freddy2.es, I managed to compile modify_reg.c using this command : 
gcc -m32 -I. -I.. -o registercodec modify_reg.c
I had to install  libc6-dev-i386 and gcc-multilib and to copy modify_reg.c from
coreavc-for-linux/loader  to mplayer-source/loader since I couldn't find it in
mplayer's loader directory.
Unfortunately it still issued a warning (wine/winbase.h:544: warning: 
‘packed’
attribute ignored for field of type ‘CHAR[8]’) and the resulting size of
registercodec is only 16 KB and it still doesn't work if I copy it to 
/usr/local/bin.
I cannot understand why I must copy registercodec from mplayer/loader directory 
to
/usr/local/bin since I already copied it once when installing dshowserver.
Maybe someone else can shed some light on this.

Regards!

Original comment by ticus.io...@gmail.com on 2 Sep 2008 at 5:08

GoogleCodeExporter commented 8 years ago
You shouldn't exepct to be able to compile registercodec or dshowserver on 
x86-64. 
That is why there are binaries available on the site.
You need a 32bit environment to compile these (either a chroot or equivalent)
You can apply the relevant patches to your application of choice and compile 
that
though (i.e. you need to recompile mplayer/mythtv/xine with the relevant 
patches, but
need a 32bit binary for dshowserver and registercodec)

Original comment by alannis...@gmail.com on 8 Oct 2008 at 10:04