Opened 15 years ago

Closed 15 years ago

#20965 closed defect (fixed)

exempi @2.1.1 fails to build 64-bit

Reported by: nerdling (Jeremy Lavergne) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 1.8.99
Keywords: LP64 Cc: yakoh@…, reco@…, thedoobs@…, eilemann@…, iwilcox@…, mf2k (Frank Schima), bgrupe27, brody1@…, jeff.laporte@…, steve_macdougall@…, sawtdk@…, brian.cunnie@…, LMariachi, giancarlo.degani@…, asymptotic.freedom@…, imperatornulli@…, mike.c.wilding@…, dpkatz@…
Port: exempi

Description

DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_exempi/work/exempi-2.1.1" && /usr/bin/nice -n 10 /usr/bin/make -j2 all'
Making all in third-party
Making all in MD5
Making all in source
Making all in common
Making all in XMPCore
Making all in XMPFiles
Making all in FileHandlers
  CXX   -n XMPEG4_Handler.o
  CXX   -n XMOV_Handler.o
In file included from MOV_Handler.cpp:17:
MOV_Handler.hpp:81: error: 'DataHandler' does not name a type
MOV_Handler.hpp:82: error: 'Movie' does not name a type
MOV_Handler.cpp:39: error: 'UserData' has not been declared
MOV_Handler.cpp:42: error: 'UserData' has not been declared
MOV_Handler.cpp: In function 'bool MOV_CheckFormat(XMP_FileFormat, const char*, void*, XMPFiles*)':
MOV_Handler.cpp:90: error: 'Movie' was not declared in this scope
MOV_Handler.cpp:90: error: expected `;' before 'tempMovie'
MOV_Handler.cpp:96: error: 'kQTNativeDefaultPathStyle' was not declared in this scope
MOV_Handler.cpp:96: error: 'QTNewDataReferenceFromFullPathCFString' was not declared in this scope
MOV_Handler.cpp:99: error: 'newMovieDontResolveDataRefs' was not declared in this scope
MOV_Handler.cpp:99: error: 'newMovieDontAskUnresolvedDataRefs' was not declared in this scope
MOV_Handler.cpp:100: error: 'tempMovie' was not declared in this scope
MOV_Handler.cpp:100: error: 'NewMovieFromDataRef' was not declared in this scope
MOV_Handler.cpp:107: error: 'DisposeMovie' was not declared in this scope
MOV_Handler.cpp: In constructor 'MOV_MetaHandler::MOV_MetaHandler(XMPFiles*)':
MOV_Handler.cpp:121: error: class 'MOV_MetaHandler' does not have any field named 'mMovieDataHandler'
MOV_Handler.cpp:121: error: class 'MOV_MetaHandler' does not have any field named 'mMovie'
MOV_Handler.cpp: In member function 'virtual void MOV_MetaHandler::UpdateFile(bool)':
MOV_Handler.cpp:177: error: 'kDataHCanRead' was not declared in this scope
MOV_Handler.cpp:177: error: 'kDataHCanWrite' was not declared in this scope
MOV_Handler.cpp:179: error: 'UserData' was not declared in this scope
MOV_Handler.cpp:179: error: expected `;' before 'movieUserData'
MOV_Handler.cpp:180: error: 'movieUserData' was not declared in this scope
MOV_Handler.cpp:185: error: 'GetUserData' was not declared in this scope
MOV_Handler.cpp:187: error: 'RemoveUserData' was not declared in this scope
MOV_Handler.cpp:196: error: 'AddUserData' was not declared in this scope
MOV_Handler.cpp: In member function 'bool MOV_MetaHandler::OpenMovie(long int)':
MOV_Handler.cpp:230: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:233: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp:233: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:243: error: 'kQTNativeDefaultPathStyle' was not declared in this scope
MOV_Handler.cpp:244: error: 'QTNewDataReferenceFromFullPathCFString' was not declared in this scope
MOV_Handler.cpp:248: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp:248: error: 'OpenMovieStorage' was not declared in this scope
MOV_Handler.cpp:251: error: 'newMovieDontAskUnresolvedDataRefs' was not declared in this scope
MOV_Handler.cpp:253: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:253: error: 'NewMovieFromDataRef' was not declared in this scope
MOV_Handler.cpp:261: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:261: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:261: error: 'DisposeMovie' was not declared in this scope
MOV_Handler.cpp:262: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp:262: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp:262: error: 'CloseMovieStorage' was not declared in this scope
MOV_Handler.cpp:265: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:266: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp: In member function 'void MOV_MetaHandler::CloseMovie()':
MOV_Handler.cpp:281: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:282: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:282: error: 'HasMovieChanged' was not declared in this scope
MOV_Handler.cpp:283: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:283: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp:283: error: 'UpdateMovieInStorage' was not declared in this scope
MOV_Handler.cpp:285: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:285: error: 'DisposeMovie' was not declared in this scope
MOV_Handler.cpp:288: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp:288: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp:288: error: 'CloseMovieStorage' was not declared in this scope
MOV_Handler.cpp:291: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:292: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp: In member function 'virtual void MOV_MetaHandler::CacheFileData()':
MOV_Handler.cpp:524: error: 'kDataHCanRead' was not declared in this scope
MOV_Handler.cpp:526: error: 'UserData' was not declared in this scope
MOV_Handler.cpp:526: error: expected `;' before 'movieUserData'
MOV_Handler.cpp:527: error: 'movieUserData' was not declared in this scope
MOV_Handler.cpp:532: error: 'GetUserData' was not declared in this scope
MOV_Handler.cpp: At global scope:
MOV_Handler.cpp:728: error: 'UserData' was not declared in this scope
MOV_Handler.cpp:728: error: 'movieUserData' was not declared in this scope
MOV_Handler.cpp:728: error: expected primary-expression before '*' token
MOV_Handler.cpp:728: error: 'epla' was not declared in this scope
MOV_Handler.cpp:728: error: initializer expression list treated as compound expression
MOV_Handler.cpp:729: error: expected ',' or ';' before '{' token
make[3]: *** [MOV_Handler.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_exempi/work/exempi-2.1.1" && /usr/bin/nice -n 10 /usr/bin/make -j2 all " returned error 2
Command output: MOV_Handler.cpp:282: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:282: error: 'HasMovieChanged' was not declared in this scope
MOV_Handler.cpp:283: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:283: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp:283: error: 'UpdateMovieInStorage' was not declared in this scope
MOV_Handler.cpp:285: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:285: error: 'DisposeMovie' was not declared in this scope
MOV_Handler.cpp:288: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp:288: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp:288: error: 'CloseMovieStorage' was not declared in this scope
MOV_Handler.cpp:291: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:292: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp: In member function 'virtual void MOV_MetaHandler::CacheFileData()':
MOV_Handler.cpp:524: error: 'kDataHCanRead' was not declared in this scope
MOV_Handler.cpp:526: error: 'UserData' was not declared in this scope
MOV_Handler.cpp:526: error: expected `;' before 'movieUserData'
MOV_Handler.cpp:527: error: 'movieUserData' was not declared in this scope
MOV_Handler.cpp:532: error: 'GetUserData' was not declared in this scope
MOV_Handler.cpp: At global scope:
MOV_Handler.cpp:728: error: 'UserData' was not declared in this scope
MOV_Handler.cpp:728: error: 'movieUserData' was not declared in this scope
MOV_Handler.cpp:728: error: expected primary-expression before '*' token
MOV_Handler.cpp:728: error: 'epla' was not declared in this scope
MOV_Handler.cpp:728: error: initializer expression list treated as compound expression
MOV_Handler.cpp:729: error: expected ',' or ';' before '{' token
make[3]: *** [MOV_Handler.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

DEBUG: Backtrace: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_exempi/work/exempi-2.1.1" && /usr/bin/nice -n 10 /usr/bin/make -j2 all " returned error 2
Command output: MOV_Handler.cpp:282: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:282: error: 'HasMovieChanged' was not declared in this scope
MOV_Handler.cpp:283: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:283: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp:283: error: 'UpdateMovieInStorage' was not declared in this scope
MOV_Handler.cpp:285: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:285: error: 'DisposeMovie' was not declared in this scope
MOV_Handler.cpp:288: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp:288: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp:288: error: 'CloseMovieStorage' was not declared in this scope
MOV_Handler.cpp:291: error: 'class MOV_MetaHandler' has no member named 'mMovie'
MOV_Handler.cpp:292: error: 'class MOV_MetaHandler' has no member named 'mMovieDataHandler'
MOV_Handler.cpp: In member function 'virtual void MOV_MetaHandler::CacheFileData()':
MOV_Handler.cpp:524: error: 'kDataHCanRead' was not declared in this scope
MOV_Handler.cpp:526: error: 'UserData' was not declared in this scope
MOV_Handler.cpp:526: error: expected `;' before 'movieUserData'
MOV_Handler.cpp:527: error: 'movieUserData' was not declared in this scope
MOV_Handler.cpp:532: error: 'GetUserData' was not declared in this scope
MOV_Handler.cpp: At global scope:
MOV_Handler.cpp:728: error: 'UserData' was not declared in this scope
MOV_Handler.cpp:728: error: 'movieUserData' was not declared in this scope
MOV_Handler.cpp:728: error: expected primary-expression before '*' token
MOV_Handler.cpp:728: error: 'epla' was not declared in this scope
MOV_Handler.cpp:728: error: initializer expression list treated as compound expression
MOV_Handler.cpp:729: error: expected ',' or ';' before '{' token
make[3]: *** [MOV_Handler.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

Attachments (4)

patch-Portfile (4.3 KB) - added by mike.c.wilding@… 15 years ago.
Portfile to patch for Snow Leopard (LIMITATION: removes Quicktime/mov support)
patch-source__XMPFiles__FileHandlers__Makefile.am (455 bytes) - added by mike.c.wilding@… 15 years ago.
patch file for Snow Leopard
patch-source__XMPFiles__FormatSupport__Makefile.am (729 bytes) - added by mike.c.wilding@… 15 years ago.
patch file for Snow Leopard
patch-source__XMPFiles__FormatSupport__Reconcile_Impl.cpp (371 bytes) - added by mike.c.wilding@… 15 years ago.
patch file for Snow Leopard

Download all attachments as: .zip

Change History (35)

comment:1 Changed 15 years ago by dbevans (David B. Evans)

Status: newassigned

On 10.6 I assume? This is QuickDraw stuff.

comment:2 Changed 15 years ago by dbevans (David B. Evans)

QuickTime I mean.

comment:3 Changed 15 years ago by nerdling (Jeremy Lavergne)

Keywords: snowleopard added

Yes, snow leopard. I wasn't sure if the errors were specific.

comment:4 Changed 15 years ago by yakoh@…

Cc: yakoh@… added

Cc Me!

comment:5 Changed 15 years ago by reco@…

Cc: reco@… added

Cc Me!

comment:6 Changed 15 years ago by reco@…

I tried to install old quicktime on snow leopard - does not help :(

comment:7 Changed 15 years ago by thedoobs@…

Cc: thedoobs@… added

Cc Me!

comment:8 Changed 15 years ago by eilemann@…

Cc: eilemann@… added

Cc Me!

comment:9 Changed 15 years ago by iwilcox@…

Cc: iwilcox@… added

Cc Me!

comment:10 Changed 15 years ago by mf2k (Frank Schima)

Cc: macsforever2000@… added

Cc Me!

comment:11 Changed 15 years ago by bowman@…

Cc Me!

comment:12 Changed 15 years ago by dbevans (David B. Evans)

Summary: exempi @2.1.1 fails to buildexempi @2.1.1 fails to build on snow leopard

comment:13 Changed 15 years ago by bgrupe27

Cc: bgrupe@… added

Cc Me!

comment:14 Changed 15 years ago by smibrahim@…

any update ? :(

comment:15 Changed 15 years ago by brody1@…

Cc: brody1@… added

Cc Me!

comment:16 Changed 15 years ago by jeff.laporte@…

Cc: jeff.laporte@… added

Cc Me!

comment:17 Changed 15 years ago by reco@…

what do we need to get this going? if its a question of $$ lets collect on http://www.fundable.com/

what do you guys think?

comment:18 Changed 15 years ago by steve_macdougall@…

Cc: steve_macdougall@… added

Cc Me!

comment:19 Changed 15 years ago by sawtdk@…

Cc: sawtdk@… added

Cc Me!

comment:20 Changed 15 years ago by brian.cunnie@…

Cc: brian.cunnie@… added

Cc Me!

comment:21 Changed 15 years ago by LMariachi

Cc: ludwig@… added

Cc Me!

comment:22 Changed 15 years ago by giancarlo.degani@…

Cc: giancarlo.degani@… added

Cc Me!

comment:23 Changed 15 years ago by asymptotic.freedom@…

Cc: asymptotic.freedom@… added

Cc Me!

comment:24 Changed 15 years ago by imperatornulli@…

Cc: imperatornulli@… added

Cc Me!

comment:25 Changed 15 years ago by mike.c.wilding@…

Cc: mike.c.wilding@… added

Cc Me!

comment:26 Changed 15 years ago by mike.c.wilding@…

Adding the following build arguments after the config.args in the portfile resolves the MOV_Handler.cpp compilation error but leaves some make file dependency problems (see below) which I haven't resolved (yet).

if { ${os.platform} == "darwin" &&  ${os.major} > 9 } {
    build.args CFLAGS_SYS="-DMACENV -DXMP_64 -l/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers"
}

Note: Since Carbon framework is supposedly 32 bit only, compiling as an x86_64 target against the Carbon Framework (as I'm doing above) does not actually make sense. The exempi library will fail to link would fail against the Carbon Framework. We would either have to compile exempi library as i386 (in which case you could not link and other x86_64 ports against it) or try to link against Cocoa x86_64 framework instead.

CarbonCore.framework/Headers" " returned error 2
Command output: make[1]: *** [all-recursive] Error 1
Making all in samples
Making all in source
make[2]: *** No rule to make target `../../source/XMPFiles/libXMPFiles.la', needed by `xmpcoverage'.  Stop.
make[2]: *** Waiting for unfinished jobs....
  CC    -n XXMPScanner.o
  CC    -n XXMPCoreCoverage.o
XMPCoreCoverage.cpp: In function 'void VerifyNewlines(FILE*, std::string, const char*)':
XMPCoreCoverage.cpp:362: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'
XMPCoreCoverage.cpp: In function 'void DoXMPCoreCoverage(FILE*)':
XMPCoreCoverage.cpp:1177: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int'
XMPCoreCoverage.cpp:1182: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'
XMPCoreCoverage.cpp:1186: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'
XMPCoreCoverage.cpp:1191: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'
XMPCoreCoverage.cpp:1197: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'
XMPCoreCoverage.cpp:1640: warning: format '%d' expects type 'int', but argument 3 has type 'long int'
XMPCoreCoverage.cpp:1642: warning: format '%d' expects type 'int', but argument 3 has type 'long int'
XMPCoreCoverage.cpp:1644: warning: format '%d' expects type 'int', but argument 3 has type 'long int'
XMPCoreCoverage.cpp:1646: warning: format '%d' expects type 'int', but argument 3 has type 'long int'
XMPCoreCoverage.cpp:1648: warning: format '%d' expects type 'int', but argument 3 has type 'long int'
XMPCoreCoverage.cpp:1650: warning: format '%X' expects type 'unsigned int', but argument 3 has type 'long int'
XMPCoreCoverage.cpp:1652: warning: format '%X' expects type 'unsigned int', but argument 3 has type 'long int'
make[1]: *** [all-recursive] Error 1
Making all in exempi
Making all in tests
make[2]: *** No rule to make target `../source/XMPFiles/libXMPFiles.la', needed by `libexempi.la'.  Stop.
make[2]: *** Waiting for unfinished jobs....
  CXX   -n Xexempi.o
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

Error: Status 1 encountered during processing.

comment:27 Changed 15 years ago by mike.c.wilding@…

I have successfully compiled and linked exempi under Snow Leopard subject to the following caveat; Quicktime/mov file support is removed due to Carbon QuickTime framework being 32 bit only. As far as I can gather the only way to fix this without forcing a 32 bit compile of the library (which would be useless for linking other 64 bit ports against) would be to re-write the Mac OS specific parts of the library to use the Cocoa x64 framework equivalents (if possible).

I've nearly completed a port file which will build exempi under Snow Leopard. However, it remains to be seen if/what ports will be able to link against it sucessfully with the missing Quicktime/mov support and if the resulting applications would actually dynamically link against the library and run without errors or side effects.

Changed 15 years ago by mike.c.wilding@…

Attachment: patch-Portfile added

Portfile to patch for Snow Leopard (LIMITATION: removes Quicktime/mov support)

Changed 15 years ago by mike.c.wilding@…

patch file for Snow Leopard

Changed 15 years ago by mike.c.wilding@…

patch file for Snow Leopard

Changed 15 years ago by mike.c.wilding@…

patch file for Snow Leopard

comment:28 Changed 15 years ago by mike.c.wilding@…

I've attached a Portfile patch and associated patches which allows the exempi library to compile and link under Snow Leopard.

NOTE: This patch removes Quicktime/mov file support (as there is no 64 bit support for Carbon QuickTime framework). See https://developer.apple.com/mac/library/documentation/Carbon/Conceptual/Carbon64BitGuide/OtherAPIChanges/OtherAPIChanges.html#//apple_ref/doc/uid/TP40004381-CH5-SW2.

TODO: Restore QuickTime/mov support by re-writing ${worksrcpath}/source/XMPFiles/FileHandlers/MOV_Handler.cpp and ${worksrcpath}/source/XMPFiles/FormatSupport/QuickTime_Support.cpp to use QuickTime Kit instead of Carbon QuickTime framework. See https://developer.apple.com/mac/library/documentation/QuickTime/Conceptual/QTKitProgrammingGuide/Chapter01/Introduction.html

comment:29 Changed 15 years ago by dpkatz@…

Cc: dpkatz@… added

Cc Me!

comment:30 Changed 15 years ago by jmroot (Joshua Root)

Keywords: LP64 added; snowleopard removed
Summary: exempi @2.1.1 fails to build on snow leopardexempi @2.1.1 fails to build 64-bit

comment:31 in reply to:  28 Changed 15 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: assignedclosed

Replying to mike.c.wilding@…:

I've attached a Portfile patch and associated patches which allows the exempi library to compile and link under Snow Leopard.

The portfile patch is a mess, but I committed something more reasonable that uses the patches you supplied for the other files in r59183.

Note: See TracTickets for help on using tickets.