@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.sherr...@oarcorp.com> wrote: > I suspect it is because he is compiling at -O0. > > On June 20, 2015 6:13:23 PM CDT, Chris Johns <chr...@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@rtems.org > >http://lists.rtems.org/mailman/listinfo/devel > > --joel > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel