Distributing KLayout to Win7 Machines Using Relative Paths?

edited July 2015 in General
I get asked rather often by colleagues, to install KLayout on their systems. This fantastic software is becoming way too popular ;)

To make things easier, I would like to have the DRC and technology files within the user's KLayout folder. This way, I could use a simple batchfile, to copy the data over. Program files etc. into a fixed location, the user setups with the klayoutrc into the different user directories.

What I have failed so far, is to get relative paths working. I thought, using something like ./tech/technology.lyp or c:\users\%username%/KLayout/tech/technology.lyp in the technology manager would suffice. Unfortunately, this doesn't seem to work. I also tried using a relative base path ../KLayout, this way the program finds the DRC files again, but not the tech files. Using c:\users\%username%/KLayout as base path didn't help further. I tried both / and \. The current setup is "inherited" from my personal setup, which had the techfiles within the program folders.

Is there a way, to get this to work?

Thank you,
Michael

Comments

  • edited July 2015

    Hi Michael,

    Thanks! You're not alone ... popularity is both a gift and a burden :-)

    Regarding your issue: that is a known problem and I tried to give a recipe to work around that issue: http://klayout.de/doc/about/technology_manager.html (see "Importing and exporting technologies").

    The basic idea is to use "technology files" instead of the technology information stored inside the configuration. These cannot be edited inside the technology manager (which may be desired), but they are imported and become available like internally-built technologies. In the technology manager such technologies will appear as non-editable. Technologies set up in the technology manager can be exported to such files and imported again for editing (the files are XML so basically you could edit them with a text editor as well).

    Anyway, having such files will provide a relative base path since these files act as a start position for the search of the base path is left empty. The recipe explains how to prepare a file that way.

    The background is that in the future I want to migrate the whole technology management to such files. Then it will be possible to edit them too. It was a questionable decision to store the technology information inside the configuration, precisely for the missing distribution capabilities.

    But I'm able to learn from mistakes :-)

    Matthias

  • edited November -1
    Thank you for your reply!

    This looks like an good alternative. It will give me some work now, but will save much time in the future.

    I guess I'll spend some time figuring out the syntax in the klayoutrc and lyt files. There has to be a way, to dissect the former into the latter...

    Thank you again,
    Michael
  • edited July 2015

    Hi Michael,

    There are two options: either you export the technologies in the technology manager to .lyt files, or you take the value of the "technology-data" element in klayoutrc. The latter is basically a concatenation of the same information that is stored in individual .lyt files otherwise. However, inside the "klayoutrc" file, this information is "XML in XML text", so "<" is replaced by "&lt;" etc.

    Matthias

  • edited November -1
    Oh, this xml in xml text is kind of a feature :)
    I was worried, that I had somehow corrupted my klayoutrc by transferring it back and forth between windows and linux too often :D
    Anyway, after "repairing" it, it was indeed rather simple, to take the tech information from the 'inherited' klayoutrc and put it into individual lyt files. Auto import took care of the rest. I reckon, my problem is solved. Users or I can change and save DRC scripts and layout representations without a trace of the username in the klayoutrc.
    Thank you very much,
    Michael
Sign In or Register to comment.