[Mono-bugs] [Bug 81270][Wis] New - Mono doesn't see a native library, if it is under a program directory
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Fri Mar 30 09:14:27 EDT 2007
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by lester.dev at gmail.com.
http://bugzilla.ximian.com/show_bug.cgi?id=81270
--- shadow/81270 2007-03-30 08:14:27.000000000 -0500
+++ shadow/81270.tmp.1257 2007-03-30 08:14:27.000000000 -0500
@@ -0,0 +1,122 @@
+Bug#: 81270
+Product: Mono: Runtime
+Version: 1.2
+OS: GNU/Linux [Other]
+OS Details: Ubuntu 6.10
+Status: NEW
+Resolution:
+Severity:
+Priority: Wishlist
+Component: interop
+AssignedTo: mono-bugs at ximian.com
+ReportedBy: lester.dev at gmail.com
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: Mono doesn't see a native library, if it is under a program directory
+
+Please fill in this template when reporting a bug, unless you know what you
+are doing.
+Description of Problem:
+Mono doesn't see a native library, if it is not in LD_LIBRARY_PATH. Well,
+actually it does, but in a strange way. There are two libraries in my
+program's directory, libIrrlichtW.so and libode.so. The first links just
+fine, but the second acts like a ghost. This is a fragment of strace output.
+
+stat64("./libode.so", 0xbfb56040) = -1 ENOENT (No such file or directory)
+stat64("./libode.so.so", 0xbfb56040) = -1 ENOENT (No such file or directory)
+stat64("./libode.so.la", 0xbfb56040) = -1 ENOENT (No such file or directory)
+open("./libode.so", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("ode", 0xbfb56040) = -1 ENOENT (No such file or directory)
+stat64("ode.so", 0xbfb56040) = -1 ENOENT (No such file or directory)
+stat64("ode.la", 0xbfb56040) = -1 ENOENT (No such file or directory)
+open("/etc/ld.so.cache", O_RDONLY) = 16
+fstat64(16, {st_mode=S_IFREG|0644, st_size=93823, ...}) = 0
+mmap2(NULL, 93823, PROT_READ, MAP_PRIVATE, 16, 0) = 0xaca37000
+close(16) = 0
+access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
+open("/lib/tls/i686/cmov/ode.so", O_RDONLY) = -1 ENOENT (No such file or
+directory)
+open("/lib/tls/i686/ode.so", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/lib/tls/cmov/ode.so", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/lib/tls/ode.so", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/lib/i686/cmov/ode.so", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/lib/i686/ode.so", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/lib/cmov/ode.so", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/lib/ode.so", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/tls/i686/cmov/ode.so", O_RDONLY) = -1 ENOENT (No such file
+or directory)
+open("/usr/lib/tls/i686/ode.so", O_RDONLY) = -1 ENOENT (No such file or
+directory)
+open("/usr/lib/tls/cmov/ode.so", O_RDONLY) = -1 ENOENT (No such file or
+directory)
+open("/usr/lib/tls/ode.so", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/i686/cmov/ode.so", O_RDONLY) = -1 ENOENT (No such file or
+directory)
+open("/usr/lib/i686/ode.so", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/cmov/ode.so", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/ode.so", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/lib/i486-linux-gnu/tls/i686/cmov/ode.so", O_RDONLY) = -1 ENOENT (No
+such file or directory)
+open("/lib/i486-linux-gnu/tls/i686/ode.so", O_RDONLY) = -1 ENOENT (No such
+file or directory)
+open("/lib/i486-linux-gnu/tls/cmov/ode.so", O_RDONLY) = -1 ENOENT (No such
+file or directory)
+open("/lib/i486-linux-gnu/tls/ode.so", O_RDONLY) = -1 ENOENT (No such file
+or directory)
+open("/lib/i486-linux-gnu/i686/cmov/ode.so", O_RDONLY) = -1 ENOENT (No such
+file or directory)
+open("/lib/i486-linux-gnu/i686/ode.so", O_RDONLY) = -1 ENOENT (No such file
+or directory)
+open("/lib/i486-linux-gnu/cmov/ode.so", O_RDONLY) = -1 ENOENT (No such file
+or directory)
+open("/lib/i486-linux-gnu/ode.so", O_RDONLY) = -1 ENOENT (No such file or
+directory)
+open("/usr/lib/i486-linux-gnu/tls/i686/cmov/ode.so", O_RDONLY) = -1 ENOENT
+(No such file or directory)
+open("/usr/lib/i486-linux-gnu/tls/i686/ode.so", O_RDONLY) = -1 ENOENT (No
+such file or directory)
+open("/usr/lib/i486-linux-gnu/tls/cmov/ode.so", O_RDONLY) = -1 ENOENT (No
+such file or directory)
+open("/usr/lib/i486-linux-gnu/tls/ode.so", O_RDONLY) = -1 ENOENT (No such
+file or directory)
+open("/usr/lib/i486-linux-gnu/i686/cmov/ode.so", O_RDONLY) = -1 ENOENT (No
+such file or directory)
+open("/usr/lib/i486-linux-gnu/i686/ode.so", O_RDONLY) = -1 ENOENT (No such
+file or directory)
+open("/usr/lib/i486-linux-gnu/cmov/ode.so", O_RDONLY) = -1 ENOENT (No such
+file or directory)
+open("/usr/lib/i486-linux-gnu/ode.so", O_RDONLY) = -1 ENOENT (No such file
+or directory)
+munmap(0xaca37000, 93823) = 0
+
+Instead this is another fragment, which shows a correct finding of another
+library.
+
+stat64("./libIrrlichtW.so", {st_mode=S_IFREG|0700, st_size=3318720, ...}) = 0
+open("./libIrrlichtW.so", O_RDONLY) = 12
+read(12, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \363\23"..., 512)
+= 512
+fstat64(12, {st_mode=S_IFREG|0700, st_size=3318720, ...}) = 0
+
+As you can see, the mono doesn't see a library under a program directory,
+so it looks for a it at the whole LD_LIBRARY_PATH. If I place it under one
+of those directories it starts just fine. The libraries are in the same
+directory, so why does one links, and another refuses to do it?
+
+Steps to reproduce the problem:
+1. I don't know what is the reason of this behaviour
+2.
+3.
+
+Actual Results:
+the mono doesn't see a library
+
+Expected Results:
+the library should be found and linked to the program
+
+How often does this happen?
+Everytime
+
+Additional Information:
More information about the mono-bugs
mailing list