I have made some progress in my attempts to get ledger compiled on FreeBSD 10 but my efforts are about to end. I abandoned the clang compiler pretty early on: it gave all sorts of weird compilation and linking errors. Since I had g++ 4.8.4 available as a FreeBSD package, I concentrated on using that. There was some tinkering required to totally disable clang but eventually I got the build process to use only the GNU compiler.
I had been getting linker errors related to the system-installed Boost libraries, so the next step was to compile my own version with g++ and install it locally. Then on to compile ledger proper. Surprisingly, after a false start or two, I got it to compile and link. However, the executable abended with "/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found". Sure enough, libstdc++ in /usr/local only goes up to 3.4.9. There is, however, a stdc++ shared library in /usr/local/gcc48 that does have GLIBCXX_3.4.11. However, I'll be damned if I can figure out how to tell the compiler or ledger to use this library. Specifying LD_LIBRARY_PATH on the command line results in a segfault. <rant>cmake may be a great system and make things much easier when things are going smoothly ... But when things go wrong and you need to see what it's doing and modify/override its behavior, it seems bloody well impossible and opaque. It has left me with a very bad experience so I am quite turned off by it now.</rant> I am tired of fighting with this recalcitrant software so I am abandoning my efforts to get ledger compiled on FreeBSD 10. I would to to express my appreciation to Jostein Berntsen who tried very hard to help me in this endeavor and gave many suggestions. So what to do..... 1) Abandon my BSD system and go back to Linux? Could be done but despite some annoying crashes recently I am loath to give up ZFS and it would be a major PITA. 2) Abandon ledger and go back to GnuCash or other system? No, I like ledger's text mode files and the Emacs's ledger-mode. So I installed hledger (even though I don't know anything about Haskell). Bingo, it compiled and installed with one "cabal" command without a single problem. What a difference! I realize it is different in some ways from Ledger, but I think my journal is simple enough that I should be okay. On Mon, Jun 30, 2014 at 9:58 AM, y2s1982 <[email protected]> wrote: > Whoa, I've been looking for an answer to this riddle myself. > > I'm not a program and do not have a clear grasp of what cmake does. Having > said that, though, I wonder how Mac got around to installing the program > since they also use clang in a (heavily modified) BSD environment as far as > I know. > Their instruction seems fairly straight forward; what are the differences in > two methods? Could it be possible for us to "fool" cmake into giving us the > same condition Mac gets? > > > > > On Monday, June 30, 2014 4:29:38 PM UTC+9, Jostein Berntsen wrote: >> >> >> >> On Monday, June 30, 2014 7:26:46 AM UTC+2, Chris Leyon wrote: >>> >>> Update: I've given up on clang. I never did figure out how to tell >>> cmake and/or acprep to pass a new option like "-stdlib=..." to the >>> compilation phase. I assume it's possible somehow. So I ended up >>> grabbing the compilation commands cmake produced and copying them into >>> a script and I manually added the option you suggested and recompiled. >>> Then it complained about not finding several standard include library >>> files. >>> >>> So I am now trying g++. Again, due to cmake >>> >> >> Can you try to compile with therse options for acprep? >> >> ./acprep --debug --python --compiler="g++-4.8.4 -lboost_regex >> -lboost_iostreams" --boost=/your-boost-root-path >> >> Jostein >> >> >> > > -- > > --- > You received this message because you are subscribed to the Google Groups > "Ledger" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- --- You received this message because you are subscribed to the Google Groups "Ledger" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
