4
votes

After upgrading to macOS Big Sur my snowsql scripts all fail with "The Library Security could not be found"

$ snowsql -q "select 1 x"
User: me
Password: XXX
The library Security could not be found
If the error message is unclear, enable logging using -o log_level=DEBUG and see the log to find out the cause. Contact support for further help.
Goodbye!

This reminds me of an issue I ran into with the snowflake-connector-python library involving oscrypto library being used instead of openssl when I upgraded to macOS Catalina several months ago, the issue is documented here: https://github.com/snowflakedb/snowflake-connector-python/issues/235

When I first saw the issue today I was running an earlier version of SnowSQL (1.1.something) then I upgraded to 1.2.9 and got the same error. I tried adding the "-o log_level=DEBUG" to the SnowSQL command line but it didn't output any additional information.

4

4 Answers

3
votes

Could you try the following steps?

5
votes

I was running into the same thing and the only help I can find was this thread and a few unanswered github issues.

For me, I'm using SQLAlchemy to connect to Snowflake. Worked just fine until I upgraded to Big Sur.

After digging through the code, it looks like things were stemming from oscrypto 1.20 for me. It was specifically calling our the _security_cffi.py and around line 239, they were doing something like this:

Security = find_library('Security')

I went to their page and saw that there was a new version 1.21

After downloading it, the code changed to this:

security_path = '/System/Library/Frameworks/Security.framework/Security'

Security = ffi.dlopen(security_path)

Now I'm able to run my queries against snowflake without issue.

2
votes

After reading @mwlilson 's answer I tried the following and it seems to have worked. For me the error was arising when I tried to use the dropbox python module.

# Solution
pip uninstall oscrypto
pip install oscrypto
0
votes

For me oscrypto==1.2.0 worked on macOS Big Sur 11.5.1

  1. Like @Gokhan Atil's answer, I installed the latest version of SnowSQL
  2. pip uninstall oscrypto
  3. pip install oscrypto==1.2.1