Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-42656

QProcess::systemEnvironment()'s PATH variable differs from bash's $PATH in Mac OS X 10.10

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Out of scope
    • Icon: Not Evaluated Not Evaluated
    • None
    • 5.3.2
    • Core: Other
    • None
    • MacBook Pro, Mac OS X 10.10
      qt-opensource-mac-x64-clang-5.3.2
      clang 4.2.1 (Apple LLVM version 6.0)
    • macOS

      When I run following code:

      qDebug() << QProcess::systemEnvironment();
      

      I see in Qt Creator console:

      ("LOGNAME=shamil", "HOME=/Users/shamil", "XPC_FLAGS=0x0", "QTDIR=/Users/shamil/opt/Qt/5.3/clang_64", "PATH=/Users/shamil/opt/Qt/5.3/clang_64/bin:/usr/bin:/bin:/usr/sbin:/sbin", "__CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0", "USER=shamil", "XPC_SERVICE_NAME=org.qt-project.qtcreator.47744", "DISPLAY=/private/tmp/com.apple.launchd.d6LQTxBQ1t/org.macosforge.xquartz:0", "Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.C9YuTSh5eC/Render", "DYLD_LIBRARY_PATH=", "SHELL=/bin/bash", "SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.sXAKBnTj28/Listeners", "TMPDIR=/var/folders/_l/c0pq4q6x4s18_0gwz71k7rxh0000gn/T/")

      When I call env command in terminal (bash) I see:

      TERM_PROGRAM=Apple_Terminal
      SHELL=/bin/bash
      TERM=xterm-256color
      TMPDIR=/var/folders/_l/c0pq4q6x4s18_0gwz71k7rxh0000gn/T/
      Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.C9YuTSh5eC/Render
      TERM_PROGRAM_VERSION=343
      TERM_SESSION_ID=D2E63B32-CA2F-4E55-8AD3-C44AE78F6846
      USER=shamil
      SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.sXAKBnTj28/Listeners
      __CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0
      PATH=/opt/local/bin:/opt/local/sbin:/Users/shamil/opt/Qt/5.3/clang_64/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/go/bin
      PWD=/Users/shamil/Downloads/sw
      XPC_FLAGS=0x0
      XPC_SERVICE_NAME=0
      SHLVL=1
      HOME=/Users/shamil
      LOGNAME=shamil
      LC_CTYPE=UTF-8
      DISPLAY=/private/tmp/com.apple.launchd.d6LQTxBQ1t/org.macosforge.xquartz:0
      _=/usr/bin/env
      OLDPWD=/Users/shamil

      Therefore Qt's PATH vs bash's PATH (echo $PATH):

      Qt: /Users/shamil/opt/Qt/5.3/clang_64/bin:/usr/bin:/bin:/usr/sbin:/sbin

      vs

      Bash: /opt/local/bin:/opt/local/sbin:/Users/shamil/opt/Qt/5.3/clang_64/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/go/bin

      My ~/.profile is:

      export PATH="/opt/local/bin:/opt/local/sbin:/Users/shamil/opt/Qt/5.3/clang_64/bin:$PATH"
      

      My /etc/paths:

      /usr/local/bin
      /usr/bin
      /bin
      /usr/sbin
      /sbin
      

      My /etc/paths.d folder contains two files:

      40-XQuartz

      /opt/X11/bin
      

      go

      /usr/local/go/bin
      

      This issue affects only on Mac OS X.

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

            thiago Thiago Macieira
            shamil Shamil Yakupov
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes