On Sun, May 15, 2011 at 7:33 AM, sean darcy <[email protected]> wrote: > On 05/15/2011 10:23 AM, sean darcy wrote: >> On 05/14/2011 07:08 PM, sean darcy wrote: >>> On Fedora 15 beta, gcc-4.6.0-7.fc15.x86_64, today's mlt git: >>> >>> g++ -shared -Wl,-soname,libmlt++.so.3 -o libmlt++.so.0.7.3 MltConsumer.o >>> MltDeque.o MltEvent.o MltFactory.o MltField.o MltFilter.o >>> MltFilteredConsumer.o MltFilteredProducer.o MltFrame.o MltGeometry.o >>> MltMultitrack.o MltParser.o MltPlaylist.o MltProducer.o MltProfile.o >>> MltProperties.o MltPushConsumer.o MltRepository.o MltService.o >>> MltTokeniser.o MltTractor.o MltTransition.o -Wl,--no-undefined >>> -Wl,--as-needed -L../framework -lmlt >>> MltConsumer.o: In function `Mlt::Consumer::get_consumer()': >>> MltConsumer.cpp:(.text+0x17): undefined reference to `__morestack' >>> MltConsumer.o: In function `Mlt::Consumer::connect(Mlt::Service&)': >>> MltConsumer.cpp:(.text+0x39): undefined reference to `__morestack' >>> ....... >>> >>> Is this gcc breakage? Isn't __morestack an internal gcc reference? >>> >>> sean >>> >>> >> >> >> Asked this question on fedora testers, and got a reply from the Red Hat >> gcc maintainer: >> >> > Isn't __morestack an internal gcc reference? It doesn't appear in the >> > > mlt source code. >> It appears in code that is compiled with -fsplit-stack and is defined in >> libgcc.a. Wonder why this library uses it, anyway, if you are linking >> with g++ instead of gcc, you probably need to link explicitly against >> -lgcc, because __morestack is libgcc.a only symbol, not defined in >> libgcc_s.so.1. >> >> This isn't something that has changed in gcc for several months, so the >> only possible change is on the side of your package or on other >> libraries it links against. >> >> Jakub >> >> >> So I added -lgcc, but no joy. FWIW, -fsplit-stack is not in the source >> code, so I'm not sure why mlt would come to use it. >> >> ........ >> g++ -O2 -march=native -mtune=native -fopenmp -fomit-frame-pointer -pipe >> -fsplit-stack -Wall -W -Wwrite-strings -Wcast-qual -Wpointer-arith >> -Wcast-align -Wredundant-decls -fPIC -DPIC -I.. -rdynamic >> -DVERSION=\"0.7.3\" -lgcc -c -o MltConsumer.o MltConsumer.cpp >> ........ >> g++ -shared -lgcc -Wl,-soname,libmlt++.so.3 -o libmlt++.so.0.7.3 >> MltConsumer.o MltDeque.o MltEvent.o MltFactory.o MltField.o MltFilter.o >> MltFilteredConsumer.o MltFilteredProducer.o MltFrame.o MltGeometry.o >> MltMultitrack.o MltParser.o MltPlaylist.o MltProducer.o MltProfile.o >> MltProperties.o MltPushConsumer.o MltRepository.o MltService.o >> MltTokeniser.o MltTractor.o MltTransition.o -Wl,--no-undefined >> -Wl,--as-needed -L../framework -lmlt >> MltConsumer.o: In function `Mlt::Consumer::get_consumer()': >> MltConsumer.cpp:(.text+0x17): undefined reference to `__morestack' >> ....... >> >> sean > > Found out that -fsplit-stack is a new F15 default. Changed it. mlt built > fine.
Thanks. It is not clear to me what sort of change I can make. -- +-DRD-+ ------------------------------------------------------------------------------ Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ Mlt-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mlt-devel
