New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #20965 (closed defect: fixed)

Opened 5 months ago

Last modified 4 months ago

exempi @2.1.1 fails to build 64-bit

Reported by: snc@… Owned by: devans@…
Priority: Normal Milestone:
Component: ports Version: 1.8.99
Keywords: LP64 Cc: yakoh@…, reco@…, thedoobs@…, eilemann@…, iwilcox@…, macsforever2000@…, bgrupe@…, brody1@…, jeff.laporte@…, steve_macdougall@…, sawtdk@…, brian.cunnie@…, ludwig@…, 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

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

Change History

  Changed 5 months ago by devans@…

  • status changed from new to assigned

On 10.6 I assume? This is QuickDraw stuff.

  Changed 5 months ago by devans@…

QuickTime I mean.

  Changed 5 months ago by snc@…

  • keywords snowleopard added

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

  Changed 5 months ago by yakoh@…

  • cc yakoh@… added

Cc Me!

  Changed 5 months ago by reco@…

  • cc reco@… added

Cc Me!

  Changed 5 months ago by reco@…

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

  Changed 5 months ago by thedoobs@…

  • cc thedoobs@… added

Cc Me!

  Changed 5 months ago by eilemann@…

  • cc eilemann@… added

Cc Me!

  Changed 5 months ago by iwilcox@…

  • cc iwilcox@… added

Cc Me!

  Changed 5 months ago by macsforever2000@…

  • cc macsforever2000@… added

Cc Me!

  Changed 5 months ago by bowman@…

Cc Me!

  Changed 5 months ago by devans@…

  • summary changed from exempi @2.1.1 fails to build to exempi @2.1.1 fails to build on snow leopard

  Changed 5 months ago by bgrupe@…

  • cc bgrupe@… added

Cc Me!

  Changed 5 months ago by smibrahim@…

any update ? :(

  Changed 5 months ago by brody1@…

  • cc brody1@… added

Cc Me!

  Changed 5 months ago by jeff.laporte@…

  • cc jeff.laporte@… added

Cc Me!

  Changed 5 months 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?

  Changed 5 months ago by steve_macdougall@…

  • cc steve_macdougall@… added

Cc Me!

  Changed 5 months ago by sawtdk@…

  • cc sawtdk@… added

Cc Me!

  Changed 5 months ago by brian.cunnie@…

  • cc brian.cunnie@… added

Cc Me!

  Changed 5 months ago by ludwig@…

  • cc ludwig@… added

Cc Me!

  Changed 5 months ago by giancarlo.degani@…

  • cc giancarlo.degani@… added

Cc Me!

  Changed 4 months ago by asymptotic.freedom@…

  • cc asymptotic.freedom@… added

Cc Me!

  Changed 4 months ago by imperatornulli@…

  • cc imperatornulli@… added

Cc Me!

  Changed 4 months ago by mike.c.wilding@…

  • cc mike.c.wilding@… added

Cc Me!

  Changed 4 months 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.

  Changed 4 months 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 4 months ago by mike.c.wilding@…

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

Changed 4 months ago by mike.c.wilding@…

patch file for Snow Leopard

Changed 4 months ago by mike.c.wilding@…

patch file for Snow Leopard

Changed 4 months ago by mike.c.wilding@…

patch file for Snow Leopard

follow-up: ↓ 31   Changed 4 months 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

  Changed 4 months ago by dpkatz@…

  • cc dpkatz@… added

Cc Me!

  Changed 4 months ago by jmr@…

  • keywords LP64 added; snowleopard removed
  • summary changed from exempi @2.1.1 fails to build on snow leopard to exempi @2.1.1 fails to build 64-bit

in reply to: ↑ 28   Changed 4 months ago by jmr@…

  • status changed from assigned to closed
  • resolution set to fixed

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.