On Dec 19, 2008, at 9:46 AM, Chris wrote:
I've bumped into a library I can't resolve and I must have a
disconnect
in how the linux_compat works because I can't see how it could be
solved.
I found that using FreeBSD Port fam for the daemon with openSUSE 10
fam 2.7.0 for my /compat/linux/lib/libfam.so* worked. Other fam versions
from other linux distributions failed. I'm able to detect file
changes with a linux binary that employs libfam.so. I tested it using
the
fileschanged application provided with the linux fam version. qbmonitord
also works with this configuration.
I have the following:
* compat_linux enabled in the kernel,
* /usr/ports/emulators/linux_base_fc7
* sysctl kern.fallback_elf_brand=3
* rpm2cpio to alter rpms
* cpio to create the directories and place the files where they
belong in /compat/linux.
I have a program that now has all it's libraries resolved but one in
preparation to attempt to run the Linux Quickbooks install on FreeBSD.
The ldd output, prior to installing /usr/ports/devel/fam (a
required shared
library) looks like this.
ldd ./opt/qbes7/util/qbmonitord
./opt/qbes7/util/qbmonitord:
libfam.so.0 => not found
libpthread.so.0 => /lib/libpthread.so.0 (0x28072000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x28088000)
libm.so.6 => /lib/libm.so.6 (0x28171000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x28198000)
libc.so.6 => /lib/libc.so.6 (0x281a4000)
/lib/ld-linux.so.2 (0x28054000)
I install fam to get rid of the not found, perform the following link:
ln /usr/local/lib/libfam.so.0 /compat/linux/lib/libfam.so.0
and then I get this:
ldd ./opt/qbes7/util/qbmonitord
./opt/qbes7/util/qbmonitord:
./opt/qbes7/util/qbmonitord: error while loading shared libraries: /
lib/libfam.so.0: ELF file OS ABI invalid
./opt/qbes7/util/qbmonitord: exit status 127
which kind of makes sense since this library is not a linux
library. I'd read
that I don't need to brandelf -t linux a library but I tried that
anyway,
realizing it was likely meaningless (or harmful). It didn't help of
course.
My next thought was to try and get a libfam.so.0 binary from a
linux distro
but stopped when it occurred to me that it would be illogical since
fam uses
kqueue on FreeBSD rather than something called imon. imon is not
available
for FreeBSD so a linux version shouldn't be able to function if it
expects that. On
FreeBSD, fam configures itself to not use imon.
What is the appropriate course of action to get a linux flavor
shared library
for fam (or anything which runs into such conflicts) that will work
on FreeBSD
yet be recognized as suitable for linux under the compat mode?
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-
unsubscr...@freebsd.org"
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"