Tag 'frustrating':

Make Limits Java Heap Size on 32-bit Linux
Jul 23rd, 2015

aaaaargh! frustrating java make project management random
Annual hours saved: 2

Here’s a fun one. The following command:

java -Xmx2g Test

works fine when run from the command-line, but not when run from within a make recipe. It errors out with the following message:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

[Read More]

Terminal Color Support in Makefiles
Jul 21st, 2015

colors frustrating make project management terminal
Annual hours saved: 5

I just spent a good 20 minutes trying to figure out how to have a makefile conditionally color its output depending on the current terminal’s level of color support. Long story short, there were a number of make idiosyncrasies that I wasn’t expecting / had forgotten about. So, for future reference, here’s a quick recap:

  • Conditional syntax requires parentheses when comparing evaluated (i.e. $(...)) values
  • Terminal commands are invoked using the $(shell ...) function
  • The default shell is sh, not bash, so echo evaluates escapes by default
  • During assignment, := evaluates immediately, while = does not
  • As in most terminals, un-assigned variables evaluate without error as empty strings

[Read More]

yylex_destroy() is well hidden!
Jun 29th, 2014

documentation frustrating memory leak parsing YACC

If you notice, in ADHOC’s makefile, there is a recipe called ‘grind’ that I use as a quick spot-check for memory leaks and other issues during builds. For the longest time, ‘grind’ kept showing a couple un-freed memory blocks after yyparse had finished parsing my input files, and I couldn’t figure out where the blocks were being allocated. Valgrind kept pointing to YACC/Bison‘s lex.yy.c code file, so I figured it must be a YACC issue, and I went Googling. [Read More]

Your E-Sheep:

( change )

Recent Posts:

10/14 - ADHOC Changelog
8/19 - And now… random puppies!
8/3 - Check Braces
7/23 - Make Limits Java Heap Size on 32-bit Linux
7/21 - Terminal Color Support in Makefiles

Top Tags:

aaaaargh! algorithms automatic awesome colors config development environment documentation frustrating java linux make parsing project management random syntax-highlighting terminal types

Random Quote:

Cogito, ergo cogitandi est.

Powered By:

2017 - Creative Commons 3.0