[ExM Users] mkstatic questions
Justin M Wozniak
wozniak at mcs.anl.gov
Thu May 29 10:11:18 CDT 2014
I just fixed the perms on libtclturbine.a
For Tcl, there is currently no static archive in that directory- I will
try to make one.
On 05/29/2014 09:59 AM, Ketan Maheshwari wrote:
> Thanks! Trying to link with the following:
>
> /soft/compilers/wrappers/xl/mpixlcxx -o static_leaf_main
> static_leaf_main.o /home/ketan/rosetta/flexpep_docking/leaf_main.a \
> -pg -qsmp=omp -g -O0 -qarch=qp -qtune=qp -qhot
> -Wl,--allow-multiple-definition \
> /projects/ExM/ketan/openmp-gnu-july16-mini/build/src/debug/linux/2.6/64/ppc64/xlc/static-mpi/apps/public/flexpep_docking/FlexPepDocking.o
> \
> -L$TCL_HOME/lib -L$TURBINE_HOME/lib
> -L/projects/ExM/ketan/openmp-gnu-july16-mini/external/lib \
> -L/projects/ExM/ketan/openmp-gnu-july16-mini/build/src/debug/linux/2.6/64/ppc64/xlc/static-mpi
> \
> -Lsrc
> -L/projects/ExM/ketan/openmp-gnu-july16-mini/build/external/debug/linux/2.6/64/ppc64/xlc/static-mpi
> \
> -Lexternal -L/home/vsachde/ROSETTA/zlib/lib -ldevel -lprotocols.7
> -lprotocols.6 -lprotocols_f.5 -lprotocols_e.5 \
> -lprotocols_d.5 -lprotocols_c.5 -lprotocols_b.5 -lprotocols_a.5
> -lprotocols_h.4 -lprotocols_g.4 -lprotocols_f.4 \
> -lprotocols_e.4 -lprotocols_d.4 -lprotocols_c.4 -lprotocols_b.4
> -lprotocols_a.4 -lprotocols.3 -lprotocols_b.2 \
> -lprotocols_a.2 -lprotocols.1 -lcore.5 -lcore.4 -lcore.3 -lcore.2
> -lcore.1 -lbasic -lnumeric -lutility -lObjexxFCL \
> -lz -lcppdb -lsqlite3 -lz -ltclstub8.5 -ltcl8.5 -ltclturbine
> -ltclturbinestatic -ltclturbinestaticres
>
> Getting the error message:
> /bgsys/drivers/ppcfloor/gnu-linux/powerpc64-bgq-linux/bin/ld: cannot
> find -ltcl8.5
> /bgsys/drivers/ppcfloor/gnu-linux/powerpc64-bgq-linux/bin/ld: cannot
> find -ltclturbine
>
>
> $TCL_HOME is /home/wozniak/Public/sfw/ppc64/tcl-8.5.12
> $TURBINE_HOME is /home/wozniak/Public/sfw/ppc64/turbine/lib
>
> and the libs that ld is complaining about does seem to be available at
> the above locations. Any suggestions?
>
> Thanks,
> Ketan
>
>
> On Thu, May 29, 2014 at 9:09 AM, Tim Armstrong
> <tim.g.armstrong at gmail.com <mailto:tim.g.armstrong at gmail.com>> wrote:
>
>
> Forgot to send this to the list.
>
>
> On Thu, May 29, 2014 at 8:06 AM, Tim Armstrong
> <tim.g.armstrong at gmail.com <mailto:tim.g.armstrong at gmail.com>> wrote:
>
> 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.
>
> - Tim
>
>
> On Wed, May 28, 2014 at 9:40 AM, Tim Armstrong
> <tim.g.armstrong at gmail.com <mailto:tim.g.armstrong at gmail.com>>
> wrote:
>
> 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.
>
> 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:
>
> # Name and version of Tcl package
> pkg_name=flex_pep_docking_or_whatever
> pkg_version=0.0
>
> # C function names to initialise Tcl modules
> # These follow the Tcl naming convention, e.g., Userlib_Init
> # Use nm on your extension object code to find this symbol
> lib_init=_Z24FlexPepDocking_wrap_InitP10Tcl_Interp
>
> # lib scripts are executed in specified order, before
> main_script and
> # after lib_inits
> lib_script=../flexpep_docking/user-code.tcl
>
> # headers for user Tcl code, e.g. lib_init functions
> lib_include=../flexpep_docking/FlexPepDocking_wrap.h
>
> # main script (generated by STC).
> # If provided, always runs this main script.
> # Otherwise, the script file is specified at run time as the
> # first command line argument (like tclsh)
> main_script = stc_output_file.tcl
>
>
> - Tim
>
>
> On Wed, May 28, 2014 at 9:17 AM, Ketan Maheshwari
> <ketan at mcs.anl.gov <mailto:ketan at mcs.anl.gov>> wrote:
>
> Thanks. One more question:
>
> I am not sure where should I provide the application
> source file in the manifest files?
>
> Thanks,
> Ketan
>
>
> On Tue, May 27, 2014 at 2:14 PM, Tim Armstrong
> <tim.g.armstrong at gmail.com
> <mailto:tim.g.armstrong at gmail.com>> wrote:
>
>
>
>
> On Tue, May 27, 2014 at 1:50 PM, Ketan Maheshwari
> <ketan at mcs.anl.gov <mailto:ketan at mcs.anl.gov>> wrote:
>
> Hi,
>
> Trying to get the Rosetta application static
> build for Turbine using mkstatic.tcl.
>
> I am a bit confused about the entries in the
> manifest file:
>
> 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.
>
> 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".
>
> 2. The lib_include entry: does it accept both
> include dirs and header files?
>
> 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.
>
>
> 3. From the documentation
> http://www.mcs.anl.gov/exm/local/guides/swift.html#mkstatic,
> 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?
>
> These let you link in entire library directories.
>
> --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.
>
> --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>.
>
>
> Thanks,
> Ketan
>
> _______________________________________________
> ExM-user mailing list
> ExM-user at lists.mcs.anl.gov
> <mailto:ExM-user at lists.mcs.anl.gov>
> https://lists.mcs.anl.gov/mailman/listinfo/exm-user
>
>
>
>
>
>
>
>
>
> _______________________________________________
> ExM-user mailing list
> ExM-user at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/exm-user
--
Justin M Wozniak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/exm-user/attachments/20140529/ce1db648/attachment-0001.html>
More information about the ExM-user
mailing list