[mythtv] New OSX packager (was Re: Ticket #10569: libcdio broken on OS X?)

Jean-Yves Avenard jyavenard at gmail.com
Tue Apr 10 04:56:59 UTC 2012


On 10 April 2012 14:33, Nigel Pearson <nigel at ind.tansu.com.au> wrote:
> It doesn't just work, whereas the old one will download and build everything it needs in the local directory!

Yes.. only on 10.6 and earlier OS.
We're in 2012 and it doesn't work on 10.7 and later.

So that discussion is now moot

>
> Discussion:
>
> 1) Easy enough for most users to download and install a prebuilt SDK first, but maybe the -help or -man could hint where/how? Or it could default to -qtsrc 4.blah ?

both -man and -help gives how it should be run


>
> 2) In terms of efficiency, downloading a trusted Qt package will save a lot of time the first time through, but for every rebuild, no difference?
> (I prefer building the third party packages once from source, and then just re-using them each build - until a new MythTV feature requires a Qt update, et c)

that's assuming that you can compile Qt... it's less and less
straightforward to do so

It's also 32 bits only.
All machine running 10.7 are 64 bits ones

>
> 3) I don't trust their prebuilt SDKs yet :-(
> I don't have any huge bias against the new script,
> just haven't had enough spare time to use it much.


I have :)

> P.S. At the moment, I am trying against my trusty old Qt 4.6.3, that was build a year or two ago by osx-packager.pl:

this will not work.
qtbi n or qtsdk assumes that you have compiled Qt compiled as
frameworks (which is the default).
the previous packager disabled building as frameworks, only build
static libraries. As such, plugins aren't usable with the built
generated by the old packager.

>
> macbook% ./osx-packager-qtsdk.pl -qtbin /Volumes/Backups/MythTV/.osx-packager/build/bin -qtplugins /Volumes/Backups/MythTV/.osx-packager/build/plugins -m32 --verbose


> [osx-pkg] Qt version is 4.6.3
> [osx-pkg] Building using master profile
> [osx-pkg] Forcing 32 bits build...
> [osx-pkg] Testing Qt environment
> [osx-pkg] /Volumes/Backups/MythTV/.osx-packager/build/bin/qmake "QMAKE_CC=/Developer/usr/bin/gcc" "QMAKE_CXX=/Developer/usr/bin/g++" "QMAKE_CXXFLAGS=-isysroot /Developer/SDKs/MacOSX10.5.sdk -D_USING_105SDK=1 -mmacosx-version-min=10.5 -I/Volumes/Backups/NewPackager/.osx-packager/build/include -I/Volumes/Backups/NewPackager/.osx-packager/build/mysql -arch i386" "QMAKE_CFLAGS=-isysroot /Developer/SDKs/MacOSX10.5.sdk -D_USING_105SDK=1 -mmacosx-version-min=10.5 -I/Volumes/Backups/NewPackager/.osx-packager/build/include -I/Volumes/Backups/NewPackager/.osx-packager/build/mysql -arch i386" "QMAKE_LFLAGS+='-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -L/Volumes/Backups/NewPackager/.osx-packager/build/lib -F/Volumes/Backups/MythTV/.osx-packager/build/lib -arch i386'" -o /var/folders/UV/UVzq5Z5X2RW46E+1YoOWZ++++TY/-Tmp-/7ekpst2FIm/Makefile /var/folders/UV/UVzq5Z5X2RW46E+1YoOWZ++++TY/-Tmp-/7ekpst2FIm/test.pro
> [osx-pkg] /bin/rm -f /var/folders/UV/UVzq5Z5X2RW46E+1YoOWZ++++TY/-Tmp-/7ekpst2FIm/test
> [osx-pkg] /usr/bin/make -C /var/folders/UV/UVzq5Z5X2RW46E+1YoOWZ++++TY/-Tmp-/7ekpst2FIm -f /var/folders/UV/UVzq5Z5X2RW46E+1YoOWZ++++TY/-Tmp-/7ekpst2FIm/Makefile test
> /Developer/usr/bin/g++ -c -isysroot /Developer/SDKs/MacOSX10.5.sdk -D_USING_105SDK=1 -mmacosx-version-min=10.5 -I/Volumes/Backups/NewPackager/.osx-packager/build/include -I/Volumes/Backups/NewPackager/.osx-packager/build/mysql -arch i386 -O2 -arch i386 -Wall -W -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/Volumes/Backups/MythTV/.osx-packager/build/mkspecs/macx-g++ -I. -I/Volumes/Backups/MythTV/.osx-packager/build/include/QtCore -I/Volumes/Backups/MythTV/.osx-packager/build/include/QtGui -I/Volumes/Backups/MythTV/.osx-packager/build/include -I/var/folders/UV/UVzq5Z5X2RW46E+1YoOWZ++++TY/-Tmp-/7ekpst2FIm -I. -o test.o test.cpp
> g++ -headerpad_max_install_names -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -L/Volumes/Backups/NewPackager/.osx-packager/build/lib -F/Volumes/Backups/MythTV/.osx-packager/build/lib -arch i386 -arch i386 -o ./test test.o    -L/Volumes/Backups/MythTV/.osx-packager/build/lib -lQtGui -L/Volumes/Backups/MythTV/.osx-packager/build/lib -lQtCore
> [osx-pkg] Target architectures: i386
> [osx-pkg] DEVROOT = /Developer
> [osx-pkg] SDKVER = 10.5
> [osx-pkg] SDKROOT = /Developer/SDKs/MacOSX10.5.sdk
> [osx-pkg] CCBIN = /Developer/usr/bin/gcc
> [osx-pkg] CXXBIN = /Developer/usr/bin/g++
> [osx-pkg] CFLAGS = -isysroot /Developer/SDKs/MacOSX10.5.sdk -D_USING_105SDK=1 -mmacosx-version-min=10.5 -I/Volumes/Backups/NewPackager/.osx-packager/build/include -I/Volumes/Backups/NewPackager/.osx-packager/build/mysql -arch i386
> [osx-pkg] LDFLAGS = -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -L/Volumes/Backups/NewPackager/.osx-packager/build/lib -F/Volumes/Backups/MythTV/.osx-packager/build/lib -arch i386
> [osx-pkg] /usr/bin/hostinfo | grep 'processors$'
> [osx-pkg] Using 3 jobs on 2 parallel CPUs
> [osx-pkg] Including components: mythtv mythplugins packaging
> [osx-pkg] Using previously downloaded ccache
> [osx-pkg] Using previously unpacked ccache
> [osx-pkg] Using previously configured ccache
> [osx-pkg] Using previously built ccache
> [osx-pkg] Using previously downloaded pkgconfig
> [osx-pkg] Using previously unpacked pkgconfig
> [osx-pkg] Using previously configured pkgconfig
> [osx-pkg] Using previously built pkgconfig
> [osx-pkg] Using previously downloaded dvdcss
> [osx-pkg] Using previously unpacked dvdcss
> [osx-pkg] Using previously configured dvdcss
> [osx-pkg] Using previously built dvdcss
> [osx-pkg] Using previously downloaded freetype
> [osx-pkg] Using previously unpacked freetype
> [osx-pkg] Using previously configured freetype
> [osx-pkg] Using previously built freetype
> [osx-pkg] Using previously downloaded lame
> [osx-pkg] Using previously unpacked lame
> [osx-pkg] Using previously configured lame
> [osx-pkg] Using previously built lame
> [osx-pkg] Using previously downloaded mysqlclient
> [osx-pkg] Using previously unpacked mysqlclient
> [osx-pkg] Using previously configured mysqlclient
> [osx-pkg] Using previously built mysqlclient
> [osx-pkg] Using previously downloaded qt
> [osx-pkg] Unpacking qt
> [osx-pkg] /usr/bin/tar -xzf /Volumes/Backups/NewPackager/.osx-packager/src/qt-everywhere-opensource-src-4.6.3.tar.gz
> ...
>
> Might be nice if it told me why its rebuilding Qt?

It isn't rebuilding Qt... It downloads the original source code to
build the mysql plugin

To build the mysql plugins for that particular Qt version you are
running, you need the Qt source code.

Which would ultimately fail to run anyway as you have compiled Qt
statically earlier, and plugins aren't usable

The process to build the mysql plugin takes about 4-5s


More information about the mythtv-dev mailing list