Hi! Ok, I have managed to resolve my Mac packaging problems now.
First problem was synfig-core compilation error (on OSX Lion only): libtool: compile: g++ -DHAVE_CONFIG_H -I../.. -I../../src -I../../libltdl ... -DNDEBUG -O2 -W -Wall -MT libsynfig_la-color.lo -MD -MP -MF .deps/libsynfig_la-color.Tpo -c color.cpp -fno-common -DPIC -o .libs/libsynfig_la-color.o color.cpp: In function 'C blendfunc_HARD_LIGHT(C&, C&, float) [with C = synfig::CairoColor]': color.cpp:1070: warning: unused variable 'ac' color.cpp: At global scope: color.cpp: In instantiation of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]': color.cpp:149: instantiated from here color.cpp:149: error: explicit instantiation of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]' but no definition available color.cpp: In instantiation of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]': color.cpp:149: instantiated from here color.cpp:149: error: explicit instantiation of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]' but no definition available color.cpp: In instantiation of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]': color.cpp:149: instantiated from here color.cpp:149: error: explicit instantiation of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]' but no definition available make[2]: *** [libsynfig_la-color.lo] Error 1 make[1]: *** [install-recursive] Error 1 make: *** [install-recursive] Error 1 As pointed here http://stackoverflow.com/questions/11764216/qtcreator-build-system-is-broken-after-osx-upgrade , there are several solutions for this: 1) Drop MACOSX_DEPLOYMENT_TARGET=10.5 option. That way we're loosing extended compatibility for binaries. Not desirable. 2) Add "-fpermissive" flag for CPPFLAGS 3) Change the color.cpp file by adding ".c_str()" to the std::string elements passed for std::ostringstream. The problem with solution (3) is that the same error appears in many places of synfig-core when "<<" operator is used together with std::string. I have no time to fix all that now, so I have end up with solution (2). Second problem appears when building studio on both Lion and Snow Leopard: g++ -DHAVE_CONFIG_H ... -DNDEBUG -O2 -W -Wall -MT synfigstudio-layertreestore.o -MD -MP -MF .deps/synfigstudio-layertreestore.Tpo -c -o synfigstudio-layertreestore.o `test -f 'trees/layertreestore.cpp' || echo './'`trees/layertreestore.cpp In file included from trees/keyframetreestore.cpp:34: ./trees/keyframetreestore.h:208: error: invalid use of incomplete type 'struct Glib::Class' /tmp/skl/SynfigStudio.app/Contents/Resources/include/glibmm-2.4/glibmm/object.h:52: error: forward declaration of 'struct Glib::Class' trees/keyframetreestore.cpp: In member function 'const Glib::Class& studio::KeyframeTreeStore_Class::init()': trees/keyframetreestore.cpp:170: error: 'gtype_' was not declared in this scope trees/keyframetreestore.cpp:172: error: 'class_init_func_' was not declared in this scope trees/keyframetreestore.cpp:189: error: 'get_type' was not declared in this scope trees/keyframetreestore.cpp:191: error: invalid initialization of reference of type 'const Glib::Class&' from expression of type 'studio::KeyframeTreeStore_Class' make[2]: *** [synfigstudio-keyframetreestore.o] Error 1 make[2]: *** Waiting for unfinished jobs.... mv -f .deps/synfigstudio-layergrouptreestore.Tpo .deps/synfigstudio-layergrouptreestore.Po mv -f .deps/synfigstudio-layerparamtreestore.Tpo .deps/synfigstudio-layerparamtreestore.Po mv -f .deps/synfigstudio-layertreestore.Tpo .deps/synfigstudio-layertreestore.Po make[1]: *** [install-recursive] Error 1 make: *** [install-recursive] Error 1 There is a simple solution here: Add "#include <glibmm/class.h>" at top of the keyframetreestore.h On the other hand, it looks like KeyframeTreeStore_Class isn't used anywhere, so I've just removed it. That's it. The package script is going to be committed into main repo as synfigstudio-osx-build.sh inside of the "autobuild" dir. K. -- http://morevnaproject.org/ ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite It's a free troubleshooting tool designed for production Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap2 _______________________________________________ Synfig-devl mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/synfig-devl
