|
[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 |