[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [Unikraft] Static Libraries not being linked properly
Thanks a ton Simon for reverting back. I removed calling librt.a and libpthread.a. Then, I cloned newlib, added it to config-files, and it compiled to libnewlibc and libnewlibm fine. However, I am still getting undefined reference to `clock_gettime' On doing a grep in newlib folder, there is no string with name "clock_gettime". Obviously, we need to add some more code in newlib, right? On Tue, Apr 24, 2018 at 6:59 PM, Simon Kuenzer <simon.kuenzer@xxxxxxxxx> wrote: > Hey Ajay, > > welcome to Unikraft! Sorry for being non-response for so long time. This > should change now since the core Unikraft people (including me) are back to > the project. > > In your application's Makefile.uk, you can try to add static libraries by > appending them to the APPNAME_OBJS list. However, I would not do this with > librt.a and libpthread.a. The libraries you selected expect a Linux system > call interface being available to reach functionality provided by the > kernel. We obviously do not have this on Unikraft, so the libraries wouldn't > work (even if you might be able to create a binary with them). > > The functions of those libraries are usually provided by a libc. Wei is > right that libnolibc - which is available in the tree - only provides a > subset of libc functionality. But you could try using newlib instead: > > http://xenbits.xen.org/gitweb/?p=unikraft/libs/newlib.git;a=summary > > This port uses calls to the Unikraft API directly instead of using system > calls. For instance, pthread_create() is going to call > uk_sched_thread_create() in libuksched. Please note that we have a patch > series pending that enhances scheduling functionality in Unikraft. There > will be another patch series upcoming that does integrate those changes to > newlib. So, the current state might not work yet for you, you may need to > check again in two weeks. > > Thanks, > > Simon > > On 18.04.2018 06:34, Ajay Garg wrote: >> >> Ok, thanks Wei for the clarification .. >> >> On Wed, Apr 18, 2018 at 9:59 AM, Wei Chen <Wei.Chen@xxxxxxx >> <mailto:Wei.Chen@xxxxxxx>> wrote: >> >> I think currently the answer is ‘YES’. We could not link libc.a____ >> >> directly in Unikraft. Libc.a requires some dependencies that____ >> >> unikraftdoesn’t provide.____ >> >> __ __ >> >> *From:*Ajay Garg <ajaygargnsit@xxxxxxxxx >> <mailto:ajaygargnsit@xxxxxxxxx>> >> *Sent:* 2018年4月18日11:45 >> >> >> *To:* Wei Chen <Wei.Chen@xxxxxxx <mailto:Wei.Chen@xxxxxxx>> >> *Cc:* minios-devel@xxxxxxxxxxxxxxxxxxxx >> <mailto:minios-devel@xxxxxxxxxxxxxxxxxxxx> >> *Subject:* Re: [Minios-devel] [Unikraft] Static Libraries not being >> linked properly____ >> >> __ __ >> >> Ok Wei, got it ... >> >> So, I added "/usr/lib/x86_64-linux-gnu/libc.a" also in >> "APPCOREMARK_OBJS-y", but the linking errors still persist.____ >> >> I now assume that pre-compiled static libc.a CANNOT be added into >> unikraft, right?____ >> >> __ __ >> >> On Wed, Apr 18, 2018 at 9:01 AM, Wei Chen <Wei.Chen@xxxxxxx >> <mailto:Wei.Chen@xxxxxxx>> wrote:____ >> >> Hi Ajay,____ >> >> ____ >> >> I think we have to classify the static-pre-compiled libraries.____ >> >> For instance, if the static-pre-compiled library is a math >> library.____ >> >> It just does some Mathematical Computing and doesn’t depend on____ >> >> Other libraries. I think this math library can be link to____ >> >> Unikraft. Another instance, if the static-pre-compiled library____ >> >> depends on other libraries. You have to guarantee the >> dependent____ >> >> libraries are in the Unikraft library pool.____ >> >> ____ >> >> In your case, the /usr/lib/x86_64-linux-gnu/librt.a and >> /usr/lib/x86_64-linux-gnu/libpthread.a____ >> >> would link to libc.a to solve their link dependencies. But the >> nolibc____ >> >> In Unikraft is just a subset of libc.a____ >> >> ____ >> >> Regards,____ >> >> Wei Chen____ >> >> ____ >> >> *From:* Ajay Garg <ajaygargnsit@xxxxxxxxx >> <mailto:ajaygargnsit@xxxxxxxxx>> >> *Sent:* 2018年4月18日 11:17 >> *To:* Wei Chen <Wei.Chen@xxxxxxx <mailto:Wei.Chen@xxxxxxx>> >> *Cc:* minios-devel@xxxxxxxxxxxxxxxxxxxx >> <mailto:minios-devel@xxxxxxxxxxxxxxxxxxxx> >> *Subject:* Re: [Minios-devel] [Unikraft] Static Libraries not >> being linked properly____ >> >> ____ >> >> Hi Wei.____ >> >> Thanks for the help.____ >> >> Actually, my original query is how to link pre-compiled (static) >> libraries in unikraft?____ >> >> I tried as per the documentation at >> >> http://xenbits.xen.org/gitweb/?p=unikraft/unikraft.git;a=blob;f=doc/guides/developers-app.rst;h=45d9bd5b2bb10b3d04135d66b5162a59d54dc2b6;hb=HEAD#l163 >> >> <http://xenbits.xen.org/gitweb/?p=unikraft/unikraft.git;a=blob;f=doc/guides/developers-app.rst;h=45d9bd5b2bb10b3d04135d66b5162a59d54dc2b6;hb=HEAD#l163> >> ____ >> >> but the libraries do not resolve linking problems.____ >> >> Or am I understanding it incorrectly? Can pre-compiled static >> libraries be integrated/linked at all in unikraft?____ >> >> ____ >> >> ____ >> >> On Wed, Apr 18, 2018 at 7:48 AM, Wei Chen <Wei.Chen@xxxxxxx >> <mailto:Wei.Chen@xxxxxxx>> wrote:____ >> >> But the clock_gettime hasn’t been implemented in nolibc or >> libtime.____ >> >> If your application just uses this function to print >> timestampe, you____ >> >> can implement a dummy function in your code in this time to >> pass the____ >> >> linking.____ >> >> ____ >> >> ____ >> >> >> >> >> -- ____ >> >> Regards, >> Ajay____ >> >> IMPORTANT NOTICE: The contents of this email and any attachments >> are confidential and may also be privileged. If you are not the >> intended recipient, please notify the sender immediately and do >> not disclose the contents to any other person, use it for any >> purpose, or store or copy the information in any medium. Thank >> you. ____ >> >> >> >> >> -- ____ >> >> Regards, >> Ajay____ >> >> IMPORTANT NOTICE: The contents of this email and any attachments are >> confidential and may also be privileged. If you are not the intended >> recipient, please notify the sender immediately and do not disclose >> the contents to any other person, use it for any purpose, or store >> or copy the information in any medium. Thank you. >> >> >> >> >> -- >> Regards, >> Ajay >> >> >> _______________________________________________ >> Minios-devel mailing list >> Minios-devel@xxxxxxxxxxxxxxxxxxxx >> https://lists.xenproject.org/mailman/listinfo/minios-devel >> > -- Regards, Ajay _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |