How to control location of .o files after compilation?

33 views
Skip to first unread message

Kevin Toppenberg

unread,
Jan 9, 2025, 9:18:13 AMJan 9
to Everything MUMPS
I recently upgraded from r132 to r202 yottadb.

My primary mumps directory looks like this (edited)

drwxrwxr-x  3     4096 Jan  5 17:35  g
drwxr-xr-x  4     4096 Jan  8 09:57  j
lrwxrwxrwx  1       12 Jul  5  2021  m -> /opt/yottadb
drwxrwxr-x  2   950272 Jan  9 09:13  o
drwxrwxrwx 10    69632 Jan  8 17:21  p
drwxrwxrwx  5  3289088 Jan  5 16:53  r
drwxrwxrwx  3     4096 Dec  5 21:00  tmp

Traditionally I have had my routines in /r (these are VistA mumps files), and my local code (i.e. patches) are in /p.  When I would compile them (via ZLINK), the .o files would go to my /o directory.

But since upgrading to r202, the .o files are goign to the /p and /r folders

What changed?  And more importantly, how do I tell yottadb to put the compiled .o files into my /o folder

Thanks,
Kevin

Kevin Toppenberg

unread,
Jan 9, 2025, 9:20:20 AMJan 9
to Everything MUMPS
Also, I now see .lis files, that appear to be text files with the source code.  What are these, and how can I keep them organized?  I would love them to be stored with the .o files so they don't clutter up my directory.

KT

Sam Habiel

unread,
Jan 9, 2025, 10:14:11 AMJan 9
to Kevin Toppenberg, Everything MUMPS
On routines on object files: See https://docs.yottadb.com/ProgrammersGuide/isv.html#zroutines-isv. Briefly, gtmroutines/ydb_routines = objects(routine_dir1 routine_dir2). If you add * to objects, you enable autorelink, which lets you do stuff like get new versions of objects for taskman without needing to restart taskman. I think you must have changed gtmroutines.

lis files are debug only, and are not generated automatically. Check your ydb_compile/$ZCOMPILE flags. See https://docs.yottadb.com/ProgrammersGuide/isv.html#zroutines-isv.

List files are the VMS-like assembly code that YottaDB generates as the compiled output of M code. See https://docs.yottadb.com/ProgrammersGuide/devcycle.html#no-li-st-filename for how to redirect them into a separate folder if you want to keep them. I have only ever used them if I play with the compiler and need to see what got generated (e.g. whether an expression got optimized or not).

--Sam

--
You received this message because you are subscribed to the Google Groups "Everything MUMPS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to everythingmum...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/everythingmumps/76909604-c57d-4a3f-9369-b547dcc493dbn%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Kevin Toppenberg

unread,
Jan 10, 2025, 10:16:58 AMJan 10
to Everything MUMPS
Regarding list files, I wonder if we are talking about the same think.  This is what my TMGTEST.lis file looks like


    1   TMGTEST2 ;TMG/kst/Scratch fns for programming tests ;03/25/06, 2/2/14
    2             ;;1.0;TMG-LIB;**1**;09/01/05
    3    ;
    4    ;"~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--
    5    ;"Copyright (c) 6/23/2015  Kevin S. Toppenberg MD
    6    ;"
    7    ;"This file is part of the TMG LIBRARY, and may only be used in accordence
    8    ;" to license terms outlined in separate file TMGLICNS.m, which should
    9    ;" always be distributed with this file.
   10    ;"~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--
   11    ;
   12    ;"Scratch function for various programming tests
   13   A       NEW Name WRITE "this is a test",!
   14           read "Enter name:",Name,!
   15           WRITE "Here is that name: ",Name,!
   16           QUIT
   17  
   18   B
   19           NEW name
   20           SET name="kevin"
   21           read "input name",name,!
   22           SET ^TMG("KILL LATER")=name
   23           QUIT
   24  
-snip-

Seems to be just the same as the .m file, except with line numbers added. 

Can I just delete these??

Kevin

Kevin Toppenberg

unread,
Jan 10, 2025, 10:37:28 AMJan 10
to Everything MUMPS
Sam,

Thank you for this information about the routine folders.  But I think in my case, I think they came because I used zcompile to compile all the routines.  That says that it compiles the current directory.  So I had to change to the /r   and the /p folders separately and run the zcompile then.  I suspect it just puts the output into the current directory.  I have manually moved the .o files.  I will see if they keep showing up there, and if so post back.

Thanks again
Kevin

On Thursday, January 9, 2025 at 10:14:11 AM UTC-5 Sam Habiel wrote:
Reply all
Reply to author
Forward
0 new messages