python throws SIGABRT while trying to connect vertica on M1 macOS

Hello
I am trying to connect vertica using pyodbc
here is a simple code example:
import pyodbc
con = pyodbc.connect("DSN=vertica")

Process finished with exit code 134 (interrupted by signal 6: SIGABRT)

Information about my local environment:
Python 2.7.18
pyodbc 4.0.32
macos Monterey 12.3.1
arch arm64
iodbc administrator version 3.52
Vertica odbc driver version 9.2

Another issue that might be related:
I am executing the iodbctest:
/Library/Application\ Support/iODBC/bin/iodbctest "DSN=vertica;UID=dbadmin;PWD=password"

And i get this error:
iODBC Demonstration program
This program shows an interactive SQL processor
Driver Manager: 03.52.1521.0607
1: SQLDriverConnect = [iODBC][Driver Manager]dlopen(/Library/Vertica/ODBC/lib/libverticaodbc.dylib, 0x0006): tried: '/Library/Vertica/ODBC/lib/libverticaodbc.dylib' (fat file, but missing compatible architecture (have 'x86_64,i386', need 'arm64e')) (0) SQLSTATE=00000
2: SQLDriverConnect = [iODBC][Driver Manager]Specified driver could not be loaded (0) SQLSTATE=IM003

Answers

  • SruthiASruthiA Administrator

    we dont support ARM architecture yet. hence it is expected behavior.

  • Bryan_HBryan_H Vertica Employee Administrator

    If you are able to upgrade to Python 3 (strongly recommended as Python 2 is end of life), you will be able to use the native driver vertica-python from https://github.com/vertica/vertica-python (also available via pip), which will run on ARM64.

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file