Install old version PyQt4 on a mac by compiling the source

Giuseppe Corbelli corbelligiuseppe at
Mon Aug 30 07:45:20 BST 2021

On 8/8/21 4:54 PM, Felix Voigt wrote:
> Hello Guiseppe,
> Thanks for the  input!
> The header problem is solved by the following.
> terminal command:
> export QMAKESPEC=unsupported/macx-clang-libc++
> and editing
> vi
> replace
> qt_macx_spec = 'macx-llvm’
> by
> qt_macx_spec = 'unsupported/macx-clang-libc++’
> (Helpful hints found at, I do not know, if both actions described above are necessary.)
> Now, giving
> ~/.pyenv/versions/2.7.17/bin/python2.7 --qmake /usr/local/Cellar/qt at 4/4.8.7_6/bin/qmake --sip=/Users/felixvoigt/.pyenv/versions/2.7.17/bin/sip —verbose
> results in:
> "Determining the layout of your Qt installation...
> /usr/local/Cellar/qt at 4/4.8.7_6/bin/qmake -spec unsupported/macx-clang-libc++ -o
> make -f
> clang++ -c -pipe -stdlib=libc++ -mmacosx-version-min=10.7 -O2 -arch x86_64 -Wall -W -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED -I/usr/local/etc/qt4/mkspecs/unsupported/macx-clang-libc++ -I. -I/usr/local/Cellar/qt at 4/4.8.7_6/lib/QtCore.framework/Versions/4/Headers -I/usr/local/include -I. -F/usr/local/lib -o qtdirs.o qtdirs.cpp
> clang++ -headerpad_max_install_names -stdlib=libc++ -mmacosx-version-min=10.7 -arch x86_64 -o qtdirs.o   -F/usr/local/lib -L/usr/local/lib -framework QtCore -L/usr/local/opt/openssl at 1.0/lib -L/usr/local/Cellar/qt at 4/4.8.7_6/lib
> ld: framework not found QtCore
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> make: *** [] Error 1
> Error: Failed to determine the layout of your Qt installation. Try again using
> the --verbose flag to see more detail about the problem.
> As far as I see, clang is now used and the libc++ headers are found. But QtCore is not found.

QtCore shared library, yes.

> I tried to include the path to QtCore by adding in the
> ~/.bash_profile  “export PATH=…:$PATH” statements, without success. There must be another
> way to give the right path to QtCore to the right actor.

clang gets -L/usr/local/Cellar/qt at 4/4.8.7_6/lib as the only relevant 
extra library path. I assume Qt libs are to be found there. As the error 
messages says, rerun with -v to get some details.

> Finally I gave up to install PyQt4,
> I decided to use PyQt5 and PyQt6 and use newer code to learn it.

And that's far from being a bad idea.

Giuseppe Corbelli

More information about the PyQt mailing list