Meanwhile I found another testcase that needs EXPORT_ALL, so I made MAIN_MODULE automatically enable that.
There isn't a current plan to implement dlopen for fastcomp. I would like to think some more and try to find a way to do it that is optimized, but that isn't a short-term thing. - Alon On Thu, Jun 5, 2014 at 4:50 AM, Marc Agbanch <[email protected]> wrote: > > My bad, I did a mistake when I wrote the commands in the text file, on my > environment, EMCC_FORCE_STDLIBS was correctly written and defined. The -s > EXPORT_ALL=1 works well, thank you for your help. > Do you already know when you plan to add the dynamic linking compatibiltiy > with fastcomp? I like the idea to build a main part and add some plugins > later, even if it isn't as fast as a one file js code. > > -Marc > > Le mardi 3 juin 2014 02:26:42 UTC+2, Alon Zakai a écrit : >> >> Ok, I ran this locally. There are two problems: First, you had >> EMCC_FORCE_LIBS instead of EMCC_FORCE_STDLIBS in the environment options. >> Second, due to how asm.js works, the symbols also need to be exported, so >> this requires -s EXPORT_ALL=1 when building main. I honestly don't remember >> why that is needed, though - might be fixable, but this code is mostly >> deprecated as mentioned on the wiki. >> >> - Alon >> >> >> >> On Fri, May 30, 2014 at 7:45 AM, Marc Agbanch <[email protected]> >> wrote: >> >>> I tried to add the LINKABLE option to the build, it didn't removed the >>> reference error. >>> >>> Le mardi 27 mai 2014 20:09:47 UTC+2, Alon Zakai a écrit : >>>> >>>> Try to also build with -s LINKABLE=1 , which will ensure that >>>> LLVM dead code elimination does not remove the code. >>>> >>>> - Alon >>>> >>>> >>>> >>>> On Thu, May 22, 2014 at 8:48 AM, Marc Agbanch <[email protected]> >>>> wrote: >>>> >>>>> I created the environment variable EMCC_FORCE_STDLIBS and set It to >>>>> 1. The compilation time emit >>>>> including libcxx >>>>> including libcextra >>>>> including libcxxabi >>>>> including gl >>>>> to the compillations steps, but it didn't change the runtime output. >>>>> libc was already included. I join the code which produced the error with >>>>> that message, I think it is reproducible. >>>>> >>>>> >>>>> Le mercredi 21 mai 2014 23:47:28 UTC+2, Alon Zakai a écrit : >>>>>> >>>>>> You may need to force-include a system library if the library uses it >>>>>> but not the main file (see Linking wiki page). However, I am a little >>>>>> surprised that would be the case for the new() operator, unless the main >>>>>> file is not using libc (which includes malloc and new). >>>>>> >>>>>> - Alon >>>>>> >>>>>> >>>>>> >>>>>> On Wed, May 21, 2014 at 8:45 AM, Marc Agbanch <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Thanks for your answer. >>>>>>> >>>>>>> Following yours advices, I build with -s ASSERTIONS=1. I also used >>>>>>> -g4 for the source map. The return error is "Error in loading >>>>>>> dynamic library: ReferenceError: __ZdlPv is not defined". Thanks to >>>>>>> the source map, I know that function is associated with the c++ operator >>>>>>> delete in my side module. The difference between my simple library which >>>>>>> worked perfectly and that one is the first one use only c code, and the >>>>>>> second implement a use c++ classes. It seems to me that dlopen() have >>>>>>> some >>>>>>> issues with c++ code. >>>>>>> I'll try to join the necessary about my code tomorrow. >>>>>>> >>>>>>> Le vendredi 16 mai 2014 02:07:09 UTC+2, Alon Zakai a écrit : >>>>>>>> >>>>>>>> If you build with -s ASSERTIONS=1 (on by default in -O0), you >>>>>>>> should see a message saying why it failed to evaluate that file. >>>>>>>> >>>>>>>> - Alon >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Tue, May 13, 2014 at 6:24 AM, Marc Agbanch <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> >>>>>>>>> I succeeded in porting a C ++ project of mine to html with >>>>>>>>> embedded JS thanks to Emscripten. >>>>>>>>> >>>>>>>>> Now, I'm currently trying to use the dlopen support. I made a >>>>>>>>> test with a simple library and it ran perfectly. I made another >>>>>>>>> test with >>>>>>>>> a bigger code and then, during the execution, the dlerror() folowing >>>>>>>>> my >>>>>>>>> dlopen() returned the folowing message: >>>>>>>>> >>>>>>>>> >>>>>>>>> "Could not evaluate dynamic lib: /lib_note.js" >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I checked the compiling options (DLOPEN_SUPPORT, MAIN_MODULE, >>>>>>>>> SIDE_MODULE, EXPORTED_FUNCTIONS, --preload-file) ,my code, the wiki, >>>>>>>>> but I >>>>>>>>> really don't have a clue about what could cause that error. Any idea ? >>>>>>>>> >>>>>>>>> -- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "emscripten-discuss" group. >>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>> send an email to [email protected]. >>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "emscripten-discuss" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to [email protected]. >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "emscripten-discuss" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "emscripten-discuss" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > You received this message because you are subscribed to the Google Groups > "emscripten-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
