Skip to content

Commit 792847c

Browse files
committed
Update AIX and Solaris install instructions
1 parent e6581c6 commit 792847c

File tree

1 file changed

+237
-3
lines changed

1 file changed

+237
-3
lines changed

INSTALL.md

Lines changed: 237 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ limitations under the License.
2525
6. [Node-oracledb Installation on Windows](#instwin)
2626
7. [Copying node-oracledb Binaries on Windows](#winbins)
2727
8. [Advanced Installation on Linux](#linuxadv)
28+
9. [Node-oracledb Installation on AIX.PPC64 with Instant Client ZIP files](#instaix)
29+
10. [Node-oracledb Installation on SOLARIS.X64 with Instant Client ZIP files](#instsolarisamd)
2830

2931
## <a name="overview"></a> 1. Overview
3032

@@ -65,9 +67,10 @@ Instructions may need to be adjusted for your platform and environment.
6567

6668
I have ... | Follow this ...
6769
----------|-----------------
68-
Linux. My database is on another machine. | [Node-oracledb Installation on Linux with Instant Client RPMs](#instrpm)
69-
Solaris or AIX. My database is on another machine. | [Node-oracledb Installation on Linux with Instant Client ZIP files](#instzip)
70-
Linux, Solaris or AIX. My database is on the same machine. | [Node-oracledb Installation on Linux with a Local Database](#instoh)
70+
Linux. My database is on another machine. | [Node-oracledb Installation on Linux with Instant Client RPMs](#instrpm), [Node-oracledb Installation on Linux with Instant Client ZIP files](#instzip)
71+
AIX. My database is on another machine. | [Node-oracledb Installation on AIX.PPC64 with Instant Client ZIP files](#instaix)
72+
Solaris.x64. My database is on another machine. | [Node-oracledb Installation on SOLARIS.X64 with Instant Client ZIP files](#instsolarisamd)
73+
Linux, Solaris or AIX. My database is on the same machine. | [Node-oracledb Installation on Linux with a Local Database](#instoh)
7174
Linux, Solaris or AIX. I have the full Oracle client (installed via runInstaller) on the same machine. | [Node-oracledb Installation on Linux with a Local Database](#instoh)
7275
Apple OS X | [Node-oracledb Installation on OS X with Instant Client](#instosx)
7376
Windows | [Node-oracledb Installation on Windows](#instwin)
@@ -742,3 +745,234 @@ FORCE_RPATH=1 npm install oracledb
742745
unset OCI_LIB_DIR OCI_INC_DIR
743746
node example.js
744747
```
748+
749+
## <a name="instaix"></a> 9. Node-oracledb Installation on AIX.PPC64 with Instant Client ZIP files
750+
751+
### 9.1 Install Node.js
752+
753+
Download IBM AIX.PPC64 SDK for Node.js from
754+
(https://nodejs.org/).
755+
The downloaded file will be a shell script.
756+
757+
Execute the shell script. While executing, a prompt will appear asking for the Install Folder and Link Folder.
758+
Give the desired location, say `/opt`, where node binary is supposed to build. On completion, a success message will be displayed.
759+
760+
```
761+
sh node-v0.10.40-aix-ppc64.bin
762+
```
763+
764+
Set PATH to include Node.js and Node-gyp binaries.
765+
766+
```
767+
export PATH=/opt/node-v4.2.1/bin:$PATH
768+
export PATH=/opt/node-v4.2.1/lib/node_modules/npm/bin/node-gyp-bin:$PATH
769+
```
770+
771+
Set LIBPATH to include libstdc++.a and libgcc_s.a. This setting is only needed with Node.js v0.10.* and v0.12.*,
772+
whereas this setting is not required from Node.js V4 and later versions.
773+
774+
With Node.js V0.10.* and V0.12.*, the libstdc++ dependency is taken care by explicitly adding '/opt/freeware/lib64' in $LIBPATH.
775+
Since Node.js V4 or later uses GCC 4.8, there is no need to explictly set '/opt/freeware/lib64' in $LIBPATH.
776+
777+
```
778+
export LIBPATH=/opt/freeware/lib64
779+
```
780+
781+
### 9.2 Install the free Oracle Instant Client 'Basic' and 'SDK' ZIPs
782+
783+
Download the free **Basic** and **SDK** ZIPs from
784+
[Oracle Technology Network]( http://www.oracle.com/technetwork/topics/aix5lsoft-098883.html)
785+
and
786+
Install them into the /opt/oracle.
787+
788+
```
789+
cd /opt/oracle
790+
unzip instantclient-basic-aix.ppc64-12.1.0.2.0.zip
791+
uzip instantclient-sdk-aix.ppc64-12.1.0.2.0.zip
792+
cd instantclient_12_1
793+
```
794+
795+
To run applications, you will need to set the link path:
796+
797+
```
798+
export LIBPATH=/opt/oracle/instantclient_12_1:$LIBPATH
799+
```
800+
801+
### 9.3 Install the add-on
802+
803+
Tell the installer where to find Instant Client:
804+
805+
```
806+
export OCI_LIB_DIR=/opt/oracle/instantclient_12_1
807+
export OCI_INC_DIR=/opt/oracle/instantclient_12_1/sdk/include
808+
```
809+
810+
These variables are only needed during installation.
811+
812+
If you are behind a firewall you may need to set your proxy, for
813+
example:
814+
815+
```
816+
export http_proxy=http://my-proxy.example.com:80/
817+
```
818+
819+
Install node-oracledb from the
820+
[NPM registry](https://www.npmjs.com/package/oracledb):
821+
822+
```
823+
npm install oracledb
824+
```
825+
826+
Note:The make version should be GNU Make v4.1-1 (or 3.80-3 for AIX) or above on the AIX.PPC64 platform for building node-oracledb.
827+
828+
### 9.4 Run an example program
829+
830+
Download the
831+
[example programs](https://github.com/oracle/node-oracledb/tree/master/examples) from GitHub.
832+
833+
Edit `dbconfig.js` and set the database credentials to your
834+
environment:
835+
836+
```
837+
module.exports = {
838+
user : "hr",
839+
password : "welcome",
840+
connectString : "localhost/XE"
841+
};
842+
```
843+
844+
Run one of the examples:
845+
846+
```
847+
node select1.js
848+
```
849+
850+
Note:
851+
A compiler supporting C++11 is required when building with Node.js v4 or later, otherwise the NAN component will fail to build.
852+
The V8 JavaScript engine's use of C++11 features results in a dependency on version 4.8 or later of the GNU Compiler Collection (GCC).
853+
GCC 4.8 or later, is required for Node.js version 4 and later.
854+
855+
856+
## <a name="instsolarisamd"></a> 10. Node-oracledb Installation on SOLARIS.X64 with Instant Client ZIP files
857+
858+
### 10.1 Install Node.js
859+
860+
Download the
861+
[Node.js Source code] (https://nodejs.org/) .
862+
Compile and Build the Node.js engine from the source code.
863+
864+
```
865+
./configure --prefix=/scratch/node_project/node/node-v0.12.7/nodejs0127
866+
make
867+
make install
868+
```
869+
870+
Note:
871+
The *configure* file, *common.gypi* file and *Makefile* are not handled for the Solaris.x64 platform.
872+
873+
For Solaris.x64, the processor is 'i386'.
874+
By default, inside the *configure* file, 'i386' is set to 'ia32' which is for 32 bit architecture.
875+
If the installation is performed on a 64 bit architecture, 'i386' should be set to 'x64' instead of 'ia32'.
876+
877+
```
878+
matchup = {
879+
...
880+
'__i386__' : 'x64',
881+
...
882+
```
883+
884+
Accordingly, the changes should be made in *common.gypi* so that the 'x64' target architecture point to 'i386', which is setup in the above step.
885+
886+
```
887+
target_arch=="x64"', {
888+
'xcode_settings': {'ARCHS': ['i386']},
889+
```
890+
891+
Also changes have to be done in *Makefile*
892+
893+
```
894+
ifeq ($(DESTCPU),arm)
895+
...
896+
else
897+
ARCH=x64
898+
...
899+
```
900+
Node.js binaries for Solaris.x64 are available on Node.js site ('node-v*-sunos-x64.tar'- which just needs extracting the tar files and the software will be installed).
901+
However, even simple Node.js program will fail when installing through these binaries.
902+
So install Node.js engine by compiling and building the source code with the steps and changes as mentioned above.
903+
904+
Set PATH to include Node.js and Node-gyp binaries
905+
906+
```
907+
export PATH=/opt/node-v0.12.8/bin:$PATH
908+
export PATH=/opt/node-v0.12.8/lib/node_modules/npm/bin/node-gyp-bin:$PATH
909+
```
910+
911+
If warnings are shown for 'objdump' and 'dtrace', set PATH to include the same.
912+
[Most likely /usr/gnu/bin and /usr/bin respectively]
913+
914+
### 10.2 Install the free Oracle Instant Client 'Basic' and 'SDK' ZIPs
915+
916+
Download the free **Basic** and **SDK** ZIPs from
917+
[Oracle Technology Network]( http://www.oracle.com/technetwork/topics/solx8664soft-097204.html )
918+
and
919+
Install them into /opt/oracle.
920+
921+
```
922+
cd /opt/oracle
923+
unzip instantclient-basic-solaris.x64-12.1.0.2.0.zip
924+
unzip instantclient-sdk-solaris.x64-12.1.0.2.0.zip
925+
cd instantclient_12_1
926+
```
927+
928+
To run applications, you will need to set the link path:
929+
930+
```
931+
export LD_LIBRARY_PATH_64=/opt/oracle/instantclient_12_1:$LD_LIBRARY_PATH_64
932+
```
933+
934+
### 10.3 Install the add-on
935+
936+
Tell the installer where to find Instant Client:
937+
938+
```
939+
export OCI_LIB_DIR=/opt/oracle/instantclient_12_1
940+
export OCI_INC_DIR=/opt/oracle/instantclient_12_1/sdk/include
941+
```
942+
These variables are only needed during installation.
943+
944+
If you are behind a firewall you may need to set your proxy, for
945+
example:
946+
947+
```
948+
export http_proxy=http://my-proxy.example.com:80/
949+
```
950+
951+
Install node-oracledb from the
952+
[NPM registry](https://www.npmjs.com/package/oracledb):
953+
954+
```
955+
npm install oracledb
956+
```
957+
958+
### 10.4 Run an example program
959+
960+
Download the
961+
[example programs](https://github.com/oracle/node-oracledb/tree/master/examples) from GitHub.
962+
963+
Edit `dbconfig.js` and set the database credentials to your
964+
environment:
965+
966+
```
967+
module.exports = {
968+
user : "hr",
969+
password : "welcome",
970+
connectString : "localhost/XE"
971+
};
972+
```
973+
974+
Run one of the examples:
975+
976+
```
977+
node select1.js
978+
```

0 commit comments

Comments
 (0)