Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-40403

curl binary fails no working @rpath on OS-X and macOS

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 6.5.1, 6.6.0
    • Fix Version/s: 6.6.0
    • Component/s: build, mac-app
    • Labels:
      None
    • Triage:
      Untriaged
    • Story Points:
      1
    • Is this a Regression?:
      Unknown
    • Sprint:
      Build Team 2020 Sprint 14

      Description

      This is something that was missed when https://issues.couchbase.com/browse/MB-37768 was resolved for 'cbc' binary prior to 6.5.1 GA.

      The issue is with the 'curl' binary in 6.5.1, in fact all binaries should be checked on MacOS (not just curl) by setting the couchbase bin directory first in the path.

      PATH=/Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin:$PATH

      Overview

      After installing 6.5.1 GA on a Mac, the curl executable will not work due to a @rpath issue as such none of them work after install

      /Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin/curl
      dyld: Library not loaded: @rpath/libssl.1.1.dylib
        Referenced from: /Applications/Couchbase Server.app/Contents/Resources/couchbase-core/bin/curl
        Reason: image not found
      Abort trap: 6
      

      A quick fix to currently installed Mac deployments (should be in release notes)

      A simple fix for both MacOS 10.14.6 “Mojave” can be made as follows:

      cd /Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin
      install_name_tool -add_rpath @executable_path/../lib curl

       
       
       

       
       
       

        Attachments

          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

            jon.strabala Jon Strabala created issue -
            raju Raju Suravarjjala made changes -
            Field Original Value New Value
            Assignee Wayne Siu [ wayne ]
            wayne Wayne Siu made changes -
            Assignee Wayne Siu [ wayne ] Chris Hillery [ ceej ]
            wayne Wayne Siu made changes -
            Component/s build [ 10200 ]
            wayne Wayne Siu made changes -
            Fix Version/s 6.6.0 [ 16787 ]
            ceej Chris Hillery made changes -
            Sprint Build Team 2020 Sprint 14 [ 1154 ]
            ceej Chris Hillery made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            Hide
            build-team Couchbase Build Team added a comment -

            Build cbdeps::curl-7.66.0-8 contains build-tools commit 89c13f3 with commit message:
            MB-40403: Correct rpath for curl binary on MacOS

            Show
            build-team Couchbase Build Team added a comment - Build cbdeps::curl-7.66.0-8 contains build-tools commit 89c13f3 with commit message: MB-40403 : Correct rpath for curl binary on MacOS
            Hide
            ceej Chris Hillery added a comment -

            I've pushed a change to the curl cbdep build script which fixes this. Will update Server builds once CV passes.

            Ming Ho did a check a recent build. The commands "pcregrep" and "pcretest" have a similar problem, but we in no way support those tools. If it's necessary to fix at all, I would do so by removing those files from the installer.

            The only other program that failed in a similar way is "gometa", which is actually built by the Server build process itself. I do not believe this is intended to be an end-user tool, and I presume that however it is invoked by Server is functioning. So again I do not believe there is an action to take here.

            Show
            ceej Chris Hillery added a comment - I've pushed a change to the curl cbdep build script which fixes this. Will update Server builds once CV passes. Ming Ho  did a check a recent build. The commands "pcregrep" and "pcretest" have a similar problem, but we in no way support those tools. If it's necessary to fix at all, I would do so by removing those files from the installer. The only other program that failed in a similar way is "gometa", which is actually built by the Server build process itself. I do not believe this is intended to be an end-user tool, and I presume that however it is invoked by Server is functioning. So again I do not believe there is an action to take here.
            Hide
            ceej Chris Hillery added a comment -

            Fix is in. Mihir Kamdar I'm not sure who in QE would be best to verify this fix; could you reassign please? Thanks!

            Show
            ceej Chris Hillery added a comment - Fix is in. Mihir Kamdar  I'm not sure who in QE would be best to verify this fix; could you reassign please? Thanks!
            ceej Chris Hillery made changes -
            Assignee Chris Hillery [ ceej ] Mihir Kamdar [ mihir.kamdar ]
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Resolved [ 5 ]
            ceej Chris Hillery made changes -
            Assignee Mihir Kamdar [ mihir.kamdar ] Chris Hillery [ ceej ]
            Resolution Fixed [ 1 ]
            Status Resolved [ 5 ] Reopened [ 4 ]
            Hide
            ceej Chris Hillery added a comment -

            Sorry, fix is in for CC - backporting to MH now.

            Show
            ceej Chris Hillery added a comment - Sorry, fix is in for CC - backporting to MH now.
            ceej Chris Hillery made changes -
            Link This issue blocks MB-38724 [ MB-38724 ]
            Hide
            build-team Couchbase Build Team added a comment -

            Build couchbase-server-7.0.0-2596 contains tlm commit 910cfe8 with commit message:
            MB-40403: Bump curl to new build to pick up MacOS fix

            Show
            build-team Couchbase Build Team added a comment - Build couchbase-server-7.0.0-2596 contains tlm commit 910cfe8 with commit message: MB-40403 : Bump curl to new build to pick up MacOS fix
            Hide
            ceej Chris Hillery added a comment -

            Fix is now in 6.6.0 as well.

            Show
            ceej Chris Hillery added a comment - Fix is now in 6.6.0 as well.
            ceej Chris Hillery made changes -
            Assignee Chris Hillery [ ceej ] Mihir Kamdar [ mihir.kamdar ]
            Resolution Fixed [ 1 ]
            Status Reopened [ 4 ] Resolved [ 5 ]
            ceej Chris Hillery made changes -
            Remote Link This issue links to "Page (Couchbase, Inc. Wiki)" [ 20234 ]
            Hide
            build-team Couchbase Build Team added a comment -

            Build couchbase-server-6.6.0-7881 contains tlm commit fc5c39e with commit message:
            MB-40403: Bump curl on MacOS to new build to pick up rpath fix

            Show
            build-team Couchbase Build Team added a comment - Build couchbase-server-6.6.0-7881 contains tlm commit fc5c39e with commit message: MB-40403 : Bump curl on MacOS to new build to pick up rpath fix
            mihir.kamdar Mihir Kamdar made changes -
            Assignee Mihir Kamdar [ mihir.kamdar ] Thuan Nguyen [ thuan ]
            Hide
            build-team Couchbase Build Team added a comment -

            Build cbdeps::prometheus-2.17.2-5 contains build-tools commit 89c13f3 with commit message:
            MB-40403: Correct rpath for curl binary on MacOS

            Show
            build-team Couchbase Build Team added a comment - Build cbdeps::prometheus-2.17.2-5 contains build-tools commit 89c13f3 with commit message: MB-40403 : Correct rpath for curl binary on MacOS
            arunkumar Arunkumar Senthilnathan made changes -
            Assignee Thuan Nguyen [ thuan ] Arunkumar Senthilnathan [ arunkumar ]
            Hide
            arunkumar Arunkumar Senthilnathan added a comment -

            Verified in 6.6.0-7890:

            HQ-Arun0477:~ arunkumarsenthilnathan$ PATH=/Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin:$PATH
            HQ-Arun0477:~ arunkumarsenthilnathan$ /Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin/curl
            curl: try 'curl --help' or 'curl --manual' for more information
            HQ-Arun0477:~ arunkumarsenthilnathan$ /Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin/curl --help
            Usage: curl [options...] <url>
            --abstract-unix-socket <path> Connect via abstract Unix domain socket
            --alt-svc <file name> Enable alt-svc with this cache file
            --anyauth Pick any authentication method
            -a, --append Append to target file when uploading
            --basic Use HTTP Basic Authentication
            --cacert <file> CA certificate to verify peer against
            --capath <dir> CA directory to verify peer against
            -E, --cert <certificate[:password]> Client certificate file and password
            --cert-status Verify the status of the server certificate
            --cert-type <type> Certificate file type (DER/PEM/ENG)
            --ciphers <list of ciphers> SSL ciphers to use
            --compressed Request compressed response
            --compressed-ssh Enable SSH compression
            -K, --config <file> Read config from a file
            --connect-timeout <seconds> Maximum time allowed for connection
            --connect-to <HOST1:PORT1:HOST2:PORT2> Connect to host
            -C, --continue-at <offset> Resumed transfer offset
            -b, --cookie <data|filename> Send cookies from string/file
            -c, --cookie-jar <filename> Write cookies to <filename> after operation
            --create-dirs Create necessary local directory hierarchy
            --crlf Convert LF to CRLF in upload
            --crlfile <file> Get a CRL list in PEM format from the given file

            Show
            arunkumar Arunkumar Senthilnathan added a comment - Verified in 6.6.0-7890: HQ-Arun0477:~ arunkumarsenthilnathan$ PATH=/Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin:$PATH HQ-Arun0477:~ arunkumarsenthilnathan$ /Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin/curl curl: try 'curl --help' or 'curl --manual' for more information HQ-Arun0477:~ arunkumarsenthilnathan$ /Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin/curl --help Usage: curl [options...] <url> --abstract-unix-socket <path> Connect via abstract Unix domain socket --alt-svc <file name> Enable alt-svc with this cache file --anyauth Pick any authentication method -a, --append Append to target file when uploading --basic Use HTTP Basic Authentication --cacert <file> CA certificate to verify peer against --capath <dir> CA directory to verify peer against -E, --cert <certificate [:password] > Client certificate file and password --cert-status Verify the status of the server certificate --cert-type <type> Certificate file type (DER/PEM/ENG) --ciphers <list of ciphers> SSL ciphers to use --compressed Request compressed response --compressed-ssh Enable SSH compression -K, --config <file> Read config from a file --connect-timeout <seconds> Maximum time allowed for connection --connect-to <HOST1:PORT1:HOST2:PORT2> Connect to host -C, --continue-at <offset> Resumed transfer offset -b, --cookie <data|filename> Send cookies from string/file -c, --cookie-jar <filename> Write cookies to <filename> after operation --create-dirs Create necessary local directory hierarchy --crlf Convert LF to CRLF in upload --crlfile <file> Get a CRL list in PEM format from the given file
            arunkumar Arunkumar Senthilnathan made changes -
            Status Resolved [ 5 ] Closed [ 6 ]
            Hide
            build-team Couchbase Build Team added a comment -

            Build cbdeps::breakpad-20200430-2 contains build-tools commit 89c13f3 with commit message:
            MB-40403: Correct rpath for curl binary on MacOS

            Show
            build-team Couchbase Build Team added a comment - Build cbdeps::breakpad-20200430-2 contains build-tools commit 89c13f3 with commit message: MB-40403 : Correct rpath for curl binary on MacOS
            Hide
            build-team Couchbase Build Team added a comment -

            Build couchbase-server-7.0.0-3855 contains tlm commit fc5c39e with commit message:
            MB-40403: Bump curl on MacOS to new build to pick up rpath fix

            Show
            build-team Couchbase Build Team added a comment - Build couchbase-server-7.0.0-3855 contains tlm commit fc5c39e with commit message: MB-40403 : Bump curl on MacOS to new build to pick up rpath fix
            Hide
            build-team Couchbase Build Team added a comment -

            Build cbdeps::libuv-1.20.3-21 contains build-tools commit 89c13f3 with commit message:
            MB-40403: Correct rpath for curl binary on MacOS

            Show
            build-team Couchbase Build Team added a comment - Build cbdeps::libuv-1.20.3-21 contains build-tools commit 89c13f3 with commit message: MB-40403 : Correct rpath for curl binary on MacOS
            Hide
            build-team Couchbase Build Team added a comment -

            Build cbdeps::protoc-gen-go-1.2.5-4 contains build-tools commit 89c13f3 with commit message:
            MB-40403: Correct rpath for curl binary on MacOS

            Show
            build-team Couchbase Build Team added a comment - Build cbdeps::protoc-gen-go-1.2.5-4 contains build-tools commit 89c13f3 with commit message: MB-40403 : Correct rpath for curl binary on MacOS
            Hide
            build-team Couchbase Build Team added a comment -

            Build cbdeps::zlib-1.2.11-7 contains build-tools commit 89c13f3 with commit message:
            MB-40403: Correct rpath for curl binary on MacOS

            Show
            build-team Couchbase Build Team added a comment - Build cbdeps::zlib-1.2.11-7 contains build-tools commit 89c13f3 with commit message: MB-40403 : Correct rpath for curl binary on MacOS

              People

              Assignee:
              arunkumar Arunkumar Senthilnathan
              Reporter:
              jon.strabala Jon Strabala
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes

                    PagerDuty