Hi all,

don't know what happened to this mail Marc must have sent last night, but I just received it from [EMAIL PROTECTED] Hope, everyone else got it correctly.

[EMAIL PROTECTED] wrote:
On Mon, May 09, 2005 at 02:13:28PM +0200, Michael Neuhauser wrote:

[...]


I've noticed that `config-rtai --lxrt-ldflags` is not used in
addons/examples/lxrt. This is problematic if RTAI debugging is enabled
and the RTAI inlining mode is set to "extern inline": debugging enabled
-> no optimisation -> functions are not inlined -> symbols like
"rt_printk" are missing because executables are not linked with liblxrt.


Grmpf - The first part of the fix is easy. I introduced a variable
called RTAI_USER_LDFLAGS (which contains either the lxrt or the fusion
ldflags). No problem so far.

But rtdm declares its functions with the same macro lxrt does (RTAI_PROTO),
resulting in the same problem.

gcc -I../../../../rtnet/stack/include -I../../../stack/include
-D__IN_RTNET__ -I.
-I/home/frogger/rtnet/bin/rtai-3.0-2.4-i386-debug/include -g
-I/home/frogger/rtnet/build/linux-2.4.27-adeos-i386/include -Wall
-Wstrict-prototypes -pipe -s -o rtnet_ifs rtnet_ifs.o
-L/home/frogger/rtnet/bin/rtai-3.0-2.4-i386-debug/lib
/home/frogger/rtnet/bin/rtai-3.0-2.4-i386-debug/lib/liblxrt.so -lpthread
-Wl,--rpath -Wl,/home/frogger/rtnet/bin/rtai-3.0-2.4-i386-debug/lib
-Wl,--rpath -Wl,/home/frogger/rtnet/bin/rtai-3.0-2.4-i386-debug/lib
rtnet_ifs.o(.text+0x7c): In function `main':
../../../../rtnet/addons/examples/lxrt/rtnet_ifs.c:55: undefined
reference to `socket_rt'
rtnet_ifs.o(.text+0xe2):../../../../rtnet/addons/examples/lxrt/rtnet_ifs.c:65:
undefined reference to `close_rt'
rtnet_ifs.o(.text+0x132):../../../../rtnet/addons/examples/lxrt/rtnet_ifs.c:76:
undefined reference to `ioctl_rt'
rtnet_ifs.o(.text+0x151):../../../../rtnet/addons/examples/lxrt/rtnet_ifs.c:79:
undefined reference to `close_rt'
rtnet_ifs.o(.text+0x1d6):../../../../rtnet/addons/examples/lxrt/rtnet_ifs.c:88:
undefined reference to `ioctl_rt'
rtnet_ifs.o(.text+0x1f5):../../../../rtnet/addons/examples/lxrt/rtnet_ifs.c:91:
undefined reference to `close_rt'
rtnet_ifs.o(.text+0x269):../../../../rtnet/addons/examples/lxrt/rtnet_ifs.c:109:
undefined reference to `close_rt'
collect2: ld returned 1 exit status

I'm working to make a librtdm.so and link against it. Another option is
to write our on RTAI_PROTO macro that always inlines....


If you are actually adding a librtdm.so, then this would also be interesting for the fusion version of rtai_rtdm. The current inline hack only works smoothly in case you include rtdm.h only once in your application (it contains some ugly variable definition...). Just let me know when the infrastructure is available.


But if the library way raises too much other issues, I would vote for option 2: stay inline with our own macros!

BTW: select_rt is broken for fusion, I'm going to switch select off for
fusion builds. Is this OK, HaPe?


...and what's its status for classic RTAI? I haven't checked your progress recently, HaPe.


Jan


PS: Mmh, this becomes more and more a discussion for the rtnet-developers list ;)



------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click _______________________________________________ RTnet-users mailing list RTnet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to