diff --git a/apitest/README b/apitest/README
index 61987bef4e2b6657aacdf98b5942c84e7020b796..7516a6aafb1afc4a30bf34265765b054ed2d6673 100644
--- a/apitest/README
+++ b/apitest/README
@@ -4,7 +4,7 @@ FORTRAN
 
 0) build libbinary_c.so
 1) run the script ./Make_fortran
-2) export LD_LIBRARY_PATH=../src/
+2) export LD_LIBRARY_PATH=../src/:$LD_LIBRARY_PATH
 3) ./apitest-f90
 
 ************************************************************
@@ -21,7 +21,9 @@ To build the api test:
 
 3) In the binary_c directory, run
 
-./configure && make cleanall && make && make libbinary_c.so
+meson builddir
+cd builddir
+ninja binary_c_install_legacy
 
 4) Enter the 'apitest' directory
 
diff --git a/apitest/apitest.c b/apitest/apitest.c
index 038323ac3ec7d81be0b16196c8ea007382e030ba..767c96ee111a4c165b4d888b0009a414a58ff425 100644
--- a/apitest/apitest.c
+++ b/apitest/apitest.c
@@ -125,7 +125,7 @@ int main ( int argc, char * *  argv )
                             -1);
 
         //binary_c_help(stardata[0],"M_1");
-        
+                
         fprintf(stderr,
                 "stardata[%d] = %p; preferences %p\n",
                 i,
diff --git a/doc/binary_c2.pdf b/doc/binary_c2.pdf
index 9a4a8738e4e99c903b4ab0d3a686749829b946b3..daf97d3f9842f766039b9a4f5f838af237695972 100644
Binary files a/doc/binary_c2.pdf and b/doc/binary_c2.pdf differ
diff --git a/doc/binary_grid2.lyx b/doc/binary_grid2.lyx
index 380245540aad7397f8ea588c44f9f52fc7ff298f..85320efb0b847271e2ab6eb958e34fb7f3cec40f 100644
--- a/doc/binary_grid2.lyx
+++ b/doc/binary_grid2.lyx
@@ -5443,21 +5443,7 @@ libbinary_c.so
 
 \end_inset
 
- with debugging (e.g.
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset Flex Command
-status open
-
-\begin_layout Plain Layout
-configure debug
-\end_layout
-
-\end_inset
-
-) you should see a stack trace so that you can debug the crash.
+ with debugging you should see a stack trace so that you can debug the crash.
  With the 
 \begin_inset Flex ScriptingLanguage
 status open
@@ -6562,7 +6548,7 @@ status open
 \end_layout
 
 \begin_layout Description
-Binary_c You should configure 
+Binary_c You should set up 
 \begin_inset Formula $\binaryc$
 \end_inset
 
@@ -6574,39 +6560,26 @@ status open
 
 \begin_layout Plain Layout
 
-./configure generic
+meson builddir -Dgeneric=true
 \end_layout
 
 \end_inset
 
- or by setting 
-\begin_inset Flex Envvar
+before compiling with 
+\begin_inset Flex Software
 status open
 
 \begin_layout Plain Layout
-ARCHFLAGS
+ninja
 \end_layout
 
 \end_inset
 
- prior to the build, e.g.,
+.
 \begin_inset Newline newline
 \end_inset
 
-
-\begin_inset listings
-lstparams "language=bash"
-inline false
-status open
-
-\begin_layout Plain Layout
-
-export ARCHFLAGS="-mtune=generic -march=generic"
-\end_layout
-
-\end_inset
-
-You will need to completely rebuild 
+You may need to completely rebuild 
 \begin_inset Formula $\binaryc$
 \end_inset
 
@@ -7810,6 +7783,12 @@ Random
 \end_layout
 
 \begin_layout Standard
+\begin_inset CommandInset label
+LatexCommand label
+name "subsec:Random-segmentation-faults"
+
+\end_inset
+
 Sometimes you may find that the grid does not start.
  This looks like a random segmentation fault (such faults are almost never
  random).
@@ -7861,7 +7840,22 @@ status open
 
 \begin_layout Plain Layout
 
-./configure; make cleanall; make; make libbinary_c.so
+rm builddir # if necessary
+\end_layout
+
+\begin_layout Plain Layout
+
+meson builddir -Dgeneric=true
+\end_layout
+
+\begin_layout Plain Layout
+
+cd builddir
+\end_layout
+
+\begin_layout Plain Layout
+
+ninja binary_c_install_legacy
 \end_layout
 
 \end_inset
@@ -7954,7 +7948,29 @@ Perl
 
  (and its modules) is incompatible with the architecture on one of your
  slots.
- This problem can overcome by:
+ 
+\end_layout
+
+\begin_layout Standard
+You should be able to overcome this with a generic build (see Sec.
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:Random-segmentation-faults"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+ above).
+\end_layout
+
+\begin_layout Standard
+With the old configure script, this problem can overcome by:
 \end_layout
 
 \begin_layout Itemize
diff --git a/doc/tbse.help b/doc/tbse.help
index 71925f202efc9954a08da237e3015d3ef2590853..d69c3292ebba1e504103de28a5605e0de19f2868 100644
--- a/doc/tbse.help
+++ b/doc/tbse.help
@@ -69,15 +69,15 @@ option flags for debugging
 
 debug
         Run binary_c through gdb.
-        Note that you have to build with debugging (./configure debug).
+        Note that you have to build with debugging.
         
 valgrind
         Run binary_c through valgrind's memcheck (its default).
-        Note that you have to build with debugging (./configure debug).
+        Note that you have to build with debugging.
         
 valgrind_args
         Show the arguments that would be sent to valgrind but do not run binary_c.
-        Note that you have to build with debugging (./configure debug).
+        Note that you have to build with debugging.
 
 multicore_valgrind <nthreads>
         Runs binary_c through valgrind on multiple cores. Useful for running
@@ -85,29 +85,29 @@ multicore_valgrind <nthreads>
 
 massif
         Run binary_c through valgrind's massif tool.
-        Note that you have to build with debugging (./configure debug).
+        Note that you have to build with debugging.
         
 callgrind
         Run binary_c through valgrind's callgrind tool.
-        Note that you have to build with debugging (./configure debug).
+        Note that you have to build with debugging.
         
 cachegrind
         Run binary_c through valgrind's cachegrind tool.
-        Note that you have to build with debugging (./configure debug).
+        Note that you have to build with debugging.
         
 ptrcheck
         Run binary_c through valgrind's ptrcheck tool.
-        Note that you have to build with debugging (./configure debug).
+        Note that you have to build with debugging.
         
 drd
         Run binary_c through valgrind's drd tool.
-        Note that you have to build with debugging (./configure debug).
+        Note that you have to build with debugging.
 
 gprof
 gprof_with_stdout
 gprof_lines
         Run binary_c through the gprof profiler.
-        Note that you have to build with debugging (./configure debug).
+        Note that you have to build with debugging.
 
 
 ------------------------------------------------------------
diff --git a/src/API/binary_c_help.c b/src/API/binary_c_help.c
index ef6cd6dd3e2c243ceef068d2f3fa65759a2a7b63..daac0e82f64658a98602d3266fb246f2a59fb2c3 100644
--- a/src/API/binary_c_help.c
+++ b/src/API/binary_c_help.c
@@ -15,25 +15,30 @@ void binary_c_API_function binary_c_help(struct stardata_t * RESTRICT const star
         const int argc = 2;
         char ** argv = Malloc(argc * sizeof(char *));
     
-        asprintf(&argv[0],"binary_c");
-        argv[1] = argstring;
-
-        struct tmpstore_t * tmpstore = stardata->tmpstore;
-        if(tmpstore == NULL)
+        if(argv != NULL)
         {
-            build_tmpstore_contents(tmpstore);
+            if(asprintf(&argv[0],"binary_c"))
+            {
+                argv[1] = argstring;
+                
+                struct tmpstore_t * tmpstore = stardata->tmpstore;
+                if(tmpstore == NULL)
+                {
+                    build_tmpstore_contents(tmpstore);
+                }
+                binary_c_help_from_arg(
+                    stardata->tmpstore->cmd_line_args,
+                    stardata,
+                    &c,
+                    0, // dummy var
+                    stardata->tmpstore->arg_count, // arg_count
+                    argv,
+                    -argc // argc 
+                    );
+                Safe_free(argv[0]);
+            }
+            Safe_free(argv);
         }
-        binary_c_help_from_arg(
-            stardata->tmpstore->cmd_line_args,
-            stardata,
-            &c,
-            0, // dummy var
-            stardata->tmpstore->arg_count, // arg_count
-            argv,
-            -argc // argc 
-            );
-        Safe_free(argv[0]);
-        Safe_free(argv);
     }
 }
 #endif//BINARY_C_API
diff --git a/src/nucsyn/nucsyn_s_process.c b/src/nucsyn/nucsyn_s_process.c
index a667039d45a9719a61ec7e06c121ef1c8868a50a..a202e121554f6e5978ad4822fbceb95e74f87874 100644
--- a/src/nucsyn/nucsyn_s_process.c
+++ b/src/nucsyn/nucsyn_s_process.c
@@ -37,8 +37,8 @@ void nucsyn_s_process(Abundance * RESTRICT const dup_material,
      *
      * 01/09/2016 : Move data to the store
      *
-     * 05/04/2017 : Default to putting the data in with objcopy and a 
-     *              make_data_objects.sh script in ./configure
+     * 05/04/2017 : Default to putting the data in with objcopy and use 
+     *              make_data_objects.sh  (or meson/make_dataobjects.sh)
      *
      *  The data table has the form:
      *
diff --git a/src/tables/table_s_process.c b/src/tables/table_s_process.c
index 3722ef5bd8a1807185e9df8561357ec4da7a70bf..1a528c8ac95bc7a24712c91837945a124989847f 100644
--- a/src/tables/table_s_process.c
+++ b/src/tables/table_s_process.c
@@ -116,7 +116,7 @@ void table_s_process(struct store_t * RESTRICT const store)
      * idea taken from
      * https://balau82.wordpress.com/2012/02/19/linking-a-binary-blob-with-gcc/
      *
-     * 1: compile with gcc (./configure cc=gcc; make clean; make) and NUCSYN_GENERATE_SBIN defined 
+     * 1: compile with gcc and NUCSYN_GENERATE_SBIN defined 
      *    (see above), and run binary_c for a star that has thermal pulses.
      *    This generates the file /tmp/s.bin containing a binary dump of the data table.
      *         (ignore any segfault as long as it says "file closed successfully")
@@ -129,13 +129,8 @@ void table_s_process(struct store_t * RESTRICT const store)
      *
      * 4: comment out the line above: "#define NUCSYN_GENERATE_SBIN"
      * 
-     * 5: configure and build with icc (./configure cc=icc;make) 
-     *    (note do NOT make clean here!)
+     * 5: build with icc 
      * 
-     * You will want to configure for the machine on which the executable
-     * will run, which may not be that on which it is built! There's currently
-     * no easy way to do this, but such functionality may come to binary_c
-     * in the future. Of course, you can hack src/Makefile as appropriate.
      * 
      * You may have to redefine SPROC_SYMBOL_NAME (see below)
      *