Skip to Content
Technical Articles
Author's profile photo Paweł Wiejkut

How to install ABAP 1909 on Mac M1 (Apple Silicon)

How to run ABAP 1909 on MacOs with M1? For me, the best idea was to use UTM. I also tried before with docker without success – in the end, there was always an error.

1. Install UTM

2. Download Ubuntu Server x64 bit version

3. Create a virtual machine on UTM (220 GB storage, 6-7 CPU’s, additional flags)

4. Install Ubuntu server on UTM

5. Install docker

sudo apt-get update

sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

6. Install ABAP 1909. A good article also here

docker run --stop-timeout 3600 -i --name a4h -h vhcala4hci -p 3200:3200 -p 3300:3300 -p 8443:8443 -p 30213:30213 -p 30215:30215 -p 50000:50000 -p 50001:50001 -p 50013:50013 -p 50014:50014 store/saplabs/abaptrial:1909 -skip-limits-check -agree-to-sap-license

In the beginning, it is always running slow. The best idea is to use sgen and regenerate all transactions, then it should be definitely better and pretty usable 🙂

This is a repost from my blog: https://pawelwiejkut.dev/posts/abap1909-dev-m1/

Assigned Tags

      13 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Baiming Gao
      Baiming Gao

      So you mean the installation is now successful, right? Very interesting ( to learn that Mac M1 can run SAP), and very useful information, thank you very much!

      p.s. What about the performance of the system?

       

      Author's profile photo Paweł Wiejkut
      Paweł Wiejkut
      Blog Post Author

      Yeah, it works preety fine in my M1 Max. The old developer version (NPL) works as well and of course faster than A4H... Unfortunately, this is emulation.

       

      Anyway A4H is "usable" I would say.

      Author's profile photo Tom Höpping
      Tom Höpping

      Pawel, thx for your blog post. Very helpful - I've made the same experience with. Hana XSA environment on docker on m1 Mac. So finally I've ended up with your approach.

      How did you connect to your docker image? With Mac local dev tools? Could you give some hints about the configuration/setup, ip/proxy settings. I believe this has to be somehow docker->vm->Mac?

      Thx Tom

      Author's profile photo Paweł Wiejkut
      Paweł Wiejkut
      Blog Post Author

      Hi Tom,

      The most important part is to redirect the ports from docker into the VM i.e. by:

      -p 3200:3200 -p 3300:3300 -p 8443:8443 -p 30213:30213 -p 30215:30215 -p 50000:50000 -p 50001:50001 -p 50013:50013 -p 50014:50014

      After that, you should be able to connect i.e. with the local Mac OS installation of Eclipse by using a VM IP address. Docker is "transparent" in this approach.

      Author's profile photo Tom Höpping
      Tom Höpping

      Hi Paweł

      Found the error. I have made mistakes with the flags for the processor in the UTM VM configuration. So basically I can confirm that your setup is also working for sap Hana express database and database with application server. 😉 Thx. for the inspiration and idea.

      Bests Tom

      Author's profile photo Paweł Wiejkut
      Paweł Wiejkut
      Blog Post Author

      Great news! Thanks for sharing Tom!

      Author's profile photo Tom Höpping
      Tom Höpping

      Hi Pawel

      One thing to add. I've played recently again around with the abaptrial docker image and was not able to get that image running. Always had this typical error.

      StartWait
      FAIL: process hdbdaemon HDB Daemon not running
      HDB: the start command failed, exit code=2
      The service HDB has failed to start and initialization is blocked until the problem is resolved
      You can try your luck 10 times until initialization is terminated
      Hint: docker containers can be joined by: docker exec -it <name> bash
      Hint: Container must have at least 16GB RAM available
      Hint: Container must have at least 70GB DISK free
      Hit Return to continue

       

      Which obviously could not have been the real reason. After some investigation I've found out that the HDBDeamon could not start because some uuidd service dumped/did not start on docker image linux layer. However, I did not quite understand why not.Somehow it seems to be related to the emulation of the Intel processor by UTM/quemu.

      I've tried again with an older utm version (3.2x) and it worked. So there seems to be a bug in the current UTM version regarding UUIDD/random number generation. Or processor type / flags must be configured differently.

      Do you have an idea?

       

      Bests Tom

       

      PS: Found here something - but not sure if this connected with my issue and makes sense. https://github.com/utmapp/UTM/blob/master/Documentation/MacDevelopment.md

       

       

      Author's profile photo Paweł Wiejkut
      Paweł Wiejkut
      Blog Post Author

      Hi Tom,

      This is a bizarre issue. I'm using the latest version - 3.2.4 (58) and it is working fine, but installation was done on the previous one (from last year)...

      Unfortunately now this docker image is not available officially as I know, so I can't even try to replicate it.

       

      Can you try to upgrade your UTM after installation and check?

       

      Best regards,

      Pawel.

       

      Author's profile photo Tom Höpping
      Tom Höpping

      Hi Pawel

      Good input. I've tested the existing container, basically just check if startupworks, with the current utm version and it worked. Very strange.

      So anyway, no problem but maybe interesting for all others trying this approach.

       

      Bests Tom

      Author's profile photo dylan drummond
      dylan drummond

      Great blog Pawel... I was thinking for the last couple of weeks, that I was the first person ever to realise that we can use UTM and its emulation capabilities to run SAP x86_64 stuff, but as it happened you realised this months before me 🙂

      Well, by luck (in late March, Abap Trial was disabled, but NetWeaver Dev Edition 7.50 SP04 is still installable) so I decided to make the Dev Edition my SAP x86_64 target, instead of thinking I was inventing something that you already completed in December last year... installed fine... it's about twice as slow as on Intel Mac VMware Fusion VM, but what works is good and we can make coffee during startsap ALL, a win-win situation:

      https://blogs.sap.com/2022/03/31/qemu-and-sap-dev-edition-via-utm-for-macbook-m1/

      Author's profile photo Paweł Wiejkut
      Paweł Wiejkut
      Blog Post Author

      Hahaha, totally agree with the coffee 🙂

      Great blog, thank you for sharing this here.

      Author's profile photo Gregor Wolf
      Gregor Wolf

      Hi Paweł Wiejkut,

      have you tried already with the new https://hub.docker.com/r/sapse/abap-platform-trial image?

      Best Regards
      Gregor

      Author's profile photo Tom Höpping
      Tom Höpping

      Gregor Wolf Hi Gregor - can confirm that platform-trial image is also working with utm/emulated approach.  Bests Tom