Opened 20 years ago
Last modified 20 years ago
#970 closed patch
MythPlugins configure script on OSX fails with fink and --enable-new-exif option. — at Initial Version
| Reported by: | Owned by: | Isaac Richards | |
|---|---|---|---|
| Priority: | major | Milestone: | unknown |
| Component: | mythgallery | Version: | head |
| Severity: | high | Keywords: | |
| Cc: | Ticket locked: | no |
Description
The OSX packager script broke after I installed fink on my mac mini. Basically, it fails when compiling mythgallery with the new exif flag. I finally tracked the problem down to the mythplugins configure script, in this section of code:
if test x
which pkg-config 2>/dev/null!= x"" ; thenif
pkg-config --atleast-version 0.6.9 libexif; thenecho "#define NEW_LIB_EXIF 1" >> \
./mythgallery/mythgallery/config.h
fi
else
if test x"$newexif" = x"yes" ; then
echo "#define NEW_LIB_EXIF 1" >> \
./mythgallery/mythgallery/config.h
else
echo echo "Could not determine libexif version, if it is greater" echo "than or equal to 0.6.9 you need to add" echo "--enable-new-exif to the configure flags" echo
fi
fi
Before I installed fink, I did not have pkg-config, so it would go to the else statement and and put the proper line in my config.h. If I now manually run the 'pkg-config --atleast-version 0.6.9 libexif', I get a 1 for the return code, so the NEW_LIB_EXIF doesn't get set. Fink installed pkg-config, however fink has an older version of libexif. Since the osx-packager script downloads the correct version, I do have the "New" libraries available for install.
The configure script should be rewritten as:
if test x"$newexif" = x"yes" ; then
echo "#define NEW_LIB_EXIF 1" >> \
./mythgallery/mythgallery/config.h
else
if test x
which pkg-config 2>/dev/null!= x"" ; thenif
pkg-config --atleast-version 0.6.9 libexif; thenecho "#define NEW_LIB_EXIF 1" >> \
./mythgallery/mythgallery/config.h
fi else
echo echo "Could not determine libexif version, if it is greater" echo "than or equal to 0.6.9 you need to add" echo "--enable-new-exif to the configure flags" echo
fi
fi
This way, I can force the NEW_LIB_EXIF with the --enable-new-exif flag. If I don't set that flag, the script will still correctly find it with the pkg-config line. The reason I think this is a bug is that with the current logic in the configure script, even if you add the flag --enable-new-exif, the configure script will disable that flag with the pkg-config if statement. If I manually specify --enable-new-exif, I would expect the configure script to honor that setting, if it fails because I don't really have it, that's my own fault. But it shouldn't unset the flag because one utility can't find the proper library.
Just as an FYI, here is the error I was getting:
distcc g++ -c -pipe -faltivec -Wall -W -O3 -Wall -Wno-switch -I/nobackup/myth/.osx-packager/build/include -no-cpp-precomp -pipe -fomit-frame-pointer -force_cpusubtype_ALL -Wno-sign-compare -fno-inline-functions -DPIC -fPIC -D_GNU_SOURCE -DPREFIX=\"/nobackup/myth/.osx-packager/build\" -DUSING_DBOX2 -DHAVE_DVDNAV -D_FILE_OFFSET_BITS=64 -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_PLUGIN -DQT_SHARED -DQT_ACCESSIBILITY_SUPPORT -I/nobackup/myth/.osx-packager/src/qt-mac-free-3.3.4/mkspecs/default -I. -I../../../../../build/include -I../../../../../build/include -I/usr/kde/3.3/include -I../../../../../build/include -I/nobackup/myth/.osx-packager/src/qt-mac-free-3.3.4/include -I/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/System/Library/Frameworks/AGL.framework/Versions/A/Headers -o galleryutil.o galleryutil.cpp /nobackup/myth/.osx-packager/build/include/libexif/exif-entry.h: In static
member function `static long int GalleryUtil::getNaturalRotation(const char*)':
/nobackup/myth/.osx-packager/build/include/libexif/exif-entry.h:61: error: too
few arguments to function `const char* exif_entry_get_value(ExifEntry*, char*, unsigned int)'
galleryutil.cpp:67: error: at this point in file make[2]: * [galleryutil.o] Error 1 make[1]: * [sub-mythgallery] Error 2 make: * [sub-mythgallery] Error 2 [osx-pkg] Failed system call: " /usr/bin/make " with error code 2 Died at /usr/local/bin/osx-packager.pl line 722.

unified diff with patch for configure script.