Ok. I figured out how to do it without the install of all the libs into
~/lib. I also set the mime type in pdfdocument.evince-backend to include
application/octet-stream. Now its working fine. The only thing that gets
copied outside of Denemo.app/ is the fonts. I found a website with some
code that claims that it is a way to do this in c so that the install
outside of Denemo.app is unnecessary. I may just call this good though.

I have tested portmidi and it works. portaudio seems to work because I hear
audio on playback. evince is now working and all the guile stuff appears to
be loading. Everything seems to work now.

I am going to post this bundle on the facebook group for testers and if I
don't hear big issues then I will release it as 1.0.

I am goint to gub up a linux binary soon. I believe what I have learned
about evince can be applied to the Linux binary.

Jeremiah

On Tue, Mar 19, 2013 at 11:56 AM, Jeremiah Benham <
[email protected]> wrote:

> 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