Opened 16 years ago
Closed 16 years ago
Last modified 16 years ago
#9110 closed defect (Works for me)
Plugins fail to build on osx-packager: libexif libtool problem?
| Reported by: | Owned by: | Nigel | |
|---|---|---|---|
| Priority: | minor | Milestone: | unknown |
| Component: | Ports - OSX | Version: | Master Head |
| Severity: | low | Keywords: | exif iconv libtool |
| Cc: | Ticket locked: | no |
Description
osx-packager builds work only if noplugins has been specified. With plugins enabled, the build dies in trying to make libexif, with the messages quoted below.
Directly unpacking libexif and running configure inside it results in a successful build, though I note that in building it uses ar rather than libtool. Also for what it's worth it does not default to setting LIBINTL, POSUB or USE_NLS whatever those are.
This is the limit of my autoconf- and makefile-fu.
/bin/sh ../libtool --tag=CC --mode=link gcc -I/Volumes/Brobits/TV/myth/.osx-packager/build/include -m32 -F/System/Library/Frameworks -L/usr/lib -L/Volumes/Brobits/TV/myth/.osx-packager/build/lib -m32 -g -Wall -F/System/Library/Frameworks -L/usr/lib -L/Volumes/Brobits/TV/myth/.osx-packager/build/lib -m32 -o libmnote-canon.la exif-mnote-data-canon.lo mnote-canon-entry.lo mnote-canon-tag.lo -lintl grep: /usr/lib/libiconv.la: No such file or directory sed: /usr/lib/libiconv.la: No such file or directory libtool: link: `/usr/lib/libiconv.la' is not a valid libtool archive make[2]: *** [libmnote-canon.la] Error 1
Change History (3)
comment:1 by , 16 years ago
comment:2 by , 16 years ago
| Resolution: | → Works for me |
|---|---|
| Status: | new → closed |
On a Core2Duo (which forces the -m32 flags), under 10.5.8, it also builds libexif OK for me:
% ./osx-packager.pl --enable-backend --verbose
[osx-pkg] /usr/bin/hostinfo | grep 'processors$'
[osx-pkg] Using 3 jobs on 2 parallel CPUs
[osx-pkg] OS is 64bit. Disabling 64bit for this build...
[osx-pkg] Forcing 32-bit mode
[osx-pkg] Including components: mythtv myththemes mythplugins packaging
...
config.status: creating po/Makefile
Configuration (libexif 0.6.17):
Build
Source code location: .
Compiler: gcc
Ship binaries in tarball: false
Use translations: no
You may run "make" and "make install" now.
[osx-pkg] /usr/bin/touch .osx-config
[osx-pkg] Making exif
[osx-pkg] /usr/bin/make all install
/usr/bin/make all-recursive
Making all in m4m
make[2]: Nothing to be done for `all'.
Making all in po
make[2]: Nothing to be done for `all'.
Making all in libexif
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I/Users/nigel/.osx-packager/build/include -m32 -DGETTEXT_PACKAGE=\"libexif-12\" -DLOCALEDIR=\"/Users/nigel/.osx-packager/build/share/locale\" -I.. -I.. -g -Wall -Wmissing-declarations -Wmissing-prototypes -I/Users/nigel/.osx-packager/build/include -m32 -I/Users/nigel/.osx-packager/build/include -m32 -MT exif-byte-order.lo -MD -MP -MF .deps/exif-byte-order.Tpo -c -o exif-byte-order.lo exif-byte-order.c
...
/bin/sh ../libtool --tag=CC --mode=link gcc -I/Users/nigel/.osx-packager/build/include -m32 -F/System/Library/Frameworks -L/usr/lib -L/Users/nigel/.osx-packager/build/lib -m32 -g -Wall -F/System/Library/Frameworks -L/usr/lib -L/Users/nigel/.osx-packager/build/lib -m32 -o libmnote-canon.la exif-mnote-data-canon.lo mnote-canon-entry.lo mnote-canon-tag.lo
ar cru .libs/libmnote-canon.a .libs/exif-mnote-data-canon.o .libs/mnote-canon-entry.o .libs/mnote-canon-tag.o
ranlib .libs/libmnote-canon.a
creating libmnote-canon.la
(cd .libs && rm -f libmnote-canon.la && ln -s ../libmnote-canon.la libmnote-canon.la)
...
test -z "/Users/nigel/.osx-packager/build/lib/pkgconfig" || ./install-sh -c -d "/Users/nigel/.osx-packager/build/lib/pkgconfig"
/usr/bin/install -c -m 644 'libexif.pc' '/Users/nigel/.osx-packager/build/lib/pkgconfig/libexif.pc'
[osx-pkg] /usr/bin/touch .osx-built
[osx-pkg] Downloading taglib
...
so I suspect your Mac has some Fink packages installed, or DYLD_LIBRARY_PATHS set in the shell, or something else weird in the environment?
comment:3 by , 16 years ago
I made some real sleuthing progress here. (No Fink and nothing weird in the environment. I created a new user account and rebuilt just to be sure.)
I dug further by comparing this failed build on a Mac Pro to an attempted build on a Mac Mini. A major difference is that the Mac Pro system enjoys a copy of libintl whereas the Mac Mini lacks it.
/usr/local/include/libintl.h /usr/local/lib/libintl.3.4.3.dylib /usr/local/lib/libintl.3.dylib /usr/local/lib/libintl.a /usr/local/lib/libintl.dylib /usr/local/lib/libintl.la /usr/local/share/gettext/libintl.jar
I moved libintl aside and the build then completed. I'll file a more specific bug report accordingly.
The Mac Mini build fails, on an undefined symbol
_sem_timedwait
. If I can get better info I'll file on that one.

Trunk on 10.6.4 works OK for me:
% ./osx-packager.pl --enable-backend --verbose --nohead | tee log ... [osx-pkg] Unpacking exif [osx-pkg] /usr/bin/tar -xjf libexif-0.6.17.tar.bz2 [osx-pkg] Configuring exif [osx-pkg] ./configure --prefix=/Volumes/Backups/MythTV/.osx-packager/build --disable-static --enable-shared --disable-docs ... config.status: creating po/Makefile Configuration (libexif 0.6.17): Build Source code location: . Compiler: gcc Ship binaries in tarball: false Use translations: no You may run "make" and "make install" now. [osx-pkg] /usr/bin/touch .osx-config [osx-pkg] Making exif [osx-pkg] /usr/bin/make all install /usr/bin/make all-recursive Making all in m4m make[2]: Nothing to be done for `all'. Making all in po make[2]: Nothing to be done for `all'. Making all in libexif /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I/Volumes/Backups/MythTV/.osx-packager/build/include -DGETTEXT_PACKAGE=\"libexif-12\" -DLOCALEDIR=\"/Volumes/Backups/MythTV/.osx-packager/build/share/locale\" -I.. -I.. -g -Wall -Wmissing-declarations -Wmissing-prototypes -I/Volumes/Backups/MythTV/.osx-packager/build/include -I/Volumes/Backups/MythTV/.osx-packager/build/include -MT exif-byte-order.lo -MD -MP -MF .deps/exif-byte-order.Tpo -c -o exif-byte-order.lo exif-byte-order.c ... /bin/sh ../libtool --tag=CC --mode=link gcc -I/Volumes/Backups/MythTV/.osx-packager/build/include -F/System/Library/Frameworks -L/usr/lib -L/Volumes/Backups/MythTV/.osx-packager/build/lib -g -Wall -F/System/Library/Frameworks -L/usr/lib -L/Volumes/Backups/MythTV/.osx-packager/build/lib -o libmnote-canon.la exif-mnote-data-canon.lo mnote-canon-entry.lo mnote-canon-tag.lo ar cru .libs/libmnote-canon.a .libs/exif-mnote-data-canon.o .libs/mnote-canon-entry.o .libs/mnote-canon-tag.o ranlib .libs/libmnote-canon.a creating libmnote-canon.la (cd .libs && rm -f libmnote-canon.la && ln -s ../libmnote-canon.la libmnote-canon.la)but this is on a Core Duo machine (i.e. 32bit). I will try on a 64bit machine tonight.