| 00:00:05 | tzanger | I have a small .tgz that demonstrates it if you have a couple of minutes |
| 00:10:37 | bug1 | is the library your calling stripped ? |
| 00:10:54 | bug1 | that might muck things up |
| 00:11:12 | tzanger | no |
| 00:11:20 | tzanger | or at least I'm pretty sure it's not |
| 00:11:31 | tzanger | www.mixdown.org/andrewtest.tgz is the mini test |
| 00:11:47 | tzanger | all it is is a shared lib that calls a zlib function and two test apps |
| 00:19:21 | bug1 | looks like the mylib is the problem rather than zlib |
| 00:19:29 | tzanger | yeah? |
| 00:19:51 | tzanger | I thought it was zlib since the unresolved symbols are coming from it |
| 00:20:13 | tzanger | you got a bunch of symbol 'somezlibsym': blah blah right? |
| 00:20:41 | bug1 | ./mytest: error while loading shared libraries: libmylib.so: cannot open shared object file: No such file or directory |
| 00:20:46 | tzanger | oh |
| 00:20:52 | tzanger | LD_LIBRARY_PATH=. ./mytest |
| 00:20:58 | tzanger | the shared lib is outside the normal path |
| 00:21:02 | bug1 | oh yea |
| 00:21:12 | tzanger | mytest should work fine, it's mytest2 that should confuse you |
| 00:22:03 | bug1 | home:/home/bug1/shlib/test# LD_LIBRARY_PATH=. ./mytest2 |
| 00:22:04 | bug1 | This is libfunc. |
| 00:22:04 | bug1 | lib: zlib version is 1.1.4 |
| 00:22:12 | tzanger | yes that's mytest |
| 00:22:15 | tzanger | whoa wait |
| 00:22:24 | bug1 | i didnt do anything special |
| 00:22:29 | tzanger | mytest2 gave you that?? mytest2 never calls libfunc |
| 00:22:35 | tzanger | or did I screw up the makefile |
| 00:23:14 | tzanger | no the makefile looks right |
| 00:23:19 | tzanger | but mytest2 never calls libfunc |
| 00:23:36 | bug1 | mytest2 works for me but mytest doesnt |
| 00:23:42 | tzanger | ?? |
| 00:24:19 | tzanger | # LD_LIBRARY_PATH=. ./mytest |
| 00:24:20 | tzanger | This is main() |
| 00:24:20 | tzanger | This is libfunc. |
| 00:24:20 | tzanger | lib: zlib version is 1.1.4 |
| 00:24:49 | tzanger | # LD_LIBRARY_PATH=. ./mytest2 |
| 00:24:49 | tzanger | ./mytest2: symbol '_length_code': can't resolve symbol 'L' |
| 00:24:49 | tzanger | ./mytest2: symbol 'adler32': can't resolve symbol 'L' |
| 00:24:49 | tzanger | ./mytest2: symbol 'zcfree': can't resolve symbol 'L' |
| 00:24:52 | tzanger | ./mytest2: symbol 'inflate_mask': can't resolve symbol 'L' |
| 00:24:52 | tzanger | ./mytest2: symbol '_dist_code': can't resolve symbol 'L' |
| 00:24:52 | tzanger | ./mytest2: symbol 'z_errmsg': can't resolve symbol 'L' |
| 00:24:54 | tzanger | ./mytest2: symbol 'zcalloc': can't resolve symbol 'L' |
| 00:25:17 | bug1 | home:/home/bug1/shlib/test# LD_LIBRARY_PATH=. ./mytest |
| 00:25:17 | bug1 | This is main() |
| 00:25:17 | bug1 | This is libfunc. |
| 00:25:17 | bug1 | lib: zlib version is 1.1.4 |
| 00:25:33 | bug1 | home:/home/bug1/shlib/test# LD_LIBRARY_PATH=. ./mytest2 |
| 00:25:33 | bug1 | This is libfunc. |
| 00:25:33 | bug1 | lib: zlib version is 1.1.4 |
| 00:25:57 | tzanger | wtf |
| 00:26:02 | tzanger | you're in uclibc? |
| 00:26:12 | bug1 | oh... no |
| 00:26:13 | tzanger | or a glibc/uclibc environment |
| 00:26:16 | bug1 | glibc |
| 00:26:18 | tzanger | ah |
| 00:26:24 | bug1 | sorry |
| 00:26:29 | tzanger | I think all apps are linked against ld-linux.so.2 in glibc |
| 00:26:36 | tzanger | er not just apps... but everything |
| 00:26:46 | tzanger | I don't know if that is the case in a pure-uclibc environment, which would epxlain my problem I think |
| 00:26:53 | tzanger | I need andersee or mjn3 though :-) |
| 00:27:10 | bug1 | yea, i think its a bit beyond my help |
| 00:27:18 | tzanger | I appreciate your help :-) |
| 00:27:24 | bug1 | n.p. |
| 00:28:08 | tzanger | could you tell me what the ldd output is for both those programs and libmylib? |
| 00:28:55 | bug1 | libmylib.so: |
| 00:28:56 | bug1 | libz.so.1 => /usr/lib/libz.so.1 (0x40011000) |
| 00:28:56 | bug1 | libc.so.6 => /lib/libc.so.6 (0x4001f000) |
| 00:28:56 | bug1 | /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) |
| 00:29:07 | bug1 | mytest: |
| 00:29:07 | bug1 | libmylib.so => not found |
| 00:29:07 | bug1 | libc.so.6 => /lib/libc.so.6 (0x40022000) |
| 00:29:07 | bug1 | /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) |
| 00:29:17 | bug1 | mytest2: |
| 00:29:17 | bug1 | libdl.so.2 => /lib/libdl.so.2 (0x40022000) |
| 00:29:17 | bug1 | libc.so.6 => /lib/libc.so.6 (0x40025000) |
| 00:29:17 | bug1 | /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) |
| 00:29:23 | bug1 | not found / |
| 00:29:26 | bug1 | ? |
| 00:29:32 | tzanger | yeah because it's not in the linker path remember |
| 00:29:37 | bug1 | yep |
| 00:29:39 | tzanger | what abot your /lib/libz.so.1? |
| 00:30:10 | bug1 | home:/home/bug1/shlib/test# ldd /usr/lib/libz.so.1 |
| 00:30:10 | bug1 | libc.so.6 => /lib/libc.so.6 (0x4001d000) |
| 00:30:11 | bug1 | /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) |
| 00:30:12 | tzanger | I'm betting it has ld-linux.so.2 |
| 00:30:12 | tzanger | yup |
| 00:30:42 | bug1 | so dou you have your libz linked against uclibc ? |
| 00:30:48 | tzanger | yes |
| 00:30:49 | tzanger | but not ld |
| 00:30:52 | tzanger | hmm |
| 00:32:12 | bug1 | can you use your libz as normal static or shared library as opposed to a dynamic one |
| 00:32:19 | tzanger | yes |
| 00:32:24 | tzanger | unfortunately it has to by dynamic |
| 00:32:25 | tzanger | for perl |
| 00:32:34 | tzanger | (zlib is just my test lib, the actual one I need is expat) |
| 00:33:01 | bug1 | expat is xml isnt it |
| 00:33:05 | tzanger | yes |
| 00:33:10 | tzanger | I need it for the perl xml-rpc lib |
| 00:33:27 | tzanger | but it won't load because it's not getting linked against the dynamic linker I think |
| 00:33:29 | tzanger | **I think** |
| 00:33:44 | tzanger | offhand I didn't know there was any difference between shared and dynamic libs until just now |
| 00:34:55 | bug1 | the linker still has to find the symbols when using it as a normal shared (not dynamic) libarary |
| 00:35:14 | tzanger | right |
| 00:36:18 | bug1 | a normal shared library is just linked against at compile time |
| 00:36:29 | bug1 | dynamic is at runtime |
| 00:36:38 | bug1 | to the best of my knowledge |
| 00:36:42 | tzanger | yes |
| 00:36:58 | tzanger | but on uclibc libmylib is not dyamic |
| 00:37:00 | tzanger | just shared |
| 00:37:03 | tzanger | as seen my by ld output |
| 00:37:05 | tzanger | er ldd output |
| 00:37:19 | tzanger | er |
| 00:37:20 | tzanger | ? |
| 00:37:23 | tzanger | it is dyanmic? |
| 00:37:24 | bug1 | i think the library is the same, its just how you use it |
| 00:37:40 | tzanger | then why can't I get at zlib... |
| 00:39:07 | bug1 | In the example in the man page they compile it with gcc -rdynamic -o foo foo.c -ldl |
| 00:39:34 | tzanger | yeah |
| 00:40:03 | bug1 | do you need the -rdynamic ? |
| 00:40:29 | tzanger | I think that may have done it... |
| 00:40:30 | tzanger | testing... |
| 00:42:32 | tzanger | it's still not linked against ld-linux.so.2 |
| 00:42:48 | tzanger | nope |
| 00:44:08 | tzanger | dammit |
| 01:11:23 | tzanger | BZFlag: do you know much about uclibc's dynamic loader? |
| 01:23:36 | BZFlag | not as much and andersee. ;-) |
| 01:23:42 | tzanger | heh |
| 01:24:12 | tzanger | do you have a uclibc system there? (pure uclibc) |
| 01:26:33 | BZFlag | the TuxScreen, but mines not up at the moment. |
| 01:28:09 | tzanger | ah |
| 01:32:53 | tzanger | how can I exclude /kernel but not initrd/kernel/ with tar -X? I've tried /kernel and ./kernel... |
| 01:33:00 | tzanger | ha |
| 01:33:01 | tzanger | wrong window |
| 01:39:41 | aaronl | yay andersee |
| 01:39:52 | aaronl | you get to hope andre will fix your ide problems! |
| 01:41:32 | andersee | heh |
| 01:42:02 | andersee | I've been trading patches w/him this evening |
| 01:55:27 | andersee | aaronl: one more bug to fix, and uClibc will be ready for another release. |
| 01:59:04 | aaronl | cool |
| 01:59:12 | aaronl | has anyone tried linking BZFlag to uclibc? |
| 01:59:40 | andersee | It now passes all tests in both the perl and python test suites w and w/o threads. :) |
| 02:01:27 | andersee | aaronl: You might wanna ask BZFlag. :) |
| 02:01:50 | andersee | BZFlag: hey Tim, anyone tried linking BZFlag vs uClibc? |
| 02:09:34 | andersee | evening sjhill |
| 02:09:38 | sjhill | hey andersee |
| 02:09:44 | sjhill | is here for just a little bit |
| 02:09:52 | sjhill | i'm addicted to my new mips board |
| 02:11:18 | andersee | Oh? |
| 02:11:21 | BZFlag | aaronl: nope, I don't have any uclibc based systems with glx so I didn't see the point. ;-) |
| 02:11:22 | andersee | Fast? |
| 02:12:10 | sjhill | andersee: (2) 500MHz MIPS ISA V instruction set cores with (3) gigabit ethernets, (2) ddr memory controllers, 64-bit pci, and hypertransport bus |
| 02:12:37 | sjhill | i love it |
| 02:14:16 | andersee | sjhill: wow |
| 02:14:31 | andersee | sjhill: Sounds pretty cool. hows the power consumption? |
| 02:14:44 | andersee | How many PCI slots? |
| 02:14:55 | sjhill | (2) 64-bit (2) 32-bit pci slots |
| 02:15:03 | sjhill | power consumption..hehe...5w |
| 02:15:12 | tzanger | wow |
| 02:15:21 | sjhill | it kicks ass |
| 02:15:27 | tzanger | let me say that again... WOW |
| 02:15:44 | andersee | sjhill: got an extra one? ;-) |
| 02:15:54 | sjhill | andersee: sure, for $30k |
| 02:16:49 | andersee | sjhill: Lemme sell my children on ebay first to see how much I can raise. |
| 02:16:54 | sjhill | lol |
| 02:16:54 | tzanger | hahaha |