tags:

views:

52

answers:

1

Hi

Anybody can help me with compiling mp4v2 on Mac OS X? I've tried configuring and compiling as per the instructions but I got a lot of errors originating from the C++ headers. The configure command was ./configure --enable-ub followed by plain make at the Terminal.

From the looks of the error messages, it seems that a number of header files are missing from my installation. The problem is that I did not remove any header files and installed Xcode as-is from the installer DMG.

It seems that these files are required but not present in my from my Xcode installation:

  • /usr/include/c++/4.2.1/bits/c++config.h
  • /usr/include/c++/4.2.1/bits/c++locale.h
  • /usr/include/c++/4.2.1/bits/c++io.h
  • /usr/include/c++/4.2.1/bits/ghtr.h
  • /usr/include/c++/4.2.1/bits/atomic_word.h
  • (and then some)

They are all included by the STL C++ headers provided by the system (all of the files that references to these missing files are in /user/include/c++/4.2.1.

Anybody can help tell me where do I get these "missing" header files?

Here are the version details of each software involved:

  • Snow Leopard 10.6.4
  • Xcode 3.2.3 (the one that came with iOS SDK 4.0)
  • MP4v2 1.9.1
  • i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)

The following are some excerpts of the error messages:

g++ -DHAVE_CONFIG_H   -arch i386 -arch x86_64 -arch ppc -arch ppc64 -I./include -I./include -I. -I.  -Wall -Wformat -g -O2 -fvisibility=hidden  -c libplatform/impl.h -o libplatform/impl.h.gch/static
In file included from /usr/include/c++/4.2.1/ios:43,
                 from /usr/include/c++/4.2.1/istream:44,
                 from /usr/include/c++/4.2.1/fstream:45,
                 from ./libplatform/platform_base.h:6,
                 from ./libplatform/platform_posix.h:31,
                 from ./libplatform/platform.h:24,
                 from libplatform/impl.h:6:
/usr/include/c++/4.2.1/iosfwd:44:28: error: bits/c++config.h: No such file or directory
/usr/include/c++/4.2.1/iosfwd:45:29: error: bits/c++locale.h: No such file or directory
/usr/include/c++/4.2.1/iosfwd:46:25: error: bits/c++io.h: No such file or directory
In file included from /usr/include/c++/4.2.1/bits/ios_base.h:45,
                 from /usr/include/c++/4.2.1/ios:48,
                 from /usr/include/c++/4.2.1/istream:44,
                 from /usr/include/c++/4.2.1/fstream:45,
                 from ./libplatform/platform_base.h:6,
                 from ./libplatform/platform_posix.h:31,
                 from ./libplatform/platform.h:24,
                 from libplatform/impl.h:6:
/usr/include/c++/4.2.1/ext/atomicity.h:39:23: error: bits/gthr.h: No such file or directory
/usr/include/c++/4.2.1/ext/atomicity.h:40:30: error: bits/atomic_word.h: No such file or directory
In file included from /usr/include/c++/4.2.1/memory:54,
                 from /usr/include/c++/4.2.1/string:48,
                 from /usr/include/c++/4.2.1/bits/locale_classes.h:47,
                 from /usr/include/c++/4.2.1/bits/ios_base.h:47,
                 from /usr/include/c++/4.2.1/ios:48,
                 from /usr/include/c++/4.2.1/istream:44,
                 from /usr/include/c++/4.2.1/fstream:45,
                 from ./libplatform/platform_base.h:6,
                 from ./libplatform/platform_posix.h:31,
                 from ./libplatform/platform.h:24,
                 from libplatform/impl.h:6:

Thanks

A: 

Hi,

I finally got it right:

./configure --disable-gch --enable-ub=ppc,i386,x86_64

Refer to mp4v2 issue 58.

Furthermore there are additional steps required when you use Snow Leopard to build but you also want mp4v2 to be usable under Leopard.

Thanks

adib