libextractor
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [libextractor] Not showing meta information


From: Christian Grothoff
Subject: Re: [libextractor] Not showing meta information
Date: Fri, 4 Jun 2010 10:54:47 +0200
User-agent: KMail/1.13.3 (Linux/2.6.32-trunk-vserver-amd64; KDE/4.4.3; x86_64; ; )

On Friday 04 June 2010 09:13:49 Peter Muhr wrote:
> Good morning,
> 
> okay, so I edited PATH and deleted symlink like you recommended above. I
> can call extract without putting a path in front - but still the behaviour
> is the same like before. I ran the commands you told me and the output is
> the same as written in my last post.
> 
> I did a search on 'second' but couldn't find anything. I installed and ran
> strace like you recommended. The output is:
> $ strace extract dmca.pdf
> 
> open("/usr/local", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) =
> 3
> fstat64(3, {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
> fcntl64(3, F_GETFD)                     = 0x1 (flags FD_CLOEXEC)
> getdents64(3, /* 31 entries */, 4096)   = 1144
> open("/usr/local", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) =
> 4
> fstat64(4, {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
> getdents64(4, /* 31 entries */, 4096)   = 1144
> 
> ======
> 
> I hope that helps. I couldn't see a path where LE is looking for plugins in
> the output, so it doesn't mean a lot to me.

I've condensed the output to the relevant lines: it is looking in 
"/usr/local", instead of "/usr/local/lib/libextractor/"

I just looked at the code (in extractor.c), and this explains that part:

  p = getenv("LIBEXTRACTOR_PREFIX");
  if (p != NULL)
    {
      d = strdup (p);
      prefix = strtok (d, ":");
      while (NULL != prefix)
        {
          pp (pp_cls, prefix);
          prefix = strtok (NULL, ":");
        }
      free (d);
      return;
    }
#if LINUX
  if (prefix == NULL)
    prefix = get_path_from_proc_exe();
#endif
  path = append_to_dir (prefix, PLUGINDIR);
  if (0 != strcmp (path,
                   PLUGININSTDIR))
    pp (pp_cls, path);

Note that for most path discoveries, 'lib/libextractor/' is added, but not for 
the method using the 'LIBEXTRACTOR_PREFIX' environment variable (which makes 
sense since it is an override).

So please run

$ export LIBEXTRACTOR_PREFIX=/usr/local/lib/libextractor
$ extract dmca.pdf

and it should finally, finally work.  Fingers crossed...

Christian
p.s.: This does not explain why the normal auto-detection method did not work 
out-of-the-box for you, but that's another story.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]