Message-ID: From: "kenjiuno (@kenjiuno)" To: "postgresql-interfaces/psqlodbc" Date: Tue, 07 Jan 2025 12:28:41 +0000 Subject: Re: [postgresql-interfaces/psqlodbc] issue #36: Request: Add Windows for ARM support In-Reply-To: References: List-Id: X-GitHub-Author-Login: kenjiuno X-GitHub-Comment-Id: 2575161212 X-GitHub-Comment-Type: issue_comment X-GitHub-Issue: 36 X-GitHub-Repo: postgresql-interfaces/psqlodbc X-GitHub-Type: comment X-GitHub-Url: https://github.com/postgresql-interfaces/psqlodbc/issues/36#issuecomment-2575161212 Content-Type: text/plain; charset=utf-8 Hi. Is there an update about this issue? I have tested psqlodbc with Windows 11 ARM on Azure VM service. I can confirm that this VM runs on ARM64 CPU, by launching settings. > System type 64-bit operating system, ARM-based processor ![settings](https://github.com/user-attachments/assets/10243e4e-2fbf-436a-82ea-3fd2c1e5cb97) Downloading from https://www.postgresql.org/ftp/odbc/releases/REL-17_00_0004/ And installing `psqlodbc-setup.exe` prompts the following error: ``` --------------------------- psqlodbc Setup --------------------------- Error installing ODBC driver: PostgreSQL ANSI(x64), ODBC error 13: The setup routines for the PostgreSQL ANSI(x64) ODBC driver could not be loaded due to system error code 193: .. Verify that the file PostgreSQL ANSI(x64) exists and that you can access it. --------------------------- Abort Retry Ignore --------------------------- ``` ![setup-exe-errr](https://github.com/user-attachments/assets/6fbb8b77-2a2c-4515-88d8-b258e4c3f682) Selecting `Retry` will continue to prompt the same message. Selecting `Ignore` will ignore this step but it prompts a similar prompt like the following one: ``` --------------------------- psqlodbc Setup --------------------------- Error installing ODBC driver: PostgreSQL ANSI, ODBC error 13: The setup routines for the PostgreSQL ANSI ODBC driver could not be loaded due to system error code 193: .. Verify that the file PostgreSQL ANSI exists and that you can access it. --------------------------- Abort Retry Ignore --------------------------- ``` Selecting `Ignore` again ``` --------------------------- psqlodbc Setup --------------------------- Error installing ODBC driver: PostgreSQL Unicode(x64), ODBC error 13: The setup routines for the PostgreSQL Unicode(x64) ODBC driver could not be loaded due to system error code 193: .. Verify that the file PostgreSQL Unicode(x64) exists and that you can access it. --------------------------- Abort Retry Ignore --------------------------- ``` Again ``` --------------------------- psqlodbc Setup --------------------------- Error installing ODBC driver: PostgreSQL Unicode, ODBC error 13: The setup routines for the PostgreSQL Unicode ODBC driver could not be loaded due to system error code 193: .. Verify that the file PostgreSQL Unicode exists and that you can access it. --------------------------- Abort Retry Ignore --------------------------- ``` Finally, the installation was successful by ignoring 4 severe error messages. ![setup-exe-comp](https://github.com/user-attachments/assets/97e78106-0b0f-4ed8-a958-32c4cc952e43) Next, I'm going to add a data source with `odbcad32` ![odbcad32-first](https://github.com/user-attachments/assets/a91f7c50-e7a6-42c0-b892-d5dba66d2677) `Add` ![odbcad32](https://github.com/user-attachments/assets/84db61f4-e212-43d0-9cbf-5d948f701136) It prompts the 2 error prompts continuously by selecting one of the 4 drivers: `PostgreSQL ANSI`, `PostgreSQL ANSI(x64)`, `PostgreSQL Unicode`, or `PostgreSQL Unicode(x64)`. ``` --------------------------- Microsoft ODBC Administrator --------------------------- The setup routines for the PostgreSQL ANSI ODBC driver could not be loaded due to system error code 193: . --------------------------- OK --------------------------- ``` ![add-error](https://github.com/user-attachments/assets/8c20c3b8-059f-4c82-81b8-bdf896f24ea5) ``` --------------------------- Driver's ConfigDSN, ConfigDriver, or ConfigTranslator failed --------------------------- Errors Found: The setup routines for the PostgreSQL ANSI ODBC driver could not be loaded due to system error code 193: . --------------------------- OK --------------------------- ``` ![add-error-2](https://github.com/user-attachments/assets/fa61d136-d456-44a9-a0dd-1643127d18eb) It is not added to the data source list. ![odbcad32-after](https://github.com/user-attachments/assets/f1e64458-951a-4c7b-bcb7-5e325ded9fe4) At first, I observed this issue in my company's case. I maintain a Microsoft Access app. It uses ODBC (psqlodbc in this case) in some situations. Usually, PC is x64-based, so there is no problem. Occasionally, some users tend to bring a `Copilot+ PC` device which features an Arm64 CPU. That kind of PC features the ARM64 version of Microsft Office (Microsoft Access), thus native x64 DLLs cannot be loaded inside the ARM64 app. This is why I needed an ARM64 version of psqlodbc. But, at last, I could build a `psqlodbc_arm64.msi` and .msm package by struggling with many issues. I may be able to help if going to implement arm64 version of psqlodbc.