I have now applied all patches (except the gettext one) and added gmp and mpfr.
The libs are in: https://www.dropbox.com/s/ezznymjtcfxv2ph/final-libs-24-nov.tar.gz The instructions have been updated accordingly: https://github.com/soegaard/racket-osx-libs /Jens Axel 2013/11/24 Jens Axel Søgaard <jensa...@soegaard.net>: > 2013/11/24 Matthew Flatt <mfl...@cs.utah.edu>: >> This is great! I have been tempted to just compile the libraries for >> you, but taking advantage of your interest has paid off. Now, at least >> two of us know how this works, and you've written much better >> instructions. > > ;-) > >> As far as I can tell, your instructions don't mention the patches in >> "racket/src/mac/README.txt". Did you apply those patches or skip them? > > I skipped them. The first goal was just to have a working build. And > then I forgot about them. Going back and making the patches seems easy. > I'll look up how to make .patch files. > >> Most of the libraries seem to work on my 10.6 machine. The exceptions >> are libgmp and libmpfr, but those don't need new builds, right? > > I didn't built libgmp and libmpfr since they are not related to cairo > and poppler. > >> It looks like these are the three new libraries for the >> "draw-x86_64-macosx" package: "libfontconfig.1", "libexpat.1", and >> "libfreetype.6". Is that right? > > Yes - and libpopler and libpoppler-glib too. > > Also libffi was updated from libffi.5 to libffi.6 . I can't remember exactly > why I had problems building libffi.5 on Mavericks. > >> FWIW, for 64-bit Mac OS X, we only try to support 10.6 and later. > > Okay, I'll change the instructions to use 10.6. > >> For 32-bit Intel Mac OS X, we have been supporting 10.4 and later. >> Although we can compile Racket for 10.4 on a 10.8 machine, the only way >> that I've been able to compile support libraries for 10.4 is on a 10.5 >> machine (that I have avoided upgrading). > >> And then there's PPC. > > Are there any PPC users left? > >> I expect that I'll need to build the 32-bit versions (Intel and PPC), >> and that's fine. >> >> And then there's Windows... > > Yeah - we need a volunteer :-) > >> Of course, you're right about "@loader_path". >> >> I'm not sure know about upgrading. I have a request, still on my to-do >> list, to upgrade the Windows libraries; if I remember correctly, that >> was to get newer glib-level functionality. Otherwise, I'm inclined to >> stick with the current versions, but what's your opinion? > > That's fine with me. My main priority was to get Poppler working > and since it works with the old versions I am happy. > >> When we have all the libraries are built, the process will be to update >> the native-code packages at >> >> http://git.racket-lang.org/libs >> >> and from there they also get split out into individual packages. > > Okay - so I should add the math libaries too? > > /Jens Axel > >> At Sun, 24 Nov 2013 17:18:52 +0100, Jens Axel Søgaard wrote: >>> Build instructions and source files are now available here: >>> >>> https://raw.github.com/soegaard/racket-osx-libs/master/README.md >>> >>> 2013/11/24 Jens Axel Søgaard <jensa...@soegaard.net>: >>> > 2013/11/17 Matthew Flatt <mfl...@cs.utah.edu>: >>> >> At Sat, 16 Nov 2013 22:16:40 +0100, Jens Axel Søgaard wrote: >>> > >>> >> To turn "librsvg-2.2.dylib" into something that you can give other Mac >>> >> users to install into their Racket "lib" directory, you'll need to >>> >> adjust the references from the "librsvg-2.2.dylib" to other ".dylib"s. >>> >> You'll want to use `install_name_tool` and "@executable_path/..." paths >>> >> for that. Let me know if you get that far and need more hints. >>> > >>> > I managed to build Cairo and Poppler and get it everything working. >>> > Displaying pdf-files within DrRacket works a charm. As a consequence >>> > I can now use LaTeX to render formulas to pdf, converting the pdf to pict >>> > and use the formulas directly in slideshows and pictures. >>> > >>> > Now comes the problem of distributing the relevant libraries. >>> > >>> > At first I thought I could build Poppler with the same version of Cairo >>> > as DrRacket and simply distribute the extra binaries, but it turns out >>> > that Poppler needs a libcairo with support for Freetype and FontConfig. >>> > >>> > The binaries below contain a tar of a set of libraries which work >>> > together. >>> > >>> > It was compiled on a x64 machine with OS Mavericks. I used >>> > MACOSX_DEPLOYMENT_TARGET=10.5 >>> > and >>> > -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk >>> > during for all builds, but help to confirm that the libraries actually >>> > works >>> > on other machines than my own. >>> > >>> > Inspired by you install-files.rkt I didn't use @executable_path >>> > but used @loader_path. >>> > >>> > Since the original goal was a make libpoppler that were compatible >>> > with Racket's libcairo, I have used version numbers of the >>> > various libraries as close the Racket ones as I could. >>> > >>> > https://www.dropbox.com/s/hdwbm2nt0fap8bt/soegaard-libs.tar.gz >>> > >>> > To test these binaries, place them in the result of >>> > >>> > > (require setup/dirs) >>> > > (find-lib-dir) >>> > #<path:/Users/soegaard/racket-nov-24/racket/racket/lib> >>> > >>> > To see a pdf-file inside DrRacket run: >>> > >>> > #lang racket >>> > (require (planet gcr/pdf-render:2:=2) pict) >>> > (define pdf-file "/Users/soegaard/Downloads/x.pdf") >>> > (if (file-exists? pdf-file) >>> > (pict->bitmap (page->pict pdf-file)) >>> > "not found") >>> > >>> > Note that (page->pict pdf-file) displays an empty snip. >>> > >>> > The reason is that DrRacket normally calls the pict not >>> > with a real cairo context, but with a record-dc% and the >>> > recorded operations are then later replayed. Since >>> > the pict from (page->pict pdf-file) calls libpoppler that >>> > calls libcairo, these operations aren't recorded. >>> > >>> > A few questions: >>> > >>> > 1. Do these binaries work for others than me? >>> > 2. Is it worth looking into getting these binaries working on pre >>> > x64 hardware? >>> > 3. Should I make a set of binaries with new versions of all >>> > libraries in question? >>> > (While I can remember how things work) >>> > >>> > I will write up a detailed description of how I build them and put the >>> sources >>> > on GitHub. >>> > >>> > -- >>> > Jens Axel Søgaard >>> >>> >>> >>> -- >>> -- >>> Jens Axel Søgaard > > > > -- > -- > Jens Axel Søgaard -- -- Jens Axel Søgaard ____________________ Racket Users list: http://lists.racket-lang.org/users