I got it working. I added mach-o support to evince. Then I copied
Denemo.app/Contents/Resources/lib to ~/lib. I am hoping I can avoid doing
this though. My next step is to read man dlopen. If all else fails, I guess
I can do something like:
ln -s $PREFIX/lib ~
$PREFIX/bin/denemo
rm ~/lib

Jeremiah
On Mar 19, 2013 11:17 AM, "Richard Shann" <[email protected]> wrote:

> Jeremiah I have had another response from <[email protected]> the
> evince list (to my original post):
> Hi Richard,
> How are you compiling evince? One way of encountering the errors you are
> facing is that either shared-mime-info is not installed on your system
> or glib is not finding it, so please double check that you have
> shared-mime info installed [1] (If you are using jhbuild, just do
> jhbuild install shared-mime-info)
> Greetings
> José
>
> [1] http://freedesktop.org/wiki/Software/shared-mime-info
>
>
> On Tue, Mar 19, 2013 at 4:48 AM, Richard Shann
> <[email protected]> wrote:
> Hi Hib,
>
>         I have had some feedback from Jeremiah who is working with the
> Mac on
>         the evince library build, he ran the call to
>
>
> ev_file_get_mime_type("file:///tmp/DenemoYBsSdY/denemoprintB.pdf", 1,
> NULL)
>
>         in gdb and got back the string
>
>          "text/plain"
>
>         So he appended ";text/plain" and ";application/octet-stream" for
> good
>         measure to the pdfdocument.evince-backend file:
>
>
>
> MimeType=application/pdf;application/x-bzpdf;application/x-gzpdf;application/x-ext-pdf;text/plain;application/octet-stream
>
>         but reports it still didn't load.
>
>         He says he is still hacking so there is no need to respond to
> this
>         unless you have a specific idea (e.g. about that "text/plain"
> thing)
>         that will help.
>
>         Thanks again,
>
>         Richard
>
>         > > Hi Richard,
>         > >
>         > > On Sun, Mar 17, 2013 at 4:10 PM, Richard Shann
> <[email protected]>
>         > > wrote:
>
>         > >> Running GNU/Denemo on Mac OSX we use
> ev_document_factory_get_document()
>         > >> to load a pdf file. On this platform (only) the call fails
> with the
>         > >> message
>         > >>
>         > >> File type application/octet-stream type
> (application/octet-stream) is
>         > >> not supported
>         > >>
>         > >> Can anyone suggest what might be wrong? The call is working
> fine on
>         > >> GNU/Linux and on Windows.
>         > >
>
>         > > Previously, I've run into the same problem when porting
> Evince to
>         > > Windows. It has something to do with Evince' mime-type
>         > > detection/handling. I think there were several issues with
> it.
>         > >
>         > > First step to fixing this is to see what this evince
> function returns:
>         > >
>         > > mime_type = ev_file_get_mime_type (uri, TRUE, error);
>         > >
>         > > If that returns 'application/octet-stream', I guess you need
> to
>         > > register the pdf mime type somewhere in your OS specific
> mime type
>         > > store.
>         > >
>         > > If the mime type is something like 'application/pdf', then
> make sure
>         > > the returned mimetype is specified in the file
>         > > /usr/lib/evince/4/backends/pdfdocument.evince-backend.
>         > >
>         > > Regards,
>         > >
>         > > Hib Eris
>
>
>
>
>         _______________________________________________
>         evince-list mailing list
>         [email protected]
>         https://mail.gnome.org/mailman/listinfo/evince-list
>
>
>
>
> On Tue, 2013-03-19 at 08:28 -0500, Jeremiah Benham wrote:
> >
> >
> > On Tue, Mar 19, 2013 at 6:23 AM, Richard Shann
> > <[email protected]> wrote:
> >         Jeremiah - here is the response from the evince list about the
> >         text/plain value.
> >         Can you run the
> >
> ev_file_get_mime_type("file:///tmp/DenemoYBsSdY/denemoprintB.pdf", 0,
> >         NULL)
> >
> > This returned:
> > application/octet-stream
> >
> > I set it to look for the modules path using getenv and now I am
> > getting some errors. Maybe I can copy libevdocument.2.dylib to
> > libevdocument.2.so or something. libevdocument.2.dylib exists with
> > /jeremiahbenham/Desktop/Denemo.app/Contents/MacOS/../Resources/lib. I
> > placed it in my LD_LIBRARY_PATH. Here is the error:
> >
> > (denemo:179): EvinceDocument-WARNING **:
> >
> dlopen(/Users/jeremiahbenham/Desktop/Denemo.app/Contents/MacOS/../Resources/lib/evince/2/backends/libpdfdocument.so,
> 10): Library not loaded: /usr/lib/libevdocument.2.dylib
> >   Referenced
> > from:
> /Users/jeremiahbenham/Desktop/Denemo.app/Contents/MacOS/../Resources/lib/evince/2/backends/libpdfdocument.so
> >   Reason: image not found
> >
> > (denemo:179): EvinceDocument-WARNING **: Cannot load backend
> > 'pdfdocument' since file
> >
> '/Users/jeremiahbenham/Desktop/Denemo.app/Contents/MacOS/../Resources/lib/evince/2/backends/libpdfdocument.so'
> cannot be read.
> > warning: Ignored unknown object module at 0x1998d300 with type
> > 0x38c85a
> >
> >
> > (denemo:179): EvinceDocument-WARNING **:
> >
> dlopen(/Users/jeremiahbenham/Desktop/Denemo.app/Contents/MacOS/../Resources/lib/evince/2/backends/libpdfdocument.so,
> 10): Library not loaded: /usr/lib/libevdocument.2.dylib
> >   Referenced
> > from:
> /Users/jeremiahbenham/Desktop/Denemo.app/Contents/MacOS/../Resources/lib/evince/2/backends/libpdfdocument.so
> >   Reason: image not found
> >
> > (denemo:179): EvinceDocument-WARNING **: Cannot load backend
> > 'pdfdocument' since file
> >
> '/Users/jeremiahbenham/Desktop/Denemo.app/Contents/MacOS/../Resources/lib/evince/2/backends/libpdfdocument.so'
> cannot be read.
> >
> > ** (denemo:179): WARNING **: Trying to read the pdf file
> > file:///tmp/DenemoXTxl4l/denemoprintB.pdf gave an error: File type
> > application/octet-stream type (application/octet-stream) is not
> > supported
> >
> >
> > Jeremiah
> >
> >
> >
> >         call he suggests, the different second parameter is a boolean
> >         which
> >         toggles between "fast" mime type detection and slow. We were
> >         calling for
> >         "fast".
> >
> >         He gives a helpful reference to where in the code this is
> >         going on ...
> >         email is below
> >         Richard
> >
> 8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><
> >
> >         On Tue, Mar 19, 2013 at 9:48 AM, Richard Shann
> >         <[email protected]> wrote:
> >         > Hi Hib,
> >         >
> >         > I have had some feedback from Jeremiah who is working with
> >         the Mac on
> >         > the evince library build, he ran the call to
> >         >
> >         >
> >
> ev_file_get_mime_type("file:///tmp/DenemoYBsSdY/denemoprintB.pdf", 1,
> >         NULL)
> >         >
> >         > in gdb and got back the string
> >         >
> >         >  "text/plain"
> >
> >         "text/plain" is obviously not correct, it should be something
> >         with
> >         'pdf' in it I guess.
> >
> >         Could you see what
> >
> >
> ev_file_get_mime_type("file:///tmp/DenemoYBsSdY/denemoprintB.pdf", 0,
> >         NULL)
> >
> >         gives back as well?
> >
> >         Evince code for mime type detection is in
> >         libdocument/ev-file-helpers.c.
> >         I'm afraid it is a bit unpredictable when glib fails to find
> >         the
> >         correct mime-type/content-type.
> >
> >         On Tue, 2013-03-19 at 00:46 -0500, Jeremiah Benham wrote:
> >         > I decided to hack on evince a bit. I put a few lines of code
> >         in to set
> >         > the evince module dir based on environment variable. I am
> >         also going
> >         > to force all files to be pdf if the filename ends with .pdf
> >         so that we
> >         > don't have to mess wity mime stuff.
> >         >
> >         > Jeremiah
> >         >
> >         > On Mar 18, 2013 5:58 PM, "Jeremiah Benham"
> >         > <[email protected]> wrote:
> >         >         On 3/18/13, Richard Shann <[email protected]>
> >         wrote:
> >         >         > Jeremiah -
> >         >         >
> >         >         > I have received this very informative reply from
> >         Hib Eris -
> >         >         would you like
> >         >         > me to put a print-out of ev_file_get_mime_type()
> >         into the
> >         >         sources
> >         >         > or are you able to do
> >         >         >
> >         >         > call ev_file_get_mime_type
> >         >         ("file:///tmp/Denemou<xxx>/denemoprintB.pdf", 1,
> >         >         > NULL)
> >         >         >
> >         >         > while in gdb? (The temp directory will be <xxx>
> >         and you need
> >         >         either A or B
> >         >         > depending).
> >         >
> >         >         I ran this in gdb:
> >         >         (gdb) print (char *) ev_file_get_mime_type
> >         >         ("file:///tmp/DenemoYBsSdY/denemoprintB.pdf", 1,
> >         NULL)
> >         >
> >         >         This is what it returned:
> >         >         $3 = 0x76836c0 "text/plain"
> >         >
> >         >         I ran:
> >         >         file /tmp/DenemoYBsSdY/denemoprintB.pdf
> >         >         it returned:
> >         >         /tmp/DenemoYBsSdY/denemoprintB.pdf: PDF document,
> >         version 1.4
> >         >
> >         >         >
> >         >         > or can you just
> >         >
> >         check /usr/lib/evince/4/backends/pdfdocument.evince-backend
> >         >
> >         >         It looks ok. At the end it has:
> >         >
> >
> MimeType=application/pdf;application/x-bzpdf;application/x-gzpdf;application/x-ext-pdf
> >         >         I appended:
> >         >         ;text/plain;application/octet-stream
> >         >
> >         >         Unfortunately it is still not loading. I am going to
> >         have to
> >         >         do some
> >         >         tinkering I guess. I am not sure if this
> >         >         pdfdocument.evince-backend is
> >         >         even being read. I will let you know later my
> >         progress or lack
> >         >         of.
> >         >
> >         >         Jeremiah
> >         >
> >         >         > first (I would guess it is ok)
> >         >         > and look at the other fix - the "register the pdf
> >         mime type
> >         >         somewhere in
> >         >         > your OS specific mime type
> >         >         > store" thing.
> >         >         > The email exchange follows
> >         >         > Richard
> >         >         >
> >         >
> >
> 8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><
> >         >         >
> >         >         > Hi Richard,
> >         >         >
> >         >         > On Sun, Mar 17, 2013 at 4:10 PM, Richard Shann
> >         >         <[email protected]>
> >         >         > wrote:
> >         >         >> Running GNU/Denemo on Mac OSX we use
> >         >         ev_document_factory_get_document()
> >         >         >> to load a pdf file. On this platform (only) the
> >         call fails
> >         >         with the
> >         >         >> message
> >         >         >>
> >         >         >> File type application/octet-stream type
> >         >         (application/octet-stream) is
> >         >         >> not supported
> >         >         >>
> >         >         >> Can anyone suggest what might be wrong? The call
> >         is working
> >         >         fine on
> >         >         >> GNU/Linux and on Windows.
> >         >         >
> >         >         > Previously, I've run into the same problem when
> >         porting
> >         >         Evince to
> >         >         > Windows. It has something to do with Evince'
> >         mime-type
> >         >         > detection/handling. I think there were several
> >         issues with
> >         >         it.
> >         >         >
> >         >         > First step to fixing this is to see what this
> >         evince
> >         >         function returns:
> >         >         >
> >         >         > mime_type = ev_file_get_mime_type (uri, TRUE,
> >         error);
> >         >         >
> >         >         > If that returns 'application/octet-stream', I
> >         guess you need
> >         >         to
> >         >         > register the pdf mime type somewhere in your OS
> >         specific
> >         >         mime type
> >         >         > store.
> >         >         >
> >         >         > If the mime type is something like
> >         'application/pdf', then
> >         >         make sure
> >         >         > the returned mimetype is specified in the file
> >         >
> >         > /usr/lib/evince/4/backends/pdfdocument.evince-backend.
> >         >         >
> >         >         > Regards,
> >         >         >
> >         >         > Hib Eris
> >         >         >
> >         >         >
> >         >         >
> >         >         >
> >         >         >
> >         >         >
> >         >         >
> >         >         >
> >         >         >
> >         >         >
> >         >         >
> >         >         > That
> >         >         >
> >         >         >
> >         >         >
> >         >         > _______________________________________________
> >         >         > Denemo-devel mailing list
> >         >         > [email protected]
> >         >         >
> >         https://lists.gnu.org/mailman/listinfo/denemo-devel
> >         >         >
> >
> >
> >
> >
>
>
>
_______________________________________________
Denemo-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/denemo-devel

Reply via email to