<div dir="ltr"><div>Yeah, with static linking it wants everything to be available as a .a archive.  It's a pain, since if you're static linking, everything needs to be static, but if you're using any dynamic linking, it defaults to using the .so and it's difficult to override.<br>
<br></div>- Tim<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, May 29, 2014 at 10:11 AM, Justin M Wozniak <span dir="ltr"><<a href="mailto:wozniak@mcs.anl.gov" target="_blank">wozniak@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <br>
    I just fixed the perms on libtclturbine.a<br>
    <br>
    For Tcl, there is currently no static archive in that directory- I
    will try to make one. <br><div><div class="h5">
    <br>
    <div>On 05/29/2014 09:59 AM, Ketan
      Maheshwari wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">Thanks! Trying to link with the following:
        <div><br>
        </div>
        <div>
          <div>/soft/compilers/wrappers/xl/mpixlcxx -o static_leaf_main
            static_leaf_main.o
            /home/ketan/rosetta/flexpep_docking/leaf_main.a \</div>
          <div> -pg -qsmp=omp -g -O0 -qarch=qp -qtune=qp -qhot
            -Wl,--allow-multiple-definition \</div>
          <div> /projects/ExM/ketan/openmp-gnu-july16-mini/build/src/debug/linux/2.6/64/ppc64/xlc/static-mpi/apps/public/flexpep_docking/FlexPepDocking.o
            \</div>
          <div> -L$TCL_HOME/lib -L$TURBINE_HOME/lib
            -L/projects/ExM/ketan/openmp-gnu-july16-mini/external/lib \</div>
          <div> -L/projects/ExM/ketan/openmp-gnu-july16-mini/build/src/debug/linux/2.6/64/ppc64/xlc/static-mpi
            \</div>
          <div> -Lsrc
            -L/projects/ExM/ketan/openmp-gnu-july16-mini/build/external/debug/linux/2.6/64/ppc64/xlc/static-mpi
            \</div>
          <div> -Lexternal -L/home/vsachde/ROSETTA/zlib/lib -ldevel
            -lprotocols.7 -lprotocols.6 -lprotocols_f.5 -lprotocols_e.5
            \</div>
          <div> -lprotocols_d.5 -lprotocols_c.5 -lprotocols_b.5
            -lprotocols_a.5 -lprotocols_h.4 -lprotocols_g.4
            -lprotocols_f.4 \</div>
          <div> -lprotocols_e.4 -lprotocols_d.4 -lprotocols_c.4
            -lprotocols_b.4 -lprotocols_a.4 -lprotocols.3
            -lprotocols_b.2 \</div>
          <div> -lprotocols_a.2 -lprotocols.1 -lcore.5 -lcore.4 -lcore.3
            -lcore.2 -lcore.1 -lbasic -lnumeric -lutility -lObjexxFCL \</div>
          <div> -lz -lcppdb -lsqlite3 -lz -ltclstub8.5 -ltcl8.5
            -ltclturbine -ltclturbinestatic -ltclturbinestaticres</div>
        </div>
        <div><br>
        </div>
        <div>Getting the error message:</div>
        <div>
          <div>/bgsys/drivers/ppcfloor/gnu-linux/powerpc64-bgq-linux/bin/ld:
            cannot find -ltcl8.5</div>
          <div>/bgsys/drivers/ppcfloor/gnu-linux/powerpc64-bgq-linux/bin/ld:
            cannot find -ltclturbine</div>
        </div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>$TCL_HOME is /home/wozniak/Public/sfw/ppc64/tcl-8.5.12</div>
        <div>$TURBINE_HOME is /home/wozniak/Public/sfw/ppc64/turbine/lib</div>
        <div><br>
        </div>
        <div>and the libs that ld is complaining about does seem to be
          available at the above locations. Any suggestions?</div>
        <div><br>
        </div>
        <div>Thanks,</div>
        <div>Ketan</div>
      </div>
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">On Thu, May 29, 2014 at 9:09 AM, Tim
          Armstrong <span dir="ltr"><<a href="mailto:tim.g.armstrong@gmail.com" target="_blank">tim.g.armstrong@gmail.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div>
              <div dir="ltr">
                <div><br>
                </div>
                Forgot to send this to the list.<br>
              </div>
              <div class="gmail_extra"><br>
                <br>
                <div class="gmail_quote">
                  <div>
                    <div>On Thu, May 29, 2014 at 8:06 AM, Tim
                      Armstrong <span dir="ltr">
                        <<a href="mailto:tim.g.armstrong@gmail.com" target="_blank">tim.g.armstrong@gmail.com</a>></span>
                      wrote:<br>
                    </div>
                  </div>
                  <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    <div>
                      <div>
                        <div dir="ltr">
                          <div>Another thing I should mention is that
                            you can source the turbine-build-config,sh
                            script under turbine to get many of the
                            variables you need e.g. install dirs, tcl
                            version, linker flags.<span><font color="#888888"><br>
                                <br>
                              </font></span></div>
                          <span><font color="#888888">- Tim<br>
                            </font></span></div>
                      </div>
                    </div>
                    <div>
                      <div>
                        <div class="gmail_extra"><br>
                          <br>
                          <div class="gmail_quote">
                            <div>
                              <div>On Wed, May 28, 2014 at
                                9:40 AM, Tim Armstrong <span dir="ltr">
                                  <<a href="mailto:tim.g.armstrong@gmail.com" target="_blank">tim.g.armstrong@gmail.com</a>></span>
                                wrote:<br>
                              </div>
                            </div>
                            <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                              <div>
                                <div>
                                  <div dir="ltr">
                                    <div>main_script lets you specify
                                      the Tcl script that's run on
                                      application startup.  To run a
                                      compiled Swift program, you set
                                      main_script to point to the Tcl
                                      output file.  mkstatic.tcl doesn't
                                      need Swift source files.<br>
                                      <br>
                                    </div>
                                    <div>Note that you only need to fill
                                      in the fields in the "Manifest
                                      info" section to generate the C
                                      main program.  You probably only
                                      need the follow to generate the C
                                      code:<br>
                                      <br>
                                      # Name and version of Tcl package<br>
pkg_name=flex_pep_docking_or_whatever<br>
                                      pkg_version=0.0<br>
                                      <br>
                                      # C function names to initialise
                                      Tcl modules<br>
                                      # These follow the Tcl naming
                                      convention, e.g., Userlib_Init<br>
                                      # Use nm on your extension object
                                      code to find this symbol<br>
lib_init=_Z24FlexPepDocking_wrap_InitP10Tcl_Interp<br>
                                      <br>
                                      # lib scripts are executed in
                                      specified order, before
                                      main_script and<br>
                                      # after lib_inits<br>
lib_script=../flexpep_docking/user-code.tcl<br>
                                      <br>
                                      # headers for user Tcl code, e.g.
                                      lib_init functions<br>
lib_include=../flexpep_docking/FlexPepDocking_wrap.h<br>
                                      <br>
                                      # main script (generated by STC).
                                      <br>
                                      # If provided, always runs this
                                      main script.  <br>
                                      # Otherwise, the script file is
                                      specified at run time as the <br>
                                      # first command line argument
                                      (like tclsh)<br>
                                      main_script = stc_output_file.tcl<span><font color="#888888"><br>
                                          <br>
                                        </font></span></div>
                                    <span><font color="#888888">
                                        <div><br>
                                        </div>
                                        - Tim<br>
                                      </font></span></div>
                                </div>
                              </div>
                              <div>
                                <div>
                                  <div class="gmail_extra"><br>
                                    <br>
                                    <div class="gmail_quote">
                                      <div>
                                        <div>On Wed, May 28,
                                          2014 at 9:17 AM, Ketan
                                          Maheshwari <span dir="ltr">
                                            <<a href="mailto:ketan@mcs.anl.gov" target="_blank">ketan@mcs.anl.gov</a>></span>
                                          wrote:<br>
                                        </div>
                                      </div>
                                      <div>
                                        <div>
                                          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                                            <div dir="ltr">Thanks. One
                                              more question:
                                              <div><br>
                                              </div>
                                              <div>I am not sure where
                                                should I provide the
                                                application source file
                                                in the manifest files? </div>
                                              <div><br>
                                              </div>
                                              <div>Thanks,</div>
                                              <div>Ketan</div>
                                            </div>
                                            <div class="gmail_extra"><br>
                                              <br>
                                              <div class="gmail_quote">
                                                <div>On Tue, May 27,
                                                  2014 at 2:14 PM, Tim
                                                  Armstrong <span dir="ltr"><<a href="mailto:tim.g.armstrong@gmail.com" target="_blank">tim.g.armstrong@gmail.com</a>></span>
                                                  wrote:<br>
                                                </div>
                                                <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                                                  <div>
                                                    <div dir="ltr"><br>
                                                      <div class="gmail_extra"><br>
                                                        <br>
                                                        <div class="gmail_quote">
                                                          <div>
                                                          <div>On Tue,
                                                          May 27, 2014
                                                          at 1:50 PM,
                                                          Ketan
                                                          Maheshwari <span dir="ltr"><<a href="mailto:ketan@mcs.anl.gov" target="_blank">ketan@mcs.anl.gov</a>></span>
                                                          wrote:<br>
                                                          </div>
                                                          <div>
                                                          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                                                          <div dir="ltr">Hi,
                                                          <div><br>
                                                          </div>
                                                          <div>Trying to
                                                          get the
                                                          Rosetta
                                                          application
                                                          static build
                                                          for Turbine
                                                          using
                                                          mkstatic.tcl.</div>
                                                          <div><br>
                                                          </div>
                                                          <div>I am a
                                                          bit confused
                                                          about the
                                                          entries in the
                                                          manifest file:</div>
                                                          <div><br>
                                                          </div>
                                                          <div>1. The
                                                          purpose of
                                                          lib_script
                                                          option is not
                                                          very clear to
                                                          me. What
                                                          scripts are
                                                          supposed to go
                                                          in there? The
                                                          template lists
                                                          user_stuff1.tcl,
user_stuff2.tcl.</div>
                                                          <div><br>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          </div>
                                                          <div>
                                                          <div>Any Tcl
                                                          scripts that
                                                          you want to
                                                          run when the
                                                          library
                                                          loads.  E.g.
                                                          if you set
                                                          pkg_name=the_pkg
                                                          and
                                                          lib_script=the_pkg.tcl,
                                                          then pkg.tcl
                                                          will be
                                                          included in
                                                          the
                                                          executable. 
                                                          It's run when
                                                          the Tcl user
                                                          script does a
                                                          "package
                                                          require
                                                          the_pkg".<br>
                                                          </div>
                                                          </div>
                                                          <div>
                                                          <div> </div>
                                                          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                                                          <div dir="ltr">
                                                          <div>2. The
                                                          lib_include
                                                          entry: does it
                                                          accept both
                                                          include dirs
                                                          and header
                                                          files?</div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          <div>It has to
                                                          be a header
                                                          file - it will
                                                          just add a
                                                          #include at
                                                          the top of the
                                                          C main file. 
                                                          You have to
                                                          provide any
                                                          include
                                                          directory
                                                          flags to the C
                                                          compiler later
                                                          when you
                                                          compile it.<br>
                                                          </div>
                                                          <div>
                                                          <div> </div>
                                                          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                                                          <div dir="ltr">
                                                          <div><br>
                                                          </div>
                                                          <div>
                                                          <div>3. From
                                                          the
                                                          documentation <a href="http://www.mcs.anl.gov/exm/local/guides/swift.html#mkstatic" target="_blank">http://www.mcs.anl.gov/exm/local/guides/swift.html#mkstatic</a>,
                                                          I see that
                                                          there are
                                                          options at
                                                          commandline
                                                          such as
                                                          --include-lib
                                                          and
                                                          --include-system-lib.
                                                          Are these in
                                                          lieu of the
                                                          ones in the
                                                          manifest?</div>
                                                          </div>
                                                          </div>
                                                          </blockquote>
                                                          </div>
                                                          <div>These let
                                                          you link in
                                                          entire library
                                                          directories. 
                                                          <br>
                                                          <div><br>
                                                          --include-system-lib
                                                          is for the Tcl
                                                          standard
                                                          library
                                                          directory that
                                                          is always
                                                          loaded on
                                                          startup - it
                                                          links the
                                                          files into the
                                                          executable so
                                                          that it
                                                          doesn't need
                                                          to load them
                                                          off disk. 
                                                          It's mainly
                                                          for
                                                          performance,
                                                          but it can
                                                          help build
                                                          entirely
                                                          self-contained
                                                          executables.<br>
                                                          <br>
                                                           --include-lib 
                                                          lets you link
                                                          in an external
                                                          library, e.g.
                                                          a directory of
                                                          Tcl files, or
                                                          a directory
                                                          with a
                                                          pkgIndex.tcl
                                                          file.  These
                                                          are set up to
                                                          to be loaded
                                                          on demand with
                                                          "package
                                                          require". 
                                                          --include-lib
                                                          <dir> is
                                                          essentially an
                                                          alternative to
                                                          setting
                                                          TURBINE_USER_LIB=<dir>.<br>
                                                          <br>
                                                          </div>
                                                          </div>
                                                          <div>
                                                          <div> </div>
                                                          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                                                          <div dir="ltr">
                                                          <div><br>
                                                          </div>
                                                          <div>Thanks,</div>
                                                          <div>Ketan</div>
                                                          </div>
                                                          <br>
_______________________________________________<br>
                                                          ExM-user
                                                          mailing list<br>
                                                          <a href="mailto:ExM-user@lists.mcs.anl.gov" target="_blank">ExM-user@lists.mcs.anl.gov</a><br>
                                                          <a href="https://lists.mcs.anl.gov/mailman/listinfo/exm-user" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/exm-user</a><br>
                                                          <br>
                                                          </blockquote>
                                                          </div>
                                                        </div>
                                                        <br>
                                                      </div>
                                                    </div>
                                                  </div>
                                                </blockquote>
                                              </div>
                                              <br>
                                            </div>
                                          </blockquote>
                                        </div>
                                      </div>
                                    </div>
                                    <br>
                                  </div>
                                </div>
                              </div>
                            </blockquote>
                          </div>
                          <br>
                        </div>
                      </div>
                    </div>
                  </blockquote>
                </div>
                <br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
ExM-user mailing list
<a href="mailto:ExM-user@lists.mcs.anl.gov" target="_blank">ExM-user@lists.mcs.anl.gov</a>
<a href="https://lists.mcs.anl.gov/mailman/listinfo/exm-user" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/exm-user</a>
</pre>
    </blockquote>
    <br>
    </div></div><span class="HOEnZb"><font color="#888888"><pre cols="72">-- 
Justin M Wozniak
</pre>
  </font></span></div>

</blockquote></div><br></div>