As to make BH compile to C rather than object files, pass to-c: #t to module-compile! .<br><br>What's the first 4 of the 5 files you mention below? (Format, content, when needed / scope of use, and so on)<br><br>The link file is produced by BH at some point (presuming by link file you mean link file as per Gambit's definition). To make a C link file out of Gambit, I don't remember, either there's a special BH procedure for it, or you do it the general way it's done in Gambit, please let the ml know what you got to, and if it's not obvious please query again.<br>

<br>Mikael<br><br><div class="gmail_quote">2012/1/8 Álvaro Castro-Castilla <span dir="ltr"><<a href="mailto:alvaro.castro.castilla@gmail.com">alvaro.castro.castilla@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi!<div><br></div><div>I'm trying (again) to make Blackhole work with Android. For that purpose I need to make it compile to C, instead of its normal *.o files. BH needs to compile 5 files for each module:</div><div>
- a compile-time file</div>


<div>- a real-time file</div><div>- a visit-time file</div><div>- a module metadata file</div><div>- the link file</div><div><br></div><div>Based on <a href="https://github.com/seoushi/gambit-android-example" target="_blank">https://github.com/seoushi/gambit-android-example</a> but using the newer "Native Activity" I'm trying to compile an example. First, I'm trying to compile an example with just one file, importing no modules.</div>



<div><br></div><div>I'm getting:</div><div><div>     [exec] ./jni/ext/libgambc.a(_gambc.o):(.data+0x4854c): multiple definition of `___G_list'</div><div>     [exec] ./obj/local/armeabi/objs/native-activity/main.o1.o:(.data+0x3c): first defined here</div>



<div>     [exec] ./jni/ext/libgambc.a(_gambc.o):(.data.rel+0x13708): multiple definition of `___S_list'</div><div>     [exec] ./obj/local/armeabi/objs/native-activity/main.o1.o:(.data.rel+0xb0): first defined here</div>



<div>     [exec] ./jni/ext/libgambc.a(_gambc.o):(.data+0x5ae40): multiple definition of `___G_void'</div><div>     [exec] ./obj/local/armeabi/objs/native-activity/main.o1.o:(.data+0x54): first defined here</div><div>


     [exec] ./jni/ext/libgambc.a(_gambc.o):(.data.rel+0x19138): multiple definition of `___S_void'</div>
<div>     [exec] ./obj/local/armeabi/objs/native-activity/main.o1.o:(.data.rel+0xe0): first defined here</div></div><div><br></div><div>I would like to know if any of you had similar experiences, and why I'm getting this multiple definitions? The link file (called main.o1.c) seems to redefine these symbols, but they are also defined in libgambc.a (which is compiled for ARM architecture)</div>



<div>Why could this be happening?</div><div><br></div><div>I'd appreciate any pointers. Thanks a lot for your help,</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Álvaro Castro-Castilla</div>
</font></span><br>_______________________________________________<br>
Gambit-list mailing list<br>
<a href="mailto:Gambit-list@iro.umontreal.ca">Gambit-list@iro.umontreal.ca</a><br>
<a href="https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list" target="_blank">https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list</a><br>
<br></blockquote></div><br>