rmov icon indicating copy to clipboard operation
rmov copied to clipboard

Error attempting to bundle on Mavericks.

Open EvanTedesco opened this issue 9 years ago • 0 comments

I just discovered this library and it looks like exactly what I need for the project I am currently working on. When I try to bundle or gem install rmov I get the following error:

Building native extensions. This could take a while... ERROR: Error installing rmov: ERROR: Failed to build gem native extension.

/Users/Evan/.rvm/rubies/ruby-2.1.1/bin/ruby extconf.rb

creating Makefile

make "DESTDIR=" clean

make "DESTDIR=" compiling exporter.c In file included from exporter.c:1: ./rmov_ext.h:12:27: error: unknown type name 'Movie' OSErr movie_progress_proc(Movie movie, short message, short operation, Fixed percent, VALUE proc); ^ ./rmov_ext.h:19:3: error: unknown type name 'Movie' Movie movie; ^ ./rmov_ext.h:35:3: error: unknown type name 'Track' Track track; ^ ./rmov_ext.h:46:3: error: unknown type name 'QTAtomContainer' QTAtomContainer settings; ^ exporter.c:8:5: warning: implicit declaration of function 'QTDisposeAtomContainer' is invalid in C99 [-Wimplicit-function-declaration] QTDisposeAtomContainer(rExporter->settings); ^ exporter.c:29:33: warning: 'OpenDefaultComponent' is deprecated: first deprecated in OS X 10.8 [-Wdeprecated-declarations] ComponentInstance component = OpenDefaultComponent('spit', 'MooV'); ^ /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Components.h:1004:1: note: 'OpenDefaultComponent' has been explicitly marked deprecated here OpenDefaultComponent( ^ exporter.c:31:5: warning: implicit declaration of function 'MovieExportSetSettingsFromAtomContainer' is invalid in C99 [-Wimplicit-function-declaration] MovieExportSetSettingsFromAtomContainer(component, REXPORTER(obj)->settings); ^ exporter.c:50:3: error: use of undeclared identifier 'Movie'; did you mean 'cMovie'? Movie movie = MOVIE(rb_iv_get(obj, "@movie")); ^~~~~ cMovie ./rmov_ext.h:4:26: note: 'cMovie' declared here extern VALUE eQuickTime, cMovie, cTrack, cExporter; ^ exporter.c:50:8: error: expected ';' after expression Movie movie = MOVIE(rb_iv_get(obj, "@movie")); ^ ; exporter.c:50:9: error: use of undeclared identifier 'movie' Movie movie = MOVIE(rb_iv_get(obj, "@movie")); ^ exporter.c:54:5: warning: implicit declaration of function 'SetMovieProgressProc' is invalid in C99 [-Wimplicit-function-declaration] SetMovieProgressProc(movie, (MovieProgressUPP)movie_progress_proc, rb_block_proc()); ^ exporter.c:54:26: error: use of undeclared identifier 'movie' SetMovieProgressProc(movie, (MovieProgressUPP)movie_progress_proc, rb_block_proc()); ^ exporter.c:57:3: warning: implicit declaration of function 'SetMovieActive' is invalid in C99 [-Wimplicit-function-declaration] SetMovieActive(movie, TRUE); ^ exporter.c:57:18: error: use of undeclared identifier 'movie' SetMovieActive(movie, TRUE); ^ exporter.c:59:9: warning: implicit declaration of function 'NativePathNameToFSSpec' is invalid in C99 [-Wimplicit-function-declaration] err = NativePathNameToFSSpec(RSTRING(filepath)->ptr, &fs, 0); ^ exporter.c:59:51: error: no member named 'ptr' in 'struct RString' err = NativePathNameToFSSpec(RSTRING(filepath)->ptr, &fs, 0); ~~~~~~~~~~~~~~~~~ ^ exporter.c:61:108: error: no member named 'ptr' in 'struct RString' rb_raise(eQuickTime, "Error %d occurred while opening file for export at %s.", err, RSTRING(filepath)->ptr); ~~~~~~~~~~~~~~~~~ ^ exporter.c:64:9: warning: implicit declaration of function 'ConvertMovieToFile' is invalid in C99 [-Wimplicit-function-declaration] err = ConvertMovieToFile(movie, 0, &fs, 'MooV', 'TVOD', 0, 0, 0, component); ^ exporter.c:64:28: error: use of undeclared identifier 'movie' err = ConvertMovieToFile(movie, 0, &fs, 'MooV', 'TVOD', 0, 0, 0, component); ^ exporter.c:66:116: error: no member named 'ptr' in 'struct RString' rb_raise(eQuickTime, "Error %d occurred while attempting to export movie to file %s.", err, RSTRING(filepath)->ptr); ~~~~~~~~~~~~~~~~~ ^ exporter.c:69:26: error: use of undeclared identifier 'movie' SetMovieProgressProc(movie, 0, 0); ^ exporter.c:71:3: warning: 'CloseComponent' is deprecated: first deprecated in OS X 10.8 [-Wdeprecated-declarations] CloseComponent(component); ^ /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Components.h:593:1: note: 'CloseComponent' has been explicitly marked deprecated here CloseComponent(ComponentInstance aComponentInstance) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA); ^ exporter.c:50:3: warning: expression result unused [-Wunused-value] Movie movie = MOVIE(rb_iv_get(obj, "@movie")); ^~~~~ exporter.c:90:3: error: use of undeclared identifier 'Movie'; did you mean 'cMovie'? Movie movie = MOVIE(rb_iv_get(obj, "@movie")); ^~~~~ cMovie ./rmov_ext.h:4:26: note: 'cMovie' declared here extern VALUE eQuickTime, cMovie, cTrack, cExporter; ^ exporter.c:90:8: error: expected ';' after expression Movie movie = MOVIE(rb_iv_get(obj, "@movie")); ^ ; exporter.c:90:9: error: use of undeclared identifier 'movie' Movie movie = MOVIE(rb_iv_get(obj, "@movie")); ^ exporter.c:98:3: warning: 'SetFrontProcess' is deprecated: first deprecated in OS X 10.9 [-Wdeprecated-declarations] SetFrontProcess(&current_process); ^ /System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/Processes.h:603:1: note: 'SetFrontProcess' has been explicitly marked deprecated here SetFrontProcess(const ProcessSerialNumber * PSN) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9; ^ exporter.c:101:9: warning: implicit declaration of function 'MovieExportDoUserDialog' is invalid in C99 [-Wimplicit-function-declaration] err = MovieExportDoUserDialog(component, movie, 0, 0, GetMovieDuration(movie), &canceled); ^ exporter.c:101:44: error: use of undeclared identifier 'movie' err = MovieExportDoUserDialog(component, movie, 0, 0, GetMovieDuration(movie), &canceled); ^ exporter.c:111:5: warning: implicit declaration of function 'MovieExportGetSettingsAsAtomContainer' is invalid in C99 [-Wimplicit-function-declaration] MovieExportGetSettingsAsAtomContainer(component, &REXPORTER(obj)->settings); ^ exporter.c:114:3: warning: 'CloseComponent' is deprecated: first deprecated in OS X 10.8 [-Wdeprecated-declarations] CloseComponent(component); ^ /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Components.h:593:1: note: 'CloseComponent' has been explicitly marked deprecated here CloseComponent(ComponentInstance aComponentInstance) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA); ^ exporter.c:90:3: warning: expression result unused [-Wunused-value] Movie movie = MOVIE(rb_iv_get(obj, "@movie")); ^~~~~ exporter.c:133:35: error: no member named 'ptr' in 'struct RString' file = fopen(RSTRING(filepath)->ptr, "r+b"); ~~~~~~~~~~~~~~~~~ ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 14 warnings and 20 errors generated. make: *** [exporter.o] Error 1

make failed, exit code 2

Is there any way to make this library work on Mavericks? Is this also an issue with 64/32 bit difference and if so is there a workaround? Thanks in advance for your time.

EvanTedesco avatar Mar 12 '15 16:03 EvanTedesco