Re: Some issues with the newest pre-release (20050526)

  • From: tpgww@xxxxxxxxxxx
  • To: emelfm2@xxxxxxxxxxxxx
  • Date: Wed, 22 Jun 2005 21:22:25 +1000

On Tue, 21 Jun 2005 19:20:16 -0400
Keith Novelist Fancher <kf54876@xxxxxxxxxxxx> wrote:

> > If you have FAM or gamin (>= 0.1) development files available, 
> > compile with the relevant option (see the file INSTALL). Gamin does 
> > better than timechecks, but  still not bullet-proof. I've never
> > tried FAM.
> 
> I installed the newest versions of both FAM and Gamin, and tried
> building Emelfm2 with support for Gamin first, then FAM, then both. 
> Of course in the code, apparently, turning on Gamin turns on FAM too,
> so I guess that last one didn't matter.  The problem is there is a
> linker error.  Following is the output:
> 
> linking binary 'emelfm2'
> objs/src/filesystem/e2_fs_FAM.o(.text+0x64): In function
> `e2_fs_FAM_connect':
> : undefined reference to `FAMNoExists'
> collect2: ld returned 1 exit status
> make: *** [emelfm2] Error 1
> 
> I have the devel stuff installed for Gamin and FAM (since I compiled
> them from source) so I don't really know what the problem is.  Oh, by
> the way, I'm using the new 20050617 prerelease now, and all the
> previously mentioned issues seem to be fixed.  The only thing that
> remains is this pesky unplug refresh thing (at least for me).  Well
> done.

As I understand it, the API for gamin (as of v 0.1.0) differs from vanilla FAM 
only in that the former has that extra function, FAMNoExists. Given that large 
overlap, and as you've noted, enabling gamin support in the pre-release will 
build a lot of code that FAM needs, but also that extra function call that only 
gamin has. If you provide USE_GAMIN=1, you don't need to specifically add 
USE_FAM=1 - the Makefile in effect does that for you.

Some time back, I did once have here an e2 crash which I think was due to its 
being built with gamin support, followed by a system upgrade which installed 
FAM but not gamin. My takeaway was that FAM and gamin don't play well together. 
I think gamin and FAM use the same names for libraries, for instance. I also 
just noticed that the spec for the gamin rpm I installed includes "Obsoletes: 
fam".

I guess if you've installed from source there would be no warning about file 
conflict?

If you've got time, perhaps you'd be willing to experiment a little on behalf 
of the rest of us:

1. try uninstalling FAM, reinstalling gamin, then build e2 with USE_GAMIN=1. 
That would mimic the arrangement I've been using for quite some time.

and the converse:
2. try uninstalling gamin, reinstalling FAM, then build with USE_FAM=1

and if you can be bothered,
3. install both FAM and gamin in the reverse order that you used before, and 
see what happens when you build with USE_FAM or USE_GAMIN.

Look forward to hearing how you get on.

BTW, the latest gamin (0.1.1) is buggy, e.g. it's bad at reporting things 
related to symlinks. So you still need to manually refresh sometimes.

Regards
Tom


-- 
Users can unsubscribe from the list by sending email to 
emelfm2-request@xxxxxxxxxxxxx with 'unsubscribe' in the subject field or by 
logging into the web interface.

Other related posts: