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. sean ------------------------------------------------------------------------------ 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
