SnowSQL fails with "The library Security could not be found" after upgrading to mac Big Sur

3.2k views Asked by At

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.

5

There are 5 answers

3
Gokhan Atil On BEST ANSWER

Could you try the following steps?

1
mwilson On

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.

0
James McGowan On

This is what fixed it on mine.

  1. Download the latest snowsql installation from the snowflake website. snowflake downloads
  1. Run installation

  2. Verify the file $HOME/.snowsql/config contains your database connection settings.

  3. Write the config file to disk even if you made no changes.

After installation, I continued to see the same error until I re-saved the same config file. Perhaps there is a library cache for snowsql that does not refresh until it notices changes in the config? That fixed the problem. (Not sure if the re-installation was absolutely necessary, but it's working now).

2
GeneticsGuy On

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
Amin IsoMestari On

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