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
