caldo43 / naclports

Automatically exported from code.google.com/p/naclports
0 stars 0 forks source link

snes does not build with the latest pnacl sdk #39

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
This is likely due to some ppapi interface changes:

pepper.cpp:247:69: error: too few arguments to function call, expected 3, have 2
                                                   kSampleFrameCount);
                                                                    ^
/usr/local/google/home/robertm/naclports3/src/pepper_18/toolchain/linux_x86_pnac
l/newlib/sdk/include/ppapi/cpp/audio_config.h:105:3: note: 
'RecommendSampleFrameCount' declared here
  static uint32_t RecommendSampleFrameCount(
  ^
1 error generated.
/usr/local/google/home/robertm/naclports3/src/pepper_18//toolchain/linux_x86_pna
cl/newlib/bin/pnacl-clang++ -I. -I.. -I../apu/ -I../unzip/ -I../jma/ 
-I../filter/ -c -DHAVE_MKSTEMP -DHAVE_STDINT_H -DRIGHTSHIFT_int8_IS_SAR 
-DRIGHTSHIFT_int16_IS_SAR -DRIGHTSHIFT_int32_IS_SAR -DRIGHTSHIFT_int64_IS_SAR 
-DUSE_THREADS -DMITSHM nacl.cpp -o nacl.o
make[1]: *** [pepper.o] Error 1

Original issue reported on code.google.com by robertm@google.com on 27 Feb 2012 at 9:30

GoogleCodeExporter commented 8 years ago
I think we could just patch it the way Elijah patched SDL:

https://chromiumcodereview.appspot.com/9570022/diff/1/libraries/SDL-1.2.14/nacl-
SDL-1.2.14.patch

Oddly, the other SDK bots don't build snes.  I guess it's because they shard 
the bots so the list of things to build must be changed to add snes.

Original comment by jvo...@google.com on 16 Mar 2012 at 10:54

GoogleCodeExporter commented 8 years ago
Jan,

I wont have time to follow up on this, make yourself the owner if you have 
cycles.
Also talk to elijah. IIRC he had some concerns about the state of pepper audio, 
e.g. C and C++ diverging in their interfaces.

Original comment by robertm@google.com on 19 Mar 2012 at 2:06

GoogleCodeExporter commented 8 years ago
Elijah: was the concern that we might end up with lots of these if-defs?

Otherwise I think this patch should fix the compile (just did something like 
what you did earlier for SDL):

http://codereview.chromium.org/9740002/

Original comment by jvo...@google.com on 20 Mar 2012 at 2:21

GoogleCodeExporter commented 8 years ago
I believe what Robert was talking about in #2 is there was a weird state a few 
weeks back in which the C++ interface was using the new interface, but the SDK 
(where we get the latest toolchain for naclports) was building C PPAPI headers 
with the old interface still.  This should be resolved now.

Original comment by elijahtaylor@google.com on 20 Mar 2012 at 4:39

GoogleCodeExporter commented 8 years ago
I'm also concerned that this is not a sustainable solution.  When the 
audioconfig interface bumps again code that looks like this will break:

#ifdef AUDIOCONFIG_1_1
#else
#endif

What we could really use is actual version number defines so we could do 
something like this:

#if PPAPI_VERSION >= 19
#else
#endif

Original comment by elijahtaylor@google.com on 20 Mar 2012 at 4:42

GoogleCodeExporter commented 8 years ago
Well, I think that the Moscow team decided to patch this with #ifndef 
AUDIOCONFIG_1_0 (with the rationale that 1_0 is the odd case and 1_1 and above 
will be about the same), but being able to check version ranges would probably 
be better.

Original comment by jvo...@google.com on 16 May 2012 at 9:15