Skip to Content
Technical Articles

SAP HANA, SAPCAR, and macOS

Extracting SAP HANA Client Software

In this blog, we explain how to extract the SAP HANA client on macOS. Files on SAP Software Downloads have the SAR extension. This provides a few challenges on the latest macOS versions but nothing we can’t handle.

Any good? Post a comment, share on social media, and/or give a like. That’s how the community works. Thanks!.

/wp-content/uploads/2016/02/sapnwabline_885687.png

The new archiving tool SAPCAR

Older readers might remember when SAP introduced a new archiving tool to replace the previous CAR (Compressed ARchive) utility some two decades ago. The tools were not compatible, so for SAPCAR the extension SAR was chosen.

SAPCAR only exists as command line tool, there is no graphical version, and the syntax resembles that of the UNIX TAR utility with -x for extract, -v for verbose (show me), and -f for file, to list a few common ones.

Tar was developed to bundle a number of files into a single Tape ARchive file (but works on disk too). Tar does not compress files and so it is often used together with zip to create a zipped tarball, which somewhat resembles our SAR files.

As Linux and macOS are UNIX descendants, we find tar on these operating systems as well.

tar -xvf <file> 
sapcar -xvf <file>

/wp-content/uploads/2016/02/sapnwabline_885687.png

SAP Service Marketplace is being retired

To download SAP software, we need to navigate to Software Downloads on the SAP ONE Support Launchpad. This used to be the Software Download Center (SWDC) on the SAP Service Marketplace (SMP) but that was decommissioned in 2018. You might still find references to SWDC or SMP as not everybody read the blog post yet

Or maybe because the shortcut still works

/wp-content/uploads/2016/02/sapnwabline_885687.png

IMDB_CLIENT20

From Software Downloads, we can download the in-memory database SAP HANA client 2.0. There is one for Linux, UNIX (several versions), Microsoft Windows, and macOS.

  • File type: SAR
  • Operating system: MACOS X 64-BIT

What version do you need? Always pick the latest as there is a “single public release” strategy which  “removes ambiguity about which version to install, brings the benefits of new performance or stability improvements to all customers”.

/wp-content/uploads/2016/02/sapnwabline_885687.png

SAPCAR 7.21

There is a SAPCAR utility for most operating systems and this includes (as of 7.21) macOS.

  • File type: EXE
  • Operating system: MACOS X 64-BIT

/wp-content/uploads/2016/02/sapnwabline_885687.png

Because Microsoft Windows applications are not supported on macOS

From the Windows world we have learned that we can double-click executable files (EXE) to execute. Doing so, will return a friendly message that Microsoft Windows applications are not supported on macOS.

/wp-content/uploads/2016/02/sapnwabline_885687.png

The developer cannot be verified

Because of the EXE extension, macOS assumes it is a Windows binary. When we open Terminal and do a file check with the file command, this confirms it is a Mach-O 64-bit executable: perfectly fine.

Executing the file however returns permission denied because the download comes with only RW permissions for the current user. This is easy to fix with a chmod u+x.

At this stage, macOS protection kicks in to as the file is unsigned and might as well be malware. Move to Bin? No. Cancel.

/wp-content/uploads/2016/02/sapnwabline_885687.png

Allow Anyway

If you agree that SAP software can be trusted, open System Preferences > Security & Privacy and select Allow Anyway

/wp-content/uploads/2016/02/sapnwabline_885687.png

Are you sure you want to open it? 

Run the SAPCAR command again and select Open to allow.

/wp-content/uploads/2016/02/sapnwabline_885687.png

Usage

Just running the command returns usage. To extract files from an archive:

SAPCAR -x[v][f archive]

As the version number and the .EXE file extension serve no particular purpose, let’s rename the file and, while at it, move it to the bin directory so we do not have to specify current directory when not in the path (./). As we move the file to a protected directory this requires superuser (su) permission:

sudo mv SAPCAR_1311-70002712.EXE /usr/local/bin/SAPCAR

/wp-content/uploads/2016/02/sapnwabline_885687.png

Long Story, Short Story

For those that prefer a shortcut, here are the commands that rename the file, set the execution bit, the proper group, and remove the quarantine property. Thanks to Witalij Rudnicki for the last one.

cd ~/Downloads
sudo mv SAPCAR_*.EXE /usr/local/bin/SAPCAR
sudo chmod 755 /usr/local/bin/SAPCAR
sudo chgrp admin /usr/local/bin/SAPCAR
sudo xattr -d com.apple.quarantine /usr/local/bin/SAPCAR

SAPCAR -xvf IMDB_CLIENT20_*.SAR

 

/wp-content/uploads/2016/02/sapnwabline_885687.png

Install the SAP HANA Client

Tools On-Demand

If you prefer, you can also download the SAP HANA client from the SAP Development Tools website: tools.hana.ondemand.com (for the story behind the URL, see At Your Service: SAP HANA in the Cloud).

For macOS, this download comes as a zipped tarball (.tar,gz).

To extract, run the command

tar -xzvf hanaclient-2.4.182-macosx-x64.tar.gz

Or in case you have configured macOS to automatically extract zipped files, with

tar -xvf client.tar

/wp-content/uploads/2016/02/sapnwabline_885687.png

Common Crypto Lib

However, although the release number is the same (2.4), only the client from Software Downloads contains the SAP cryptography library Common Crypto Lib (CCL).

You will need this to connect with your client to the SAP HANA Service, for example. See

/wp-content/uploads/2016/02/sapnwabline_885687.png

Post a comment, Share on Social Media, Like

Any good? Post a comment, share on social media, and/or give a like. That’s how the community works. Thanks.

If you would like to receive updates, connect with me on

Best,

Denys van Kempen

/wp-content/uploads/2016/02/sapnwabline_885687.png

 

5 Comments
You must be Logged on to comment or reply to a post.
  • Hi Denys. Indeed macOS makes it less easy to work with “suspicious” files downloaded from the internet, like SAPCAR.

    I usually just check and remove the extended attribute com.apple.quarantine after downloading needed file, like

    $ ./SAPCAR_1311-70002712.EXE
    Killed: 9
    
    $ xattr SAPCAR_1311-70002712.EXE
    com.apple.lastuseddate#PS
    com.apple.macl
    com.apple.metadata:kMDItemDownloadedDate
    com.apple.metadata:kMDItemWhereFroms
    com.apple.quarantine
    
    $ xattr -d com.apple.quarantine SAPCAR_1311-70002712.EXE
    
    $ ./SAPCAR_1311-70002712.EXE
    usage:
    
    create a new archive:
    SAPCAR -c[vir][f archive] [-P] [-C directory]
       [-A filename] [-T filename] [-X filename]
       [-p value] [-V] file1 file2 ...
    ...

    Regards.