For StringBuilder an append(vector<string>, uint8_t*) function is declared and documented but it does not seem to be implemented.
undefined reference to `arrow::StringBuilder::Append(std::vector<std::string, std::allocator<std::string> > const&, unsigned char*)'
collect2: error: ld returned 1 exit status
Also worth noting is that the similar function in NumericBuilder uses vector<bool> for the null values instead of uint8_t*. It might be worth making them consistent.