Thresholds Moving from 6.1.3 to 8.1.6 on Mac

Bastiaan Olij Bastiaan.Olij at instinctsystems.com.au
Fri Aug 3 02:24:40 EDT 2018


Hey Mats,


Sorry I think I forgot to answer one of your mails regarding this. Better late then never. This is what I do:


1) obtain a copy of the libssl.1.0.0.dylib and libcrypto.1.0.0.dylib from somewhere, I think I took the copies that came with pgAdmin originally. Copy these files into Omnis.app/Contents/Frameworks
2) open up terminal and execute the following commands:


cd Omnis.app/Contents/Frameworks
otool -L libssl.1.0.0.dylib


Now find where libcrypto.1.0.0.dylib is mentioned, it will tell you what its dependency path is which will be the wrong one, and run:


install_name_tool -change <old path to libcrypto> @executable_path/../../Contents/Frameworks/libcrypto.1.0.0.dylib libssl.1.0.0.dylib


This will change the libssl.dylib to look for libcrypto in the framework folder.


3) copy an SSL capable version of libpq.dylib (again I sourced it from pgAdmin if I am not mistaken) into Omnis.app/Contents/MacOS
4) open up terminal and execute the following commands:


cd Omnis.app/Contents/MacOS
otool -L libpq.dylib


Again take note of the location of libcrypto and libssl, now use the same trick:



install_name_tool -change <old path to libcrypto> @executable_path/../../Contents/Frameworks/libcrypto.1.0.0.dylib libpq.dylib

install_name_tool -change <old path to libssl> @executable_path/../../Contents/Frameworks/libssl.1.0.0.dylib libpq.dylib


Now when libpq.dylib is loaded it will look in frameworks for these dependencies


Finally we do:


cd Omnis.app/Contents/MacOS/xcomp
install_name_tool -add_rpath @executable_path/ dampgsql.u_comp/Contents/MacOS/dampgsql


This will allow dampgsql to look in the executable path for its dependencies and load libpq.dylib from there.


Now you can deploy these versions of the libraries to your clients and there is no more nonsense with files being in hard to access locations.


Note that in all this @executable_path will always point to Omnis.app/Contents/MacOS/

Kindest Regards,


Bastiaan Olij
Head of development - Instinct Systems: The JobBag People
Ground Floor, 48 Chandos Street
St Leonards NSW 2065
Australia


Phone +61 2 8115 8000
Mobile +61 4 321 44833
bastiaan.olij at instinctsystems.com.au
http://www.jobbag.com



 From:   ADJob <mats at adjob.se> 
 To:   <omnisdev-en at lists.omnis-dev.com> 
 Sent:   8/3/2018 3:23 PM 
 Subject:   Thresholds Moving from 6.1.3 to 8.1.6 on Mac 

Hi Bas,


1. Using Postgresql SSL is not working out of the box for Mac. 
——————————————————————————————————————
I think this will be a real challenge. Solved locally but not solved for deployment.

Downloading some dylib for SSL, copying these to usr/local/lib and creating symlinks to usr/lib was not that hard to do manually using Terminal.
But how do I automate this for thousands of users? I cannot copy dylibs to the usr/local/lib even using Terminal with root access without entering passwords.

>I did a post some weeks back (on my old basenlily.me email) where I explain the steps how you can alter your Postgres DAM and Omnis executable so it will look for the required files in your application bundle.

I found this, but it is not recommended by Omnis Support ( I do not know why): 

> I've taken the libpq.dylib that comes with a recent version of pgAdmin
> and placed that alongside the Omnis executable.
> Then I place the libssl and libcrypto libraries in Omnis' frameworks folder
>Finally I use oTool and install_name_tool to tell the Postgres Dam to
>  look for the libpq.dylib in the executable folder, and I use it to tell
> libpq.dylib to look for the openssl libraries in frameworks.

Are you willing to share this a more detaied explanation how you did? What is oTool and how do you tell the DAM?
Is there any symlinks involved?

TIA,

/Mats


_____________________________________________________________
Manage your list subscriptions at http://lists.omnis-dev.com
Start a new message -> mailto:omnisdev-en at lists.omnis-dev.com 



More information about the omnisdev-en mailing list