I've finally updated my machine to a modern version of Linux (Mint 19), and now I'm going through, so to say, bringing Triceps into the Century of the Fruit Bat. Both C++ and Perl languages have changed, (and as has been mentioned in a previous post, Ghostscript had functionality removed).
Most annoyingly, C++ doesn't allow to call even the non-virtual methods on the NULL pointers any more. Well, it does allow to call them, but auto-removes any checks for (this == NULL) inside the methods. And I've been using this in multiple places. But now it's all worked around by using the special static objects and the code builds again.
The tests still fail though, but now it's hopefully all trivial: some message got changed because of the different hashing, and also the Perl tests fail because the syntax of regexps got changed in Perl 5.26, it doesn't accept the plain "{" in the patterns any more. But I'm working on it.
This started as my thoughts on the field of Complex Event Processing, mostly about my OpenSource project Triceps. But now it's about all kinds of software-related things.
Showing posts with label build. Show all posts
Showing posts with label build. Show all posts
Saturday, December 1, 2018
Friday, November 23, 2018
converting EPS to SVG
I've tried to build my book on a recent Linux Mint and failed: I've been using Ghostscript to convert the figures in EPS to the SVG format, for inclusion into PDF, and it turns out that Ghostscript doesn't support SVG any more. I've tried to download and build the source but the source didn't have it either. I remember, it got broken a long time ago, it was crashing on my previous attempt to use a newer Linux. I've found a bug report from 2013 on Ghostscript's web site. Apparently, instead of fixing the SVG driver, they've just dropped it.
But I was able to find another way, with Inkscape. The conversion command looks like this:
inkscape -D "$SRC_EPS" --export-plain-svg="$DST_SVG"
After this change the build worked like a charm.
The Triceps build will need a similar change. I'm about to try it.
But I was able to find another way, with Inkscape. The conversion command looks like this:
inkscape -D "$SRC_EPS" --export-plain-svg="$DST_SVG"
After this change the build worked like a charm.
The Triceps build will need a similar change. I'm about to try it.
Friday, July 19, 2013
GCC warning flags
The GCC warning flags have been an annoying issue: in general, I've been building Triceps with warning-treated-as-errors, except for a few of them disabled for uselessness. However this presents a problem with the varying versions of GCC: the older versions don't have some of the warning flags I use, so they fail, and the new ones have more warnings of the useless variety that fail in a different way (and there are some non-useless, and they occasionally help detecting more weird stuff but that's not the point).
The solution I've come up, is to use the different warning flags for the build checked out from SVN on the trunk branch, and for all the other builds. All these warning flags are now enabled only if the path of the Triceps directory ends in "trunk". Otherwise they are skipped. If you check out the code directly from SVN, you still need to worry about the warning flags but not notherwise.
The solution I've come up, is to use the different warning flags for the build checked out from SVN on the trunk branch, and for all the other builds. All these warning flags are now enabled only if the path of the Triceps directory ends in "trunk". Otherwise they are skipped. If you check out the code directly from SVN, you still need to worry about the warning flags but not notherwise.
Tuesday, July 31, 2012
Building with GCC 4.1
Some first reports: I've thought that my compiler from 2009 is as old as it gets, but it turns out that people have some older ones. The build on GCC 4.1 requires two changes. First, it doesn't have the option "-Wno-sign-conversion", so remove that from Makefile.inc. Second, in cpp/table/RowHandle.h on line 56 replace sizeof(data_) with sizeof(AlignType).
Thursday, July 26, 2012
even more stuff for 1.0
I've added the function Triceps::Fields::makeTranslation() that makes the output field filtering and renaming, similar to the one in joins, easy to insert into the random user-defined templates. Again, look in the upcoming docs, the chapter on templates for the description.
The build instructions have been completely rewritten and greatly clarified. The build configuration settings became easier too.
The Table methods for row finding and iteration now confess on errors, since checking their error codes otherwise is completely impractical.
A lot more methods have been converted to the new-style error handling, with confessing on errors.
The build instructions have been completely rewritten and greatly clarified. The build configuration settings became easier too.
The Table methods for row finding and iteration now confess on errors, since checking their error codes otherwise is completely impractical.
A lot more methods have been converted to the new-style error handling, with confessing on errors.
Subscribe to:
Posts (Atom)