Notes |
|
(0010458)
|
dam
|
2013-07-01 22:15
|
|
|
|
(0010459)
|
raos
|
2013-07-02 08:01
|
|
I believe to know, that there is software out there which checks for existence libfam (can't recall which one though). Further, according to https://people.gnome.org/~veillard/gamin/differences.html, [^] libfam from gamin is binary compatible to the SGI fam implementation.
So, even tough, SGI libfam is legacy, I would pull in gamin libfam in libgamin-dev.
Opinions? |
|
|
(0010462)
|
mi
|
2013-07-03 21:12
|
|
The software I'm building needs fam.h to compile and -lfam to link. Whether -lfam is provided by FAM or Gamin does not matter -- Gamin is a drop-in replacement for FAM. It is API-compatible and, perhaps, even ABI compatible...
For example, on my FreeBSD desktop I have:
% pkg_info -W /opt/lib/libfam.so.0
/opt/lib/libfam.so.0 was installed by package gamin-0.1.10_4
CSWgamin, instead, installs libgamin.so. In such a case, perhaps, libfam.so should be a symlink to libgamin, but not a broken symlink to libfam.so.0.0.0. |
|
|
(0010463)
|
dam
|
2013-07-03 21:30
|
|
Just to make sure: Does your software compile after you install CSWlibfam0 ? |
|
|
(0010464)
|
mi
|
2013-07-04 02:14
|
|
Yes, it does. It was written for FAM -- before Gamin appeared on the scene. All of the FAM-using software out there can be built against either. Gamin is just more feature-full and has more OS-specific backends (kqueue for BSD, /dev/poll for Solaris, inotify or whatever on Linux, etc.) to do its job efficiently. |
|
|
(0010477)
|
raos
|
2013-07-07 21:30
|
|
Just pushed a respin of gamin in unstable, which pulls in libfam when ibgamin_dev is installed. |
|
|
(0010479)
|
mi
|
2013-07-08 16:08
|
|
raos, could you clarify, please? My reading of your last comment is that libgamin_dev now depends on FAM, which would be very very wrong... |
|
|
(0010480)
|
raos
|
2013-07-08 17:17
|
|
Sorry for the fuzz. What I meant: when installing libgamin_dev, or CSWlibgamin-dev, for that matter, *gamin's* CSWlibfam0 will be automatically installed. In other words, I is now the same way as on FreeBSD, for instance. |
|
|
(0010481)
|
mi
|
2013-07-08 17:31
|
|
Thanks, but what will gamin's CSWlibfam0 install? All that's currently wrong with gamin_dev is that the libfam.so.0 symlink it creates points at the non-existant libfam.so.0.0.0 instead of the present libgamin.so
Will CSWlibfam0 create the missing libfam.so.0.0.0? Will that be identical to libgamin.so or a link (symbolic or hard) to it? |
|
|
(0010486)
|
raos
|
2013-07-09 17:33
|
|
> All that's currently wrong with gamin_dev is that the libfam.so.0 symlink it creates points at the non-existant libfam.so.0.0.0 instead of the present libgamin.so
Doing that so would be wrong. Even FreeBSD did not do it that way.
When you install libgamin_dev, you will now automatically receive CSWlibfam0 as a dependency, which will provide (create) libfam.so.0.0.0.
Now, there is libfam.so points to libfam.so.0.0.0 and libgamin-1.so (there is no libgamin.so) points to libgamin-1.so.0.1.10.
Judging from the file size, libfam.so.0.0.0 and libgamin-1.so.0.1.10 are not identical.
Anyhow, use pkgutil to update libgamin_dev and try to rebuild your application. |
|
|
(0010487)
|
mi
|
2013-07-09 18:24
|
|
You are right, that FreeBSD does not create libgamin.so. The gamin package (we don't split things into foo and foo_dev -- that seems like a Linux thing) installs simply libfam.so, which is a symlink to libfam.so.0. The CSW package does install the same library as libgamin-1.so.*, which is fine. All that's needed is for the libfam.so to exist and point to a valid, Gamin-provided library.
When I reported the broken symlink, I expected the symlink to be fixed to point to libgamin.so. Dragging in the actual FAM in order to install Gamin (or Gamin_dev) is crazy -- Gamin is a replacement for FAM, it can not require FAM to function.
If CSWlibfam0's libfam.so.0.0.0 and CSWgamin's libgamin-1.so.0.1.10 are not identical, then either CSWlibfam0 is installing an older version of Gamin implementation or it is simply the FAM implementation. Neither choice is a good one.
Pointing libfam.so to libgamin-1.so.0.1.0 seems like the best solution at this time -- it is what I did by hand here and my application is working... |
|
|
(0010489)
|
raos
|
2013-07-10 07:54
|
|
Just to make sure we're on the same page. When I'm talking about libfam, I don't talk about *SGI FAM*. SGI FAM has gone. The libfam I talk, comes with gamin. It is part of the upstream release. Also the symlinks, they are created by the upstream release of gamin. And so far, I don't see any reason why the upstream release should be wrong. |
|