<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    To be sure fpc.cfg is found I started the compilation from fpc's bin
    directory where the fpc.cfg is located.<br>
    <br>
    roger@bikupan:~/fpc/fpc_svn/
    <div dir="ltr"><wbr>bin$ ./fpc /home/roger/fpc/fptest_<wbr>working/fptest.pas<br>
      Free Pascal Compiler version 3.1.1 [2017/08/16] for x86_64<br>
      Copyright (c) 1993-2015 by Florian Klaempfl and others<br>
      Target OS: Linux for x86-64<br>
      Compiling /home/roger/fpc/fptest_<wbr>working/fptest.pas<br>
      Fatal: Can't find unit system used by fptest<br>
      Fatal: Compilation aborted<br>
      Error: /home/roger/fpc/fpc_svn/<wbr>compiler/ppcx64 returned an
      error exitcode<br>
      <br>
      Here is the fpc.cfg<br>
      <br>
      #<br>
      # Config file generated by fpcmkcfg on 16-8-17 - 21:46:51<br>
      # Example fpc.cfg for Free Pascal Compiler<br>
      #<br>
      <br>
      # ----------------------<br>
      # Defines (preprocessor)<br>
      # ----------------------<br>
      <br>
      #<br>
      # nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are
      allowed<br>
      #<br>
      # -d is the same as #DEFINE<br>
      # -u is the same as #UNDEF<br>
      #<br>
      <br>
      #<br>
      # Some examples (for switches see below, and the -? helppages)<br>
      #<br>
      # Try compiling with the -dRELEASE or -dDEBUG on the commandline<br>
      #<br>
      <br>
      # For a release compile with optimizes and strip debuginfo<br>
      #IFDEF RELEASE<br>
        -O2<br>
        -Xs<br>
        #WRITE Compiling Release Version<br>
      #ENDIF<br>
      <br>
      # For a debug version compile with debuginfo and all
      codegeneration checks on<br>
      #IFDEF DEBUG<br>
        -gl<br>
        -Crtoi<br>
        #WRITE Compiling Debug Version<br>
      #ENDIF<br>
      <br>
      # assembling<br>
      #ifdef darwin<br>
      # use pipes instead of temporary files for assembling<br>
      -ap<br>
      # path to Xcode 4.3+ utilities (no problem if it doesn't exist)<br>
      -FD/Applications/Xcode.app/
      <div dir="ltr"><wbr>Contents/Developer/usr/bin<br>
        #endif<br>
        <br>
        # ----------------<br>
        # Parsing switches<br>
        # ----------------<br>
        <br>
        # Pascal language mode<br>
        #      -Mfpc      free pascal dialect (default)<br>
        #      -Mobjfpc   switch some Delphi 2 extensions on<br>
        #      -Mdelphi   tries to be Delphi compatible<br>
        #      -Mtp       tries to be TP/BP 7.0 compatible<br>
        #      -Mgpc      tries to be gpc compatible<br>
        #      -Mmacpas   tries to be compatible to the macintosh pascal
        dialects<br>
        #<br>
        # Turn on Object Pascal extensions by default<br>
        #-Mobjfpc<br>
        <br>
        # Assembler reader mode<br>
        #      -Rdefault  use default assembler<br>
        #      -Ratt      read AT&T style assembler<br>
        #      -Rintel    read Intel style assembler<br>
        #<br>
        # All assembler blocks are AT&T styled by default<br>
        #-Ratt<br>
        <br>
        # Semantic checking<br>
        #      -S2        same as -Mobjfpc<br>
        #      -Sc        supports operators like C (*=,+=,/= and -=)<br>
        #      -Sa        include assertion code.<br>
        #      -Sd        same as -Mdelphi<br>
        #      -Se<x>     error options. <x> is a
        combination of the following:<br>
        #         <n> : compiler stops after <n> errors
        (default is 1)<br>
        #         w   : compiler stops also after warnings<br>
        #         n   : compiler stops also after notes<br>
        #         h   : compiler stops also after hints<br>
        #      -Sg        allow LABEL and GOTO<br>
        #      -Sh        Use ansistrings<br>
        #      -Si        support C++ styled INLINE<br>
        #      -Sk        load fpcylix unit<br>
        #      -SI<x>     set interface style to <x><br>
        #         -SIcom    COM compatible interface (default)<br>
        #         -SIcorba  CORBA compatible interface<br>
        #      -Sm        support macros like C (global)<br>
        #      -So        same as -Mtp<br>
        #      -Sp        same as -Mgpc<br>
        #      -Ss        constructor name must be init (destructor must
        be done)<br>
        #      -Sx        enable exception keywords (default in
        Delphi/ObjFPC modes)<br>
        #<br>
        # Allow goto, inline, C-operators, C-vars<br>
        -Sgic<br>
        <br>
        # ---------------<br>
        # Code generation<br>
        # ---------------<br>
        <br>
        # Uncomment the next line if you always want static/dynamic
        units by default<br>
        # (can be overruled with -CD, -CS at the commandline)<br>
        #-CS<br>
        #-CD<br>
        <br>
        # Set the default heapsize to 8Mb<br>
        #-Ch8000000<br>
        <br>
        # Set default codegeneration checks (iocheck, overflow, range,
        stack)<br>
        #-Ci<br>
        #-Co<br>
        #-Cr<br>
        #-Ct<br>
        <br>
        # Optimizer switches<br>
        # -Os        generate smaller code<br>
        # -Oa=N      set alignment to N<br>
        # -O1        level 1 optimizations (quick optimizations,
        debuggable)<br>
        # -O2        level 2 optimizations (-O1 + optimizations which
        make debugging more difficult)<br>
        # -O3        level 3 optimizations (-O2 + optimizations which
        also may make the program slower rather than faster)<br>
        # -Oo<x>     switch on optimalization x. See fpc -i for
        possible values<br>
        # -OoNO<x>   switch off optimalization x. See fpc -i for
        possible values<br>
        # -Op<x>     set target cpu for optimizing, see fpc -i for
        possible values<br>
        <br>
        #ifdef darwin<br>
        #ifdef cpui386<br>
        -Cppentiumm<br>
        -Oppentiumm<br>
        #endif<br>
        #endif<br>
        <br>
        # -----------------------<br>
        # Set Filenames and Paths<br>
        # -----------------------<br>
        <br>
        # Both slashes and backslashes are allowed in paths<br>
        <br>
        # path to the messagefile, not necessary anymore but can be used
        to override<br>
        # the default language<br>
        #-Fr/home/roger/fpc/fpc_svn/<wbr>msg/errore.msg<br>
        #-Fr/home/roger/fpc/fpc_svn/<wbr>msg/errorn.msg<br>
        #-Fr/home/roger/fpc/fpc_svn/<wbr>msg/errores.msg<br>
        #-Fr/home/roger/fpc/fpc_svn/<wbr>msg/errord.msg<br>
        #-Fr/home/roger/fpc/fpc_svn/<wbr>msg/errorr.msg<br>
        <br>
        # searchpath for units and other system dependent things<br>
        -Fu/home/roger/fpc/fpc_svn/<wbr>units/$fpctarget<br>
        -Fu/home/roger/fpc/fpc_svn/<wbr>units/$fpctarget/*<br>
        -Fu/home/roger/fpc/fpc_svn/<wbr>units/$fpctarget/rtl<br>
        -Fu/home/roger/fpc/<wbr>pascalscript/Source<br>
        <br>
        #IFDEF FPCAPACHE_1_3<br>
        -Fu/home/roger/fpc/fpc_svn/<wbr>units/$fpctarget/httpd13/<br>
        #ELSE<br>
        #IFDEF FPCAPACHE_2_0<br>
        -Fu/home/roger/fpc/fpc_svn/<wbr>units/$fpctarget/httpd20<br>
        #ELSE<br>
        -Fu/home/roger/fpc/fpc_svn/<wbr>units/$fpctarget/httpd22<br>
        #ENDIF<br>
        #ENDIF<br>
        <br>
        # searchpath for fppkg user-specific packages<br>
        -Fu~/.fppkg/lib/fpc/$<wbr>fpcversion/units/$FPCTARGET/*<br>
        <br>
        # path to the gcclib<br>
        #ifdef cpui386<br>
        -Fl/usr/lib/gcc/x86_64-linux-<wbr>gnu/6<br>
        #endif<br>
        #ifdef cpux86_64<br>
        -Fl/usr/lib/gcc/x86_64-linux-<wbr>gnu/6<br>
        #endif<br>
        <br>
        # searchpath for libraries<br>
        #-Fl/home/roger/fpc/fpc_svn/<wbr>lib<br>
        #-Fl/lib;/usr/lib<br>
        -Fl/home/roger/fpc/fpc_svn/<wbr>lib/$FPCTARGET<br>
        <br>
        # searchpath for tools<br>
        -FD/home/roger/fpc/fpc_svn/<wbr>bin/$FPCTARGET<br>
        <br>
        #IFNDEF CPUI386<br>
        #IFNDEF CPUAMD64<br>
        #DEFINE NEEDCROSSBINUTILS<br>
        #ENDIF<br>
        #ENDIF<br>
        <br>
        #IFNDEF Linux<br>
        #DEFINE NEEDCROSSBINUTILS<br>
        #ENDIF<br>
        <br>
        # binutils prefix for cross compiling<br>
        #IFDEF FPC_CROSSCOMPILING<br>
        #IFDEF NEEDCROSSBINUTILS<br>
          -XP$FPCTARGET-<br>
        #ENDIF<br>
        #ENDIF<br>
        <br>
        <br>
        # -------------<br>
        # Linking<br>
        # -------------<br>
        <br>
        # generate always debugging information for GDB (slows down the
        compiling<br>
        # process)<br>
        #      -gc        generate checks for pointers<br>
        #      -gd        use dbx<br>
        #      -gg        use gsym<br>
        #      -gh        use heap trace unit (for memory leak
        debugging)<br>
        #      -gl        use line info unit to show more info for
        backtraces<br>
        #      -gv        generates programs tracable with valgrind<br>
        #      -gw        generate dwarf debugging info<br>
        #<br>
        # Enable debuginfo and use the line info unit by default<br>
        #-gl<br>
        <br>
        # always pass an option to the linker<br>
        #-k-s<br>
        <br>
        # Always strip debuginfo from the executable<br>
        -Xs<br>
        <br>
        <br>
        # -------------<br>
        # Miscellaneous<br>
        # -------------<br>
        <br>
        # Write always a nice FPC logo ;)<br>
        -l<br>
        <br>
        # Verbosity<br>
        #      e : Show errors (default)       d : Show debug info<br>
        #      w : Show warnings               u : Show unit info<br>
        #      n : Show notes                  t : Show tried/used files<br>
        #      h : Show hints                  s : Show time stamps<br>
        #      i : Show general info           q : Show message numbers<br>
        #      l : Show linenumbers            c : Show conditionals<br>
        #      a : Show everything             0 : Show nothing (except
        errors)<br>
        #      b : Write file names messages   r : Rhide/GCC
        compatibility mode<br>
        #          with full path              x : Executable info
        (Win32 only)<br>
        #      v : write fpcdebug.txt with     p : Write tree.log with
        parse tree<br>
        #          lots of debugging info<br>
        #<br>
        # Display Info, Warnings and Notes<br>
        -viwn<br>
        # If you don't want so much verbosity use<br>
        #-vw</div>
    </div>
  </body>
</html>