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

Reply via email to