Oracle-instantclient version 10.2.0.4.0 - How to Download and Install on Mac OS X
Saturday the 7th of November, 2009

    oracle-instantclient  most recent diff


    version 10.2.0.4.0

      View the most recent changes for the oracle-instantclient port at: oracle-instantclient.darwinports.com/diff
      Scroll down toward the bottom of the page to get installation instructions for oracle-instantclient.
      The raw portfile for oracle-instantclient 10.2.0.4.0 is located here:
      http://oracle-instantclient.darwinports.com/dports/databases/oracle-instantclient/Portfile
      Find related portfiles with the unique DarwinPorts.com search feature.
      Check for any related Fink projects here: pdb.finkproject.org/pdb/package.php/oracle-instantclient


      The oracle-instantclient Portfile 57375 2009-09-10 08:16:41Z ryandesign macports.org $

      PortSystem 1.0

      Name: oracle-instantclient
      Version: 10.2.0.4.0
      Revision: 4
      set intel_version ${version}
      set powerpc_version 10.1.0.3
      Category: databases
      Platform: macosx
      Maintainers: ryandesign
      Homepage: http://www.oracle.com/technology/software/tech/oci/instantclient/
      Master Sites: http://download.oracle.com/otn/mac/instantclient/:powerpc http://download.oracle.com/otn/mac/instantclient/[join [lrange [split ${intel_version} .] 0 3] ""]/:intel
      use_zip yes
      use_parallel_build no

      Description: Oracle database connection libraries

      Long Description: Oracle Instant Client allows you to run your applications without installing the standard Oracle client or having an ORACLE_HOME.

      Checksums: [suffix instantclient-basic-macosx-${powerpc_version}] md5 5b38ab0565d6189d2069a4abe0bf2ab2 sha1 2f3aa35e99228fd08b686b19eba84ec34db8277b rmd160 d1f056f8f1b308c5493f4938b29b55fcb32452cf [suffix instantclient-sdk-macosx-${powerpc_version}] md5 79c7cb3f8afaff076fb20bad75b37cc9 sha1 486fe1c9a6c5cfc32401e72728ff821a50a22cf9 rmd160 c819db7f739b8ca468c8059dfbac31a6a6965938 [suffix instantclient-basic-${intel_version}-macosx-x86] md5 75a7622f6852759294df19878106cd77 sha1 c5ea4ca3e55eb8f2ce83b48c268f51fbb48ff867 rmd160 3ce70104dfb4a53d2adda96e6ea20bb2cf43ee6f [suffix instantclient-sdk-${intel_version}-macosx-x86] md5 e8b5ca3b36a1849c2ca9fa3bf7979311 sha1 2505faea0e24d52d50b96dc0b22081584de714cb rmd160 4eb78290b0b44e1f80edbf5e7a84552cca70ac05 [suffix instantclient-basic-${intel_version}-macosx-x64] md5 b88c9133c61a2e6b5584879641541d68 sha1 1e9cd2d0f77c9d2212beb73cdf5876a538eb7e14 rmd160 05c727d57171381c201f92079074a7d907134c2d [suffix instantclient-sdk-${intel_version}-macosx-x64] md5 fc70b8e5a2f3324f3ab64c0564fd70e3 sha1 05968db004808c43b4cc90cea83b904e6618bc9c rmd160 61b6d7059598444be54e1dd43a2e765c3793554f

      # my_arch my_tag my_arch_version my_distname_format my_worksrcdir_format weird_prefix
      set my_arch_info "
      ppc powerpc ${powerpc_version} instantclient-%s-macosx-%s instantclient%s /b/729
      i386 intel ${intel_version} instantclient-%s-%s-macosx-x86 instantclient_%s /b/32_216
      x86_64 intel ${intel_version} instantclient-%s-%s-macosx-x64 instantclient_%s /b/227
      "

      if {"powerpc" == ${os.arch}} {
      universal_variant no
      } else {
      variant universal {}
      }

      if {[variant_isset universal]} {
      # set my_requested_archs ${configure.universal_archs}
      set my_requested_archs {x86_64 i386}
      } else {
      set my_requested_archs ${configure.build_arch}
      }

      distfiles
      foreach my_requested_arch ${my_requested_archs} {
      set found 0
      foreach {my_arch my_tag my_arch_version my_distname_format my_worksrcdir_format weird_prefix} ${my_arch_info} {
      if {${my_arch} == ${my_requested_arch}} {
      set found 1
      foreach my_distfile_type {basic sdk} {
      distfiles-append [suffix [format ${my_distname_format} ${my_distfile_type} ${my_arch_version}]]:${my_tag}
      }
      }
      }
      if {0 == ${found}} {
      return -code error "${name} is not available for ${my_requested_arch}"
      }
      }

      pre-fetch {
      if {"darwin" != ${os.platform}} {
      ui_error "${name} requires Mac OS X."
      return -code error "incompatible operating system"
      }
      if {"i386" == ${os.arch} && ${os.major} < 9} {
      ui_error "${name} on Intel requires Mac OS X 10.5 or greater."
      return -code error "incompatible Mac OS X version"
      }
      if {"powerpc" == ${os.arch}} {
      ui_msg "Note that although the port says you're getting ${name} ${version},"
      ui_msg "on PowerPC you're actually getting version ${powerpc_version} because no newer version"
      ui_msg "is available."
      ui_msg ""
      }
      ui_warn "MacPorts may not be able to download the necessary distfiles for ${name}."
      ui_warn "If you get a checksum error, please visit ${homepage}"
      ui_warn "and download these files manually and place them in ${distpath}"
      foreach distfile ${distfiles} {
      ui_msg " * [strsed ${distfile} {/:.*$//}]"
      }
      }

      extract {
      set my_build_dir ${extract.dir}/build
      xinstall -d ${my_build_dir}
      foreach my_requested_arch ${my_requested_archs} {
      foreach {my_arch my_tag my_arch_version my_distname_format my_worksrcdir_format weird_prefix} ${my_arch_info} {
      if {${my_arch} == ${my_requested_arch}} {
      foreach my_distfile_type {basic sdk} {
      system "${extract.cmd} ${extract.pre_args} ${extract.post_args} ${distpath}/[suffix [format ${my_distname_format} ${my_distfile_type} ${my_arch_version}]]"
      }
      move ${extract.dir}/[format ${my_worksrcdir_format} [join [lrange [split ${my_arch_version} .] 0 1] "_"]] ${my_build_dir}/${my_arch}
      }
      }
      }
      }

      use_configure no

      set lib_dir ${prefix}/lib/oracle

      build {
      # The pre-built libraries use weird prefixes and Oracle recommends setting
      # DYLD_LIBRARY_PATH to deal with this. I would rather fix the paths in the
      # libraries at install time.
      foreach my_requested_arch ${my_requested_archs} {
      foreach {my_arch my_tag my_arch_version my_distname_format my_worksrcdir_format weird_prefix} ${my_arch_info} {
      if {${my_arch} == ${my_requested_arch}} {
      # For each dylib in the distribution, change the directory of its own
      # "soname" to ${lib_dir}.
      foreach lib [glob -directory ${workpath}/build/${my_arch} *.dylib*] {
      system "install_name_tool -id ${lib_dir}/[strsed ${lib} /^.*\\///] ${lib}"

      # Then for each dependent dylib with a weird path that this dylib
      # references, fix the reference to use ${lib_dir}.
      foreach dep [exec otool -L ${lib}] {
      if [string match "${weird_prefix}/*" ${dep}] {
      system "install_name_tool -change ${dep} ${lib_dir}/[strsed ${dep} /^.*\\///] ${lib}"
      }
      }
      }
      }
      }
      }
      }

      destroot {
      foreach my_requested_arch ${my_requested_archs} {
      foreach {my_arch my_tag my_arch_version my_distname_format my_worksrcdir_format weird_prefix} ${my_arch_info} {
      if {${my_arch} == ${my_requested_arch}} {
      set my_destroot ${workpath}/pre-dest/${my_arch}
      set my_worksrcpath ${workpath}/build/${my_arch}
      xinstall -d ${my_destroot}${lib_dir}
      eval xinstall [glob -directory ${my_worksrcpath} *.dylib*] [glob -directory ${my_worksrcpath} *.jar] ${my_destroot}${lib_dir}

      # You would think the includes should go in ${prefix}/include/oracle, but
      # the instantclient layout wants it in ${prefix}/lib/oracle/sdk/include
      xinstall -d ${my_destroot}${lib_dir}/sdk
      copy ${my_worksrcpath}/sdk/include ${my_destroot}${lib_dir}/sdk
      }
      }
      }

      merge ${workpath}/pre-dest

      # php5-oracle complains without a libclntsh.dylib symlink.
      ln -s libclntsh.dylib.10.1 ${destroot}${lib_dir}/libclntsh.dylib

      # Add a libocci.dylib symlink too for good measure.
      ln -s libocci.dylib.10.1 ${destroot}${lib_dir}/libocci.dylib
      }

      post-activate {
      ui_msg "To use ${name},"
      ui_msg "export DYLD_LIBRARY_PATH=${prefix}/lib/oracle"
      ui_msg "in your environment."
      }

      livecheck.type regex
      livecheck.url ${homepage}htdocs/intel_macsoft.html
      livecheck.regex instantclient-basic-(\[0-9.\]+)-macosx-x86\\.zip

    If you haven't already installed Darwin Ports, you can find easy instructions for doing so at the main Darwin Ports page.

    Once Darwin Ports has been installed, in a terminal window and while online, type the following and hit return:


      %  cd /opt/local/bin/portslocation/dports/oracle-instantclient
      % sudo port install oracle-instantclient
      Password:
    You will then be prompted for your root password, which you should enter. You may have to wait for a few minutes while the software is retrieved from the network and installed for you. Y ou should see something that looks similar to:

      ---> Fetching oracle-instantclient
      ---> Verifying checksum for oracle-instantclient
      ---> Extracting oracle-instantclient
      ---> Configuring oracle-instantclient
      ---> Building oracle-instantclient with target all
      ---> Staging oracle-instantclient into destroot
      ---> Installing oracle-instantclient
    - Make sure that you do not close the terminal window while Darwin Ports is working. Once the software has been installed, you can find further information about using oracle-instantclient with these commands:
      %  man oracle-instantclient
      % apropos oracle-instantclient
      % which oracle-instantclient
      % locate oracle-instantclient

     Where to find more information:

    Darwin Ports



    Lightbox this page.