multiple definition of __getreent

Joel Sherrill joel.sherrill at oarcorp.com
Sun Jun 21 17:53:28 UTC 2015


Another guess. Is there a "ld -r" in the build procedure? A partial linking.

On June 21, 2015 12:49:23 PM CDT, Sujay Raj <sujayraaj at gmail.com> wrote:
>I am updating my github repo after cleaning the code, for you all to
>verify. I will drop a mail when its ready.
>
>Regards,
>
>Sujay Raj
>
> 
>
>
>
>On Sun, Jun 21, 2015 at 10:54 PM, Sujay Raj <sujayraaj at gmail.com>
>wrote:
>
>@Chris , I used  'target_link_libraries' in mk_bin/CMakeLists.txt to
>link libc.a and libbsd.a to the monkey-bin target
>
>@Joel, removing -O0 doesn't work too. 
>
>I needed libc for three function , initgroups, timegm, and sendfile. 
>
>Today I figured that monkey can function without 'initgroups' , if it
>is given all privileges, which I think will be the case when it runs on
>rtems (I tested on linux and when run from root, it can work without
>initgroups) . And I wrote a my_timegm function emulating what timegm
>does. So these two functions aren't needed anymore. (both were tested
>and working on linux) 
>
>The problem comes with sendfile. 
>
>So, just to get things working, I also wrote a make shift version of
>sendfile using read/write (which is working on linux, but is
>theoretically slow). 
>
>Doing the above removed the requirement of linking libc.a totally. 
>
>
>So yeah, we now have a working version of monkey on rtems using libbsd,
>which is ready to be tested on qemu. Though, this is not the ideal
>circumstances that we would have hoped for, and I certainly would want
>monkey to be using the default sendfile from the library. 
>
>Regards,
>
>Sujay Raj
>
>
>On Sun, Jun 21, 2015 at 5:00 AM, Joel Sherrill
><joel.sherrill at oarcorp.com> wrote:
>
>I suspect it is because he is compiling at -O0.
>
>
>On June 20, 2015 6:13:23 PM CDT, Chris Johns <chrisj at rtems.org> wrote:
>>On 20/06/2015 2:34 am, Sujay Raj wrote:
>>> Hi ,
>>>
>>> I am working on porting the monkey http server to rtems.
>>>
>>> I am working on the bsp: xilinx_zynq_a9_qemu , target:
>arm-rtems4.11.
>>>
>>> There are two libraries that I am supposed to link to create my
>final
>>> executable, one is libbsd.a and the other is libc.
>>>
>>> libbsd.a links alright, but whenever I try to link libc to create
>the
>>> final executable , I get an error:
>>>
>>>
>>/home/raaj/development/rtems/4.11/bsps/arm-rtems4.11/xilinx_zynq_a9_qemu/lib/librtemscpu.a(default-configuration.o):
>>> In function `__getreent':
>>>
>>>
>>/home/raaj/development/rtems/xilinx_zynq_a9_qemu/arm-rtems4.11/c/xilinx_zynq_a9_qemu/cpukit/libmisc/../../cpukit/../../../xilinx_zynq_a9_qemu/lib/include/rtems/confdefs.h:2420:
>>> multiple definition of `__getreent'
>>>
>>>
>>/home/raaj/development/rtems/4.11/tools/lib/gcc/arm-rtems4.11/4.9.2/../../../../arm-rtems4.11/lib/thumb/armv7-a/neon/hard/libc.a(lib_a-getreent.o):
>>>
>>>
>>/home/raaj/development/rtems/rtems-source-builder/rtems/build/arm-rtems4.11-gcc-4.9.2-newlib-2.2.0.20150423-x86_64-linux-gnu-1/build/arm-rtems4.11/thumb/armv7-a/neon/hard/newlib/libc/reent/../../../../../../../../../gcc-4.9.2/newlib/libc/reent/getreent.c:13:
>>> first defined here
>>>
>>>
>>>
>>> The CFLAGS I am using to compile are :
>>>
>>> -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9
>>-O0
>>> -g -qrtems
>-B/home/raaj/development/rtems/4.11/bsps/arm-rtems4.11/lib
>>>
>>-B/home/raaj/development/rtems/4.11/bsps/arm-rtems4.11/xilinx_zynq_a9_qemu/lib/
>>> --specs bsp_specs
>>>
>>>
>>>
>>> note: I require libc for three function , initgroups, timegm, and
>>sendfile.
>>>
>>> note: I am working on a cmake build system
>>>
>>> If the information given here is insufficient, kindly ask.
>>>
>>
>>Can you please post the full command line you are using to link with ?
>>
>>Thanks
>>Chris
>>_______________________________________________
>>devel mailing list
>>devel at rtems.org
>>http://lists.rtems.org/mailman/listinfo/devel
>
>--joel
>
>_______________________________________________
>devel mailing list
>devel at rtems.org
>http://lists.rtems.org/mailman/listinfo/devel

--joel


More information about the devel mailing list