Re: [evlog-dev] -- plugin problem
Hien Nguyen <[email protected]> Fri, 17 Jan 2003 10:38:22 -0800
| Newsgroups | gmane.linux.kernel.event-logging |
|---|---|
| Message-ID | <[email protected]> |
Hi Yi, Looks like some version of glibc on IA64 requires apps to explicitly declare some of those string functions. Without declaration the compiler just returns an integer (32 bits) instead of a pointer (64 bits). Adding a #include <string.h> to backendmgr.c should fix the problem you see with strrchr. Regarding tcp_rmtlog_be, it should work if both client and consolidator nodes are IA64 :-) . We have plan to get remote log works across platforms in the future, but right now it does not. Zhu, Yi wrote: > Hi Hien, > > The problem is solved after followed your steps. > > I have a quesstion here, does current evlog support IA64? I can't find dir > ia64 in evlog/kernel/v2.4.18/arch, though I found some "defined(__ia64__)" > in the implementation. > > Another thing is I found the glibc-2.2.4-31.2 in redhat 2.1AS has a problem. > I don't know whether encountered this, but I had to replace the code in file > backendmgr.c line 46 with > > - ext = (char *) strrchr(name, '.'); > + ext = name + 9; /* sample_be has 9 chars */ > > It is ugly, but I otherwise I got a segment fault. Because the returned ext > from strrchr() is '0x3213c', but it should be '0x600000000003213c'. > > BTW, can you use the tcp_rmtlog_be in IA64? I can't, it seems to halt in > file tcp_rmtlog_be.c line 358 when opening the fifo. > > Thanks, > -Zhu Yi > > -----Original Message----- > From: Hien Nguyen [mailto:[email protected]] > Sent: 2003?1?17? 1:46 > To: Hien Nguyen > Cc: Zhu, Yi; 'Steve Woodruff'; evlog mailing list > Subject: Re: [evlog-dev] -- plugin problem > > > Hi Steve, Yi, > > I got it to work on my IA64 now. It is basically a linker problem. You > need to modify the libevl Makefile under evlog/user/lib/Makefile to link > with the libgcc_s.so > > Mine was looking like this > > libevl.so: $(DOTSOS) query/made template/made util/made > rm -f libevl.so > ld -share -soname libevl.so.1 -o libevl.so $(LIB_SO) -lc > -L/home/janis/gnu/tools/gcc-mainline/lib -lgcc_s > > I am not sure why we have to dothis on the IA64 and not IA32, could it > be a linker bug or gcc bug? > > Thanks, Hien. > > Hien Nguyen wrote: > >>Yes, I got the same problem as Yi and Steve on my IA64 as I tried it >>last night. >> >>./evlogd: relocation error: /usr/lib/libevl.so.1: undefined symbol: >>__moddi3 >> >>I am gooing to look for solution (work around) for this problem. >> >>Hien. >> >>Zhu, Yi wrote: >> >> >>>Hi, >>> >>>I got the same problem with Steve. My 4-way IA64 with Redhat 2.1AS >>>also got >>>the relocation error when using the plugin share libraries. Instead, my >>>error is "relocation error: /usr/lib/libevl.so.1: undefined symbol: >>>__moddi3". >>>Below is the gdb trace >>> >>>200 for(i = 0; i < MAX_BACKENDS; i++) { >>>(gdb) n >>>201 if (be_table[i].func != NULL) { >>>(gdb) print be_table >>>$1 = {{plugin = 0x600000000001f210, func = 0x200000000003f7b8 >>><local+8424>, >>>state = 0}, {plugin = 0x0, func = 0, state = 0}, {plugin = 0x0, >>>func = 0, state = 0}, {plugin = >>>0x0, func = 0, state = 0}, { >>> plugin = 0x0, func = 0, state = 0}, {plugin = 0x0, func = 0, state >>>= 0}, >>>{plugin = 0x0, func = 0, state = 0}, {plugin = 0x0, func = 0, >>>state = 0}, {plugin = 0x0, func = >>>0, state = 0}, {plugin = 0x0, func = 0, state = 0}} >>>(gdb) n >>>202 func_ret = (*(be_table[i].func))(data1, >>>data2, evl_callback); >>>(gdb) n >>>------------Got events.----------------- >>>Read 95 bytes from pipe >>>./evlogd: relocation error: /usr/lib/libevl.so.1: undefined symbol: >>>__moddi3 >>>203 if (func_ret != 0) { >>>(gdb) >>> >>>But I don't think it is the evlog bug. It must be some bug related to the >>>ia64 glibc relocation, because the __moddi3 is defined in glibc and >>>uses by >>>libevl.so.1. My glibc version is 2.2.4-29.2. >>> >>>Thanks, >>>-Zhu Yi >>> >>>-----Original Message----- >>>From: Zhu, Yi [mailto:[email protected]] >>>Sent: 2003?1?16? 11:39 >>>To: 'Steve Woodruff'; evlog mailing list >>>Subject: RE: [evlog-dev] -- plugin problem >>> >>> >>>Hi Steve, >>> >>>The defined LOG_POSIX_PRINTF v2.4.18 include/linux/evl_log.h is only >>>in the >>>CVS, it is not in 1.5.0 source rpm. See the list before, I submitted a >>>patch >>>to fix the bug. >>> >>>I have an IA64 machine with me, I'll try to setup it after lunch. :) >>> >>>Thanks, >>>-Zhu Yi >>> >>> >>> >>>>-----Original Message----- >>>>From: Steve Woodruff [mailto:[email protected]] >>>>Sent: Thursday, January 16, 2003 11:32 AM >>>>To: evlog mailing list >>>>Subject: RE: [evlog-dev] -- plugin problem >>>> >>>> >>>>Hi, >>>> >>>>Yes - this is a HP RX2600 (IA64). The __umodsi3 >>>>symbol is in libgcc_s.so -- and it shows up in >>>>/proc/ksysms. >>>> >>>>I didn't grab source from cvs, but rather the >>>>1.5.0 source rpm from the project site. You >>>>say that the v2.4.18 include/linux/evl_log.h >>>>has LOG_POSIX_PRINTF defined? Hein, did u >>>>just add that today? >>>> >>>>Thanks! >>>> >>>>/steve >>>> >>>> >>>> >>>>--- "Zhu, Yi" <[email protected]> wrote: >>>> >>>> >>>>>Hi Steve, >>>>> >>>>>I use Redhat 8.0 on a SMP P3 machine, I have no >>>>>problem with running the >>>>>sample_be code. I can also run the tcp_rmtlog_be and >>>>>udp_rmtlog_be >>>>>successfully. I suggest you check out the latest >>>>>evlog code from cvs, it has >>>>>all the POSIX_LOG_PRINTF defined in all the kernels' >>>>>evl_log.h. >>>>> >>>>>I did a search for umodsi3 in /usr/lib/libevl.so.1 >>>>>and /lib/i686/libc.so.6 >>>>>using "nm /lib/i686/libc.so.6 |grep umodsi3", but >>>>>cannot find any. >>>>> >>>>>Are you using an IA64? >>>>> >>>>>Thanks, >>>>>-Zhu Yi >>>>> >>>> >>>> >>>> >>>>===== >>>>---------------------------------------------------------- >>>>Steve Woodruff, N9OH @ 42.18N 88.34W, [email protected] >>>> >>>>__________________________________________________ >>>>Do you Yahoo!? >>>>Yahoo! Mail Plus - Powerful. Affordable. Sign up now. >>>>http://mailplus.yahoo.com >>>> >>>> >>>>------------------------------------------------------- >>>>This SF.NET email is sponsored by: A Thawte Code Signing Certificate >>>>is essential in establishing user confidence by providing assurance >>>>of authenticity and code integrity. Download our Free Code Signing >>>>guide: >>>>http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0028en >>>>_______________________________________________ >>>>evlog-developers mailing list >>>>[email protected] >>>>https://lists.sourceforge.net/lists/listinfo/evlog-developers >>>> >>> >>> >>> >>>------------------------------------------------------- >>>This SF.NET email is sponsored by: A Thawte Code Signing Certificate >>>is essential in establishing user confidence by providing assurance of >>>authenticity and code integrity. Download our Free Code Signing guide: >>>http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0028en >>>_______________________________________________ >>>evlog-developers mailing list >>>[email protected] >>>https://lists.sourceforge.net/lists/listinfo/evlog-developers >>> >>> >>>------------------------------------------------------- >>>This SF.NET email is sponsored by: Thawte.com >>>Understand how to protect your customers personal information by >>>implementing >>>SSL on your Apache Web Server. Click here to get our FREE Thawte >>>Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en >>>_______________________________________________ >>>evlog-developers mailing list >>>[email protected] >>>https://lists.sourceforge.net/lists/listinfo/evlog-developers >>> >> >> >> >> >>------------------------------------------------------- >>This SF.NET email is sponsored by: Thawte.com >>Understand how to protect your customers personal information by >>implementing >>SSL on your Apache Web Server. Click here to get our FREE Thawte Apache >>Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en >>_______________________________________________ >>evlog-developers mailing list >>[email protected] >>https://lists.sourceforge.net/lists/listinfo/evlog-developers >> > > > > ------------------------------------------------------- > This SF.NET email is sponsored by: Thawte.com > Understand how to protect your customers personal information by implementing > SSL on your Apache Web Server. Click here to get our FREE Thawte Apache > Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en > _______________________________________________ > evlog-developers mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/evlog-developers > ------------------------------------------------------- This SF.NET email is sponsored by: Thawte.com - A 128-bit supercerts will allow you to extend the highest allowed 128 bit encryption to all your clients even if they use browsers that are limited to 40 bit encryption. Get a guide here:http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0030en