Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
pawelwiejkut
Active Participant
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/

20 Comments
baiming_gao
Explorer
0 Kudos

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?

 

pawelwiejkut
Active Participant
0 Kudos

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.

TomHoepping
Participant
0 Kudos
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
pawelwiejkut
Active Participant
0 Kudos
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.
TomHoepping
Participant
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
pawelwiejkut
Active Participant
0 Kudos
Great news! Thanks for sharing Tom!
dylan-drummond
Contributor

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/

pawelwiejkut
Active Participant
Hahaha, totally agree with the coffee 🙂

Great blog, thank you for sharing this here.

TomHoepping
Participant
0 Kudos
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

 

 
pawelwiejkut
Active Participant
0 Kudos
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.

 
TomHoepping
Participant
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
gregorw
Active Contributor
Hi pawelwiejkut,

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

Best Regards
Gregor
TomHoepping
Participant
gregorw Hi Gregor - can confirm that platform-trial image is also working with utm/emulated approach.  Bests Tom
dylan-drummond
Contributor
0 Kudos
Referred MacBook M-series users to your blog (this one above) as a link in an update to my old blog:

https://blogs.sap.com/2021/05/31/install-abap-platform-developer-edition-on-docker-for-macbook/

"

For people with arm-based (M1, M2, etc) MacBooks, my advice is that you are unlikely to get Abap Platform Trial working, because in the end Docker effectively runs a Linux VM as a container and Abap systems make x64_86/amd64 processor calls which are not emulated. So the solution for M-series MacBook users is the UTM Emulator-Hypervisor –  for the Abap Platform Trial, check this excellent blog by pawelwiejkut:

https://blogs.sap.com/2021/12/16/how-to-install-abap-1909-on-mac-m1-apple-silicon/

"
gregorw
Active Contributor
Hi Dylan,

with Docker 4.25 there is support for Rosetta:


Beside that I had to upgrade to MacOS Sonoma (14.1). But now I have the ABAP Developer Trial running on my Apple Silicon Mac.

CU
Gregor
dylan-drummond
Contributor
0 Kudos
Hi Gregor,

ok good to hear that. Maybe i will try it on M1 Mac 16gb ram when i have time. If it works i'll need to then correct my blog claims 😂

regards,

-dylan
gregorw
Active Contributor
Would think that at least 32 GB are required. This is the current memory usage on my machine:

dylan-drummond
Contributor
0 Kudos
Using UTM in the past, i got it working using 15GB, but that was the now deprecated Abap Trial, so let's see what happens with this newer version and using Rosetta... will let you know how it goes...
dylan-drummond
Contributor
In the meantime in my old blog I put a caveat that M-series users may be able nowadays to get this working without UTM, link to your comment above also added.
dylan-drummond
Contributor
0 Kudos

Hi,

eventually saved up enough money to buy my own M3 MacBook with enough memory to make it possible to investigate the special case of arm64 host for Abap Platform Trial, results published a moment ago in this blog:

https://community.sap.com/t5/technology-blogs-by-members/m-series-apple-chip-macbooks-and-abap-platf... 

Conclusions: Docker Desktop is the easiest solution and the only one that works with Apple Rosetta; Ubuntu Server with UTM (Apple) QEMU (i.e. same theme as the blog above by Pawel) is a good solution if like me you prefer keeping toolsets "sandboxed" in VMs instead of having all those config files spread across your MacBook filesystem - works for both Docker and Podman.

[In the blog I didn't mention the various experiments I did trying to use UTM with Rosetta, because although I could get amd64 podman-hello working that way, Abap Platform Trial just refused to work. Also didn't mention that trying to use e.g. Podman's Linux qemu-system_x86_64 etc solutions, never worked].

 

Labels in this area