Opened 19 months ago
Closed 19 months ago
#67205 closed defect (fixed)
msodbcsql17 has dependency on files from Homebrew and does not install
Reported by: | posguy99 (Marc Wilson) | Owned by: | roederja |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | Cc: | kiwiroy@… | |
Port: | msodbcsql17 |
Description (last modified by jmroot (Joshua Root))
$ sudo port -d -y rev-upgrade ---> Scanning binaries for linking errors Could not open /opt/homebrew/lib/libodbcinst.2.dylib: Error opening or reading file (referenced from /opt/local/lib/libmsodbcsql.17.dylib) DEBUG: Marking /opt/local/lib/libmsodbcsql.17.dylib as broken ---> Found 1 broken file, matching files to ports ---> Found 1 broken port, determining rebuild order DEBUG: Broken: msodbcsql17 DEBUG: Processing port msodbcsql17 @0:17.10.2.1_0 You can always run 'port rev-upgrade' again to fix errors. The following ports will be rebuilt: msodbcsql17 @17.10.2.1 Continue? [Y/n]:
Change History (14)
comment:1 Changed 19 months ago by posguy99 (Marc Wilson)
Description: | modified (diff) |
---|
comment:2 Changed 19 months ago by jmroot (Joshua Root)
Description: | modified (diff) |
---|---|
Owner: | set to roederja |
Status: | new → assigned |
comment:3 Changed 19 months ago by roederja
comment:4 Changed 19 months ago by posguy99 (Marc Wilson)
Yes, I'm on arm.
$ otool -L /opt/local/lib/libmsodbcsql.17.dylib /opt/local/lib/libmsodbcsql.17.dylib: /opt/local/lib/libmsodbcsql.17.dylib (compatibility version 0.0.1, current version 10.2.1) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1770.255.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.60.1) /opt/homebrew/lib/libodbcinst.2.dylib (compatibility version 3.0.0, current version 3.0.0) /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos (compatibility version 5.0.0, current version 6.0.0) /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0) /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 904.4.0)
comment:5 Changed 19 months ago by posguy99 (Marc Wilson)
I had both mssql-tools and msodbcsql17 installed right up to your latest update and everything was fine. But the one you just uploaded doesn't work on my M1.
The newest update does still work on my Intel Mac.
comment:6 follow-up: 11 Changed 19 months ago by roederja
Cc: | kiwiroy@… added |
---|
Since the latest version Microsoft provides an ARM native version. Kiwiroy (cc'd now) made the port use that in #66992. I don't have an ARM mac, so it's difficult for me to test. I imagine it might be necessary to use install_name_tool to re-point the library. It appears when Microsoft built the library on ARM they had ODBC installed in a different location than on X86. To fix this the build step needs to be amended to use the ARM path when "building" the ARM version.
comment:7 Changed 19 months ago by roederja
I have pushed a change that might fix the ARM version. Could you confirm please. Also, could you check the mssql-tools port - it might need a similar fix.
comment:9 Changed 19 months ago by posguy99 (Marc Wilson)
I spoke much too fast... I tested on the wrong computer.
comment:10 follow-up: 12 Changed 19 months ago by posguy99 (Marc Wilson)
And no, myodbcsql17 still has the problem.
$ sudo port -d -y rev-upgrade ---> Scanning binaries for linking errors Could not open /opt/homebrew/lib/libodbcinst.2.dylib: Error opening or reading file (referenced from /opt/local/lib/libmsodbcsql.17.dylib) DEBUG: Marking /opt/local/lib/libmsodbcsql.17.dylib as broken ---> Found 1 broken file, matching files to ports ---> Found 1 broken port, determining rebuild order DEBUG: Broken: msodbcsql17 DEBUG: Processing port msodbcsql17 @0:17.10.2.1_0 You can always run 'port rev-upgrade' again to fix errors. The following ports will be rebuilt: msodbcsql17 @17.10.2.1 Continue? [Y/n]: n DEBUG: Checking time since last reclaim run
comment:11 Changed 19 months ago by ryandesign (Ryan Carsten Schmidt)
Replying to roederja:
It appears when Microsoft built the library on ARM they had ODBC installed in a different location than on X86.
Since they're using Homebrew for their dependencies, yes, they would have to do that. Homebrew installs to /usr/local on x86_64 and to /opt/homebrew on arm64.
comment:12 Changed 19 months ago by ryandesign (Ryan Carsten Schmidt)
Replying to posguy99:
And no, myodbcsql17 still has the problem.
DEBUG: Processing port msodbcsql17 @0:17.10.2.1_0
The fixed version of the port is 17.10.2.1_1. Run sudo port selfupdate
before trying again.
comment:13 Changed 19 months ago by posguy99 (Marc Wilson)
I had, but I think the mirror hadn't updated it yet. Now it installs. _
And you're right, mssql-tools has the same problem.
comment:14 Changed 19 months ago by roederja
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Mssql-tools should also be fixed now.
Are you on arm? I cannot reproduce this problem on x86: