On Dec 20, 2008, at 6:05 AM, Boris Samorodov wrote:

On Fri, 19 Dec 2008 09:46:03 -0800 Chris wrote:

This question is may be better unswered at emulation@ ML.


Oops, I didn't ever notice that list as I've never needed Linux before.
I hate to trouble development lists with an operational issue but this
one is starting to look like an incompatibility that is beyond me.
The Linux and FreeBSD versions of gamin both fail on inotify_init.
Not having the source to the program I'm trying to run makes it
very difficult to fix even though the functionality is there (perhaps even
superior) on FreeBSD.

I ended up using the linux libfam.so.0 from the gamin distribution
for Fedora 9. Using it's server fails instantly, using the freebsd port
version, the server doesn't fail until the Linux client library attempts
to connect. Then it too gets "inotify_init not implemented". The
Fam list appears to be defunct and I've not yet tried the direct mail
contact to the gamin development page. I'm assuming the answer
would be that you use native FreeBSD libfam.so on FreeBSD and
the linux version on Linux. I've no way to tell the Intuit daemon to
do that because of the ABI error and I presume there is an
underlying reason why a native library can't be used by a linux
binary.

I will try the other list if no one has run into a similar problem with
other Linux apps. I may be kicking a dead horse but it seems others
have talked about using FreeBSD in this manner and it makes it an
interesting challenge. The time I'm investing in this is probably not
any more time that it would take to configure and secure an openSUSE
or Fedora system (having never bothered with them before). Plus
it would mean not adding an additional server into my net just for
a trivial SMB/file monitoring application.

Thanks for the response.

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 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?

Try to create and use linux-fam port.

I also tried this but it appears that gamin is a more recent implementation.
It also provides the libfam.so.0.



WBR
--
bsam
_______________________________________________
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"

Reply via email to