New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added aarch64 architecture support for Ubuntu 22.04 #1787
base: master
Are you sure you want to change the base?
Conversation
etc/DependencyInstaller.sh
Outdated
if [[ $arch == "aarch64" ]]; then | ||
if [ ! -f /usr/local/bin/klayout ]; then | ||
echo "Installing KLayout for aarch64 architecture" | ||
installDir="/usr/local/bin" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this should default to /usr/local/bin
, it should default to where the other packages from source are built.
etc/DependencyInstaller.sh
Outdated
installDir="/usr/local/bin" | ||
git clone https://github.com/KLayout/klayout.git | ||
cd klayout | ||
./build.sh -bin "${installDir}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't KLayout have several additional dependencies that need to be installed in order to get it to build?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @rovinski
Thanks for your comment. Indeed, KLayout has dependencies that require installation, the necessary changes have already been pushed․ Regarding the installDir="/usr/local/bin" path defined for installation of Klayout, I included the PREFIX in a manner consistent with the approach used in the OpenROAD/etc/DependencyInstallers.sh file during the installation of various dependencies, however Klayout installation is done when the script is first time invoked from setup.sh with "--base" option which according to the help message is not compatible with "--prefix" option, so the installation will take place at "/usr/local" directory. Please let me know if there are any open questions that I can address.
Regards
Lia
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's just a tiny nit about indentation. Otherwise, it looks good. I want to wait until I can deploy a CI machine with aarch64 so we can adequately test the PR and make sure it will not break silently in the future.
etc/DependencyInstaller.sh
Outdated
if [[ $arch == "aarch64" ]]; then | ||
if [ ! -f ${klayoutPrefix}/klayout ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks to be missing an indentation level.
Signed-off-by: Lia Vardanyan <liav@vorak-solutions.com>
Signed-off-by: Lia Vardanyan <liav@vorak-solutions.com>
…ng PREFIX Signed-off-by: Lia Vardanyan <liav@vorak-solutions.com>
Signed-off-by: Lia Vardanyan <liav@vorak-solutions.com>
The following has been done:
Modified the Klayout tools installation process to dynamically clone and build it from source since there are no prebuilt binaries available for the "aarch64" architecture.
The modification has been developed and tested successfully on an AWS Graviton (aarch64) instance using the following specifications: Instance type - t4g.xlarge (4 vCPU, 16 GiB Memory), Storage - 128 GiB.
Integration with Other Changes:
This pull request is associated with another changes in the OpenROAD repository. Specifically, adjustments were made in the DependancyInstaller.sh script to accommodate dependencies for the aarch64 architecture. Further details and the link to the related pull request will be provided in the comments.