* Re: [Xenomai-help] Fwd: Re: Xeno2.5 - 2.5.1 API mismatch? [not found] ` <4BF45174.7040802@domain.hid> @ 2010-05-20 7:48 ` Sinisa Denic 2010-05-20 8:13 ` Gilles Chanteperdrix 0 siblings, 1 reply; 4+ messages in thread From: Sinisa Denic @ 2010-05-20 7:48 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai On Wed, 19 May 2010 23:00:36 +0200, Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote: > Michael Opdenacker wrote: >> Bien le bonjour! Un message arrivé à ton adresse Free Electrons.... >> >> :-) >> >> Michael. >> >> -------- Original Message -------- >> Subject: Re: Xeno2.5 - 2.5.1 API mismatch? >> Date: Wed, 19 May 2010 15:47:59 +0200 >> From: Sinisa Denic <sinisa.denic@domain.hid> >> Organization: Advanced Control Systems Belgrade >> To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> >> >> >> >> On Fri, 05 Feb 2010 17:28:53 +0100, Gilles Chanteperdrix >> <gilles.chanteperdrix@xenomai.org> wrote: >> Hi Gilles, >> I had problems some time ago compiling some software against xeno 2.5.2, >> Now same thing with X2.5.3, when I put include <sys/mman.h>, I've run >> into >> next error messages: > > Your makefile is probably not using xeno-config to obtain the > compilation flags :-) > Xenomai 2.5.3 introduces a new library, libxenomai, with which you need > to link the programs. The issue is probably unrelated to sys/mman.h In > case it is, please send me a test program. > > Please do not use my address at free-electrons.com, I am no longer > working for this company (yes, I know, it was short)... > > Ok, was in hurry and it was short way to hear from you, excuse me for that. It's not such easy to sent you code because, it compiles against some "big'n'ugly" :-) :-( library of IEC communication protocol I thought that our arm compiler make error but, the same error with standard x86_64 gcc: iec_main.c:1036: warning: implicit declaration of function ‘mlockall’ iec_main.c:1036: error: ‘MCL_CURRENT’ undeclared (first use in this function) iec_main.c:1036: error: (Each undeclared identifier is reported only once iec_main.c:1036: error: for each function it appears in.) iec_main.c:1036: error: ‘MCL_FUTURE’ undeclared (first use in this function) When I put #include <sys/mmap.h>, I get over this errors but run into the next: Makefile handles xeno-config properly, it could retrieve include and lib paths and there is -lxenomai, take a look on this result of make command: make MMSLITE_DIR=/opt/libMMSLITE-eabi/ XENO_DIR=/usr/xenomai-2.5.3-eabi CROSS_COMPILE=/opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux- /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc -c -g -I/opt/libMMSLITE-eabi//inc -DDEBUG_SISCO -DTRUNK_REV=\"6403M\" -DCOMMIT_REV=\"1137:6318M\" -DMMS_LITE -DMOSI -DLEAN_T -I. -DMVL_UCA -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread iec_main.c -o obj_iecgoose_ld/iec_main.o >> cc.lst 2>&1 /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc -c -g -I/opt/libMMSLITE-eabi//inc -DDEBUG_SISCO -DTRUNK_REV=\"6403M\" -DCOMMIT_REV=\"1137:6318M\" -DMMS_LITE -DMOSI -DLEAN_T -I. -DMVL_UCA -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread /opt/libMMSLITE-eabi//src/mms_arb.c -o obj_iecgoose_ld/mms_arb.o >> cc.lst 2>&1 /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc -c -g -I/opt/libMMSLITE-eabi//inc -DDEBUG_SISCO -DTRUNK_REV=\"6403M\" -DCOMMIT_REV=\"1137:6318M\" -DMMS_LITE -DMOSI -DLEAN_T -I. -DMVL_UCA -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread /opt/libMMSLITE-eabi//src/mmsop_en.c -o obj_iecgoose_ld/mmsop_en.o >> cc.lst 2>&1 /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc -c -g -I/opt/libMMSLITE-eabi//inc -DDEBUG_SISCO -DTRUNK_REV=\"6403M\" -DCOMMIT_REV=\"1137:6318M\" -DMMS_LITE -DMOSI -DLEAN_T -I. -DMVL_UCA -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread /opt/libMMSLITE-eabi//mvl/src/mvlop_en.c -o obj_iecgoose_ld/mvlop_en.o >> cc.lst 2>&1 /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc -c -g -I/opt/libMMSLITE-eabi//inc -DDEBUG_SISCO -DTRUNK_REV=\"6403M\" -DCOMMIT_REV=\"1137:6318M\" -DMMS_LITE -DMOSI -DLEAN_T -I. -DMVL_UCA -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread /opt/libMMSLITE-eabi//mvl/src/acse/mvl_acse.c -o obj_iecgoose_ld/mvl_acse.o >> cc.lst 2>&1 /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc -c -g -I/opt/libMMSLITE-eabi//inc -DDEBUG_SISCO -DTRUNK_REV=\"6403M\" -DCOMMIT_REV=\"1137:6318M\" -DMMS_LITE -DMOSI -DLEAN_T -I. -DMVL_UCA -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread /opt/libMMSLITE-eabi//mvl/usr/event.c -o obj_iecgoose_ld/event.o >> cc.lst 2>&1 /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc -c -g -I/opt/libMMSLITE-eabi//inc -DDEBUG_SISCO -DTRUNK_REV=\"6403M\" -DCOMMIT_REV=\"1137:6318M\" -DMMS_LITE -DMOSI -DLEAN_T -I. -DMVL_UCA -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread /opt/libMMSLITE-eabi//mvl/usr/logcfgx.c -o obj_iecgoose_ld/logcfgx.o >> cc.lst 2>&1 /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc -c -g -I/opt/libMMSLITE-eabi//inc -DDEBUG_SISCO -DTRUNK_REV=\"6403M\" -DCOMMIT_REV=\"1137:6318M\" -DMMS_LITE -DMOSI -DLEAN_T -I. -DMVL_UCA -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread rdwrind.c -o obj_iecgoose_ld/rdwrind.o >> cc.lst 2>&1 /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc -c -g -I/opt/libMMSLITE-eabi//inc -DDEBUG_SISCO -DTRUNK_REV=\"6403M\" -DCOMMIT_REV=\"1137:6318M\" -DMMS_LITE -DMOSI -DLEAN_T -I. -DMVL_UCA -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread /opt/libMMSLITE-eabi//mvl/usr/reject.c -o obj_iecgoose_ld/reject.o >> cc.lst 2>&1 /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc -c -g -I/opt/libMMSLITE-eabi//inc -DDEBUG_SISCO -DTRUNK_REV=\"6403M\" -DCOMMIT_REV=\"1137:6318M\" -DMMS_LITE -DMOSI -DLEAN_T -I. -DMVL_UCA -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread startup.c -o obj_iecgoose_ld/startup.o >> cc.lst 2>&1 /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc -c -g -I/opt/libMMSLITE-eabi//inc -DDEBUG_SISCO -DTRUNK_REV=\"6403M\" -DCOMMIT_REV=\"1137:6318M\" -DMMS_LITE -DMOSI -DLEAN_T -I. -DMVL_UCA -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread uca_obj.c -o obj_iecgoose_ld/uca_obj.o >> cc.lst 2>&1 /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread -o./iecgoose_ld obj_iecgoose_ld/iec_main.o obj_iecgoose_ld/mms_arb.o obj_iecgoose_ld/mmsop_en.o obj_iecgoose_ld/mvlop_en.o obj_iecgoose_ld/mvl_acse.o obj_iecgoose_ld/event.o obj_iecgoose_ld/logcfgx.o obj_iecgoose_ld/rdwrind.o obj_iecgoose_ld/reject.o obj_iecgoose_ld/startup.o obj_iecgoose_ld/uca_obj.o /opt/libMMSLITE-eabi//lib/mvlu_ld.a /opt/libMMSLITE-eabi//lib/mlogl_ld.a /opt/libMMSLITE-eabi//lib/mmsle_ld.a /opt/libMMSLITE-eabi//lib/mmsl_ld.a /opt/libMMSLITE-eabi//lib/mem_ld.a /opt/libMMSLITE-eabi//lib/slog_ld.a /opt/libMMSLITE-eabi//lib/util_ld.a /opt/libMMSLITE-eabi//lib/ositp4e_ld.a /opt/libMMSLITE-eabi//lib/asn1l_ld.a -lm -lpthread -lrt -lnative -static >> cc.lst 2>&1 make: *** [all] Error 1 I think that is everything all right about it but still getting this: /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-heap.o): In function `rt_heap_inquire': heap.c:(.text+0x6c): undefined reference to `__xnsig_dispatch' /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-heap.o): In function `rt_heap_free': heap.c:(.text+0xfc): undefined reference to `__xnsig_dispatch' /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-heap.o): In function `rt_heap_alloc': heap.c:(.text+0x198): undefined reference to `__xnsig_dispatch' /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-heap.o): In function `rt_heap_delete': heap.c:(.text+0x220): undefined reference to `__xnsig_dispatch' /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-heap.o): In function `rt_heap_bind': heap.c:(.text+0x3b8): undefined reference to `__xnsig_dispatch' /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-heap.o):heap.c:(.text+0x47c): more undefined references to `__xnsig_dispatch' follow /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-init.o): In function `__init_xeno_interface': init.c:(.text+0x18): undefined reference to `xeno_bind_skin_opt' init.c:(.text+0x98): undefined reference to `xeno_handle_mlock_alert' /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-task.o): In function `rt_task_reply': task.c:(.text+0x84): undefined reference to `__xnsig_dispatch' /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-task.o): In function `rt_task_receive': task.c:(.text+0x110): undefined reference to `__xnsig_dispatch' /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-task.o): In function `rt_task_send': task.c:(.text+0x1a8): undefined reference to `__xnsig_dispatch' /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-task.o): In function `rt_task_slice': task.c:(.text+0x238): undefined reference to `__xnsig_dispatch' /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-task.o): In function `rt_task_set_mode': task.c:(.text+0x2cc): undefined reference to `__xnsig_dispatch' /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-task.o):task.c:(.text+0x35c): more undefined references to `__xnsig_dispatch' follow /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-task.o): In function `rt_task_trampoline': task.c:(.text+0xbec): undefined reference to `xeno_sigshadow_install_once' task.c:(.text+0xc34): undefined reference to `xeno_init_current_mode' task.c:(.text+0xcb4): undefined reference to `__xnsig_dispatch' task.c:(.text+0xd00): undefined reference to `xeno_set_current' task.c:(.text+0xd64): undefined reference to `__xnsig_dispatch' task.c:(.text+0xdd8): undefined reference to `__xnsig_dispatch' /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-task.o): In function `rt_task_shadow': task.c:(.text+0xe48): undefined reference to `xeno_fault_stack' task.c:(.text+0xea8): undefined reference to `xeno_sigshadow_install_once' task.c:(.text+0xec4): undefined reference to `xeno_init_current_mode' task.c:(.text+0xf38): undefined reference to `__xnsig_dispatch' task.c:(.text+0xf80): undefined reference to `xeno_set_current' /usr/xenomai-2.5.3-eabi/lib/libnative.a(libnative_la-task.o): In function `rt_task_create': task.c:(.text+0xff8): undefined reference to `__xnsig_dispatch' task.c:(.text+0x1158): undefined reference to `__xnsig_dispatch' collect2: ld returned 1 exit status -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Xenomai-help] Fwd: Re: Xeno2.5 - 2.5.1 API mismatch? 2010-05-20 7:48 ` [Xenomai-help] Fwd: Re: Xeno2.5 - 2.5.1 API mismatch? Sinisa Denic @ 2010-05-20 8:13 ` Gilles Chanteperdrix [not found] ` <op.vczxulyi38inye@domain.hid> 0 siblings, 1 reply; 4+ messages in thread From: Gilles Chanteperdrix @ 2010-05-20 8:13 UTC (permalink / raw) To: Sinisa Denic; +Cc: xenomai Sinisa Denic wrote: > On Wed, 19 May 2010 23:00:36 +0200, Gilles Chanteperdrix > <gilles.chanteperdrix@xenomai.org> wrote: > >> Michael Opdenacker wrote: >>> Bien le bonjour! Un message arrivé à ton adresse Free Electrons.... >>> >>> :-) >>> >>> Michael. >>> >>> -------- Original Message -------- >>> Subject: Re: Xeno2.5 - 2.5.1 API mismatch? >>> Date: Wed, 19 May 2010 15:47:59 +0200 >>> From: Sinisa Denic <sinisa.denic@domain.hid> >>> Organization: Advanced Control Systems Belgrade >>> To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> >>> >>> >>> >>> On Fri, 05 Feb 2010 17:28:53 +0100, Gilles Chanteperdrix >>> <gilles.chanteperdrix@xenomai.org> wrote: >>> Hi Gilles, >>> I had problems some time ago compiling some software against xeno 2.5.2, >>> Now same thing with X2.5.3, when I put include <sys/mman.h>, I've run >>> into >>> next error messages: >> Your makefile is probably not using xeno-config to obtain the >> compilation flags :-) >> Xenomai 2.5.3 introduces a new library, libxenomai, with which you need >> to link the programs. The issue is probably unrelated to sys/mman.h In >> case it is, please send me a test program. >> >> Please do not use my address at free-electrons.com, I am no longer >> working for this company (yes, I know, it was short)... >> >> > /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc > -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall -pipe > -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread > -o./iecgoose_ld obj_iecgoose_ld/iec_main.o obj_iecgoose_ld/mms_arb.o > obj_iecgoose_ld/mmsop_en.o obj_iecgoose_ld/mvlop_en.o > obj_iecgoose_ld/mvl_acse.o obj_iecgoose_ld/event.o > obj_iecgoose_ld/logcfgx.o obj_iecgoose_ld/rdwrind.o > obj_iecgoose_ld/reject.o obj_iecgoose_ld/startup.o > obj_iecgoose_ld/uca_obj.o /opt/libMMSLITE-eabi//lib/mvlu_ld.a > /opt/libMMSLITE-eabi//lib/mlogl_ld.a /opt/libMMSLITE-eabi//lib/mmsle_ld.a > /opt/libMMSLITE-eabi//lib/mmsl_ld.a /opt/libMMSLITE-eabi//lib/mem_ld.a > /opt/libMMSLITE-eabi//lib/slog_ld.a /opt/libMMSLITE-eabi//lib/util_ld.a > /opt/libMMSLITE-eabi//lib/ositp4e_ld.a > /opt/libMMSLITE-eabi//lib/asn1l_ld.a -lm -lpthread -lrt -lnative -static link order is wrong here: the list of -l should come after the list of .o, and if you do that, you will not need to repeat the list of -l. Your problem is that -lnative is missing in the list of -l you repeat, but it is better to put the result of xeno-config --xeno-ldflags after the list of .o (if you are using built-in makefile rules, this means puttin this in the LOADLIBES variable instead of putting it in LDFLAGS), and remove the repetition. -- Gilles. ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <op.vczxulyi38inye@domain.hid>]
[parent not found: <4BF4FB97.5000809@domain.hid>]
* Re: [Xenomai-help] Fwd: Re: Xeno2.5 - 2.5.1 API mismatch? [not found] ` <4BF4FB97.5000809@domain.hid> @ 2010-05-20 9:52 ` Sinisa Denic 2010-05-20 9:55 ` Gilles Chanteperdrix 0 siblings, 1 reply; 4+ messages in thread From: Sinisa Denic @ 2010-05-20 9:52 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai@xenomai.org On Thu, 20 May 2010 11:06:31 +0200, Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote: > Sinisa Denic wrote: >>>> /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc >>>> -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall >>>> -pipe >>>> -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread >>>> -o./iecgoose_ld obj_iecgoose_ld/iec_main.o obj_iecgoose_ld/mms_arb.o >>>> obj_iecgoose_ld/mmsop_en.o obj_iecgoose_ld/mvlop_en.o >>>> obj_iecgoose_ld/mvl_acse.o obj_iecgoose_ld/event.o >>>> obj_iecgoose_ld/logcfgx.o obj_iecgoose_ld/rdwrind.o >>>> obj_iecgoose_ld/reject.o obj_iecgoose_ld/startup.o >>>> obj_iecgoose_ld/uca_obj.o /opt/libMMSLITE-eabi//lib/mvlu_ld.a >>>> /opt/libMMSLITE-eabi//lib/mlogl_ld.a >>>> /opt/libMMSLITE-eabi//lib/mmsle_ld.a >>>> /opt/libMMSLITE-eabi//lib/mmsl_ld.a /opt/libMMSLITE-eabi//lib/mem_ld.a >>>> /opt/libMMSLITE-eabi//lib/slog_ld.a >>>> /opt/libMMSLITE-eabi//lib/util_ld.a >>>> /opt/libMMSLITE-eabi//lib/ositp4e_ld.a >>>> /opt/libMMSLITE-eabi//lib/asn1l_ld.a -lm -lpthread -lrt -lnative >>>> -static >>> link order is wrong here: the list of -l should come after the list of >>> .o, and if you do that, you will not need to repeat the list of -l. >>> >>> Your problem is that -lnative is missing in the list of -l you repeat, >>> but it is better to put the result of xeno-config --xeno-ldflags after >>> the list of .o (if you are using built-in makefile rules, this means >>> puttin this in the LOADLIBES variable instead of putting it in >>> LDFLAGS), >>> and remove the repetition. >>> >> Oh thank you, sorry, this is my fault, this isn't my peace of code, just >> working around. >> I saw it and it was suspicious to me, but It was supposed to look more >> closely, >> Makefile came with library and it is modified to use Xenomai, because of >> that it seems such a messy.. >> >> Now it's compiling but, have you idea why these errors appear from >> xeno-2.5.1 version, >> the same code compiling in xeno-2.4.x even xeno-2.5.0 without errors and >> no need to add <sys/mman.h> . >> >> iec_main.c:1037: warning: implicit declaration of function ‘mlockall’ >> iec_main.c:1037: error: ‘MCL_CURRENT’ undeclared (first use in this >> function) >> iec_main.c:1037: error: (Each undeclared identifier is reported only >> once >> iec_main.c:1037: error: for each function it appears in.) >> iec_main.c:1037: error: ‘MCL_FUTURE’ undeclared (first use in this >> function) > > Before 2.5.2 there was no libxenomai library, so, the list of -l you > add: -lpthread -lrt -lnative is sufficient to workaround the fact that > your link order was wrong. It explains the link error. > > Before 2.5.2, what is now implemented in C files was implemented in > header files, which got included all over the place, and these header > files included sys/mman.h, but this caused all sort of troubles with > some versions of uclibc toolchains, this explains the error about the > missing include. > > Gilles thank you very much, does it mean that including mman.h is necessary. Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Xenomai-help] Fwd: Re: Xeno2.5 - 2.5.1 API mismatch? 2010-05-20 9:52 ` Sinisa Denic @ 2010-05-20 9:55 ` Gilles Chanteperdrix 0 siblings, 0 replies; 4+ messages in thread From: Gilles Chanteperdrix @ 2010-05-20 9:55 UTC (permalink / raw) To: Sinisa Denic; +Cc: xenomai@xenomai.org Sinisa Denic wrote: > On Thu, 20 May 2010 11:06:31 +0200, Gilles Chanteperdrix > <gilles.chanteperdrix@xenomai.org> wrote: > >> Sinisa Denic wrote: >>>>> /opt/toolchains/arm926t-uclibcgnueabi/usr/bin/arm-linux-gcc >>>>> -I/usr/xenomai-2.5.3-eabi/include -D_GNU_SOURCE -D_REENTRANT -Wall >>>>> -pipe >>>>> -D__XENO__ -lnative -L/usr/xenomai-2.5.3-eabi/lib -lxenomai -lpthread >>>>> -o./iecgoose_ld obj_iecgoose_ld/iec_main.o obj_iecgoose_ld/mms_arb.o >>>>> obj_iecgoose_ld/mmsop_en.o obj_iecgoose_ld/mvlop_en.o >>>>> obj_iecgoose_ld/mvl_acse.o obj_iecgoose_ld/event.o >>>>> obj_iecgoose_ld/logcfgx.o obj_iecgoose_ld/rdwrind.o >>>>> obj_iecgoose_ld/reject.o obj_iecgoose_ld/startup.o >>>>> obj_iecgoose_ld/uca_obj.o /opt/libMMSLITE-eabi//lib/mvlu_ld.a >>>>> /opt/libMMSLITE-eabi//lib/mlogl_ld.a >>>>> /opt/libMMSLITE-eabi//lib/mmsle_ld.a >>>>> /opt/libMMSLITE-eabi//lib/mmsl_ld.a /opt/libMMSLITE-eabi//lib/mem_ld.a >>>>> /opt/libMMSLITE-eabi//lib/slog_ld.a >>>>> /opt/libMMSLITE-eabi//lib/util_ld.a >>>>> /opt/libMMSLITE-eabi//lib/ositp4e_ld.a >>>>> /opt/libMMSLITE-eabi//lib/asn1l_ld.a -lm -lpthread -lrt -lnative >>>>> -static >>>> link order is wrong here: the list of -l should come after the list of >>>> .o, and if you do that, you will not need to repeat the list of -l. >>>> >>>> Your problem is that -lnative is missing in the list of -l you repeat, >>>> but it is better to put the result of xeno-config --xeno-ldflags after >>>> the list of .o (if you are using built-in makefile rules, this means >>>> puttin this in the LOADLIBES variable instead of putting it in >>>> LDFLAGS), >>>> and remove the repetition. >>>> >>> Oh thank you, sorry, this is my fault, this isn't my peace of code, just >>> working around. >>> I saw it and it was suspicious to me, but It was supposed to look more >>> closely, >>> Makefile came with library and it is modified to use Xenomai, because of >>> that it seems such a messy.. >>> >>> Now it's compiling but, have you idea why these errors appear from >>> xeno-2.5.1 version, >>> the same code compiling in xeno-2.4.x even xeno-2.5.0 without errors and >>> no need to add <sys/mman.h> . >>> >>> iec_main.c:1037: warning: implicit declaration of function ‘mlockall’ >>> iec_main.c:1037: error: ‘MCL_CURRENT’ undeclared (first use in this >>> function) >>> iec_main.c:1037: error: (Each undeclared identifier is reported only >>> once >>> iec_main.c:1037: error: for each function it appears in.) >>> iec_main.c:1037: error: ‘MCL_FUTURE’ undeclared (first use in this >>> function) >> Before 2.5.2 there was no libxenomai library, so, the list of -l you >> add: -lpthread -lrt -lnative is sufficient to workaround the fact that >> your link order was wrong. It explains the link error. >> >> Before 2.5.2, what is now implemented in C files was implemented in >> header files, which got included all over the place, and these header >> files included sys/mman.h, but this caused all sort of troubles with >> some versions of uclibc toolchains, this explains the error about the >> missing include. >> >> > Gilles thank you very much, > does it mean that including mman.h is necessary. Yes, and mlockall man page says so. -- Gilles. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-05-20 9:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <4BF444C2.9090508@domain.hid>
[not found] ` <4BF45174.7040802@domain.hid>
2010-05-20 7:48 ` [Xenomai-help] Fwd: Re: Xeno2.5 - 2.5.1 API mismatch? Sinisa Denic
2010-05-20 8:13 ` Gilles Chanteperdrix
[not found] ` <op.vczxulyi38inye@domain.hid>
[not found] ` <4BF4FB97.5000809@domain.hid>
2010-05-20 9:52 ` Sinisa Denic
2010-05-20 9:55 ` Gilles Chanteperdrix
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.