Opened 13 years ago
Closed 12 years ago
#31521 closed defect (fixed)
oracle-instantclient: segmentation fault on Lion x86_64
Reported by: | mattg@… | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.3 |
Keywords: | lion mountainlion | Cc: | |
Port: | oracle-instantclient |
Description
When installing oracle-instantclient on Lion, it completes installation sucessfully once the instant client libraries are downloaded to: /opt/local/var/macports/distfiles/oracle-instantclient/
HOWEVER, once trying to run anything against oracle it gives a segmentation fault: 11.
From what I have seen from the oracle site, this is due to the fact that the 64-bit instant client is not supported on Lion yet. Not sure if the solution is to force it to use the 32-bit client only, or to simply wait for Oracle to fix the issue.
Change History (10)
comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | lion added |
---|---|
Owner: | changed from macports-tickets@… to ryandesign@… |
Port: | oracle-instantclient added |
Summary: | Oracle instant client fails on OSX Lion - oracle-instantclient → oracle-instantclient: segmentation fault |
comment:3 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | oracle-instantclient: segmentation fault → oracle-instantclient: segmentation fault on Lion x86_64 |
---|
Has duplicate #33617.
comment:4 Changed 12 years ago by neverpanic (Clemens Lang)
Shouldn't this be marked supported_archs i386
if it doesn't work when compiled for x86_64?
comment:5 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | cal@… added |
---|
Yes... I suppose I have to. I was hoping Oracle would release a new 64-bit Lion-compatible version, but they have not.
The problem is that if I mark oracle-instantclient as 32-bit only on Lion and up, I have to do the same for everything that depends on oracle-instantclient (ocilib, php-oracle, qore-oracle-module, TOra) and everything that depends on those (fortunately none).
But then what will happen is a user will install php54-oracle. It will rebuild php54 and its dependencies universal. The user will run "php54 foo.php" and be surprised when oracle support is not available; the user will have to run "arch -i386 php54 foo.php" to get the 32-bit version of PHP. Or if the user wants to use this in a web server, the user will have to manually reinstall their web server SAPI (php54-apache2handler, php54-cgi, php54-fpm) with the universal variant, and then arrange to have it start in 32-bit mode. For php54-apache2handler, that means editing an "arch -i386" command into the apache2 start script—a change which will be lost anytime apache2 is upgraded, rebuilt or even just deactivated. It's basically a mess.
Users who actually use oracle-instantclient should please communicate to Oracle their need for a 64-bit compatible version of their software that works on Lion. And Mountain Lion. And while they're at it, fix the misconfiguration of their builds that requires users to set DYLD_LIBRARY_PATH.
comment:7 follow-up: 8 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
I've filed tickets for all ports using oracle-instantclient with patches to make them build 32-bit on Lion and up:
And I'll do the PHP ports myself. Once that's done, we can make oracle-instantclient itself 32-bit only on Lion and up.
comment:8 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
comment:9 Changed 12 years ago by neverpanic (Clemens Lang)
Cc: | cal@… removed |
---|
comment:10 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | mountainlion added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
oracle-instantclient 11 should be 64-bit compatible even on Lion and up, so the update in #37880 will be reverting all these changes.
Remember to fill in the Port field and to Cc the maintainer of that port.
Feel free to install oracle-instantclient with the +universal variant and just use the i386 part of it. If Oracle releases a new version, of course I'll update the port if possible.