Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#9110 closed defect (Works for me)

Plugins fail to build on osx-packager: libexif libtool problem?

Reported by: mythtv@… 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 Changed 9 years ago by Nigel

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.

comment:2 Changed 9 years ago by Nigel

Resolution: Works for me
Status: newclosed

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?

Last edited 9 years ago by Nigel (previous) (diff)

comment:3 Changed 9 years ago by mythtv@…

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.

Note: See TracTickets for help on using tickets.