[aspectc-user] Re: Segfault compiling code from SVN on Mac OS X
Stefan Marr
aspectc at stefan-marr.de
Wed Dec 10 17:21:54 CET 2008
Hi,
just for documentation, a simple make TARGET=macosx-release finally
did its job (in the README the flag SHARED=1 was mentioned, which does
not work with OS X.
Best regards
Stefan
On 03 Dec 2008, at 18:54, Stefan Marr wrote:
> Hi Olaf,
>
> thanks for this hint.
> Works beside the fact, that I had to add an #include <limits.h> to
> SysCall.cc because a definition of PATH_MAX was missing.
>
> Another thing with is already broken a while is the PREFIX constant
> in the Makefile. There is a space at the end, which needs to be
> removed to be able to use make install.
>
> Even if it looks like Puma compiles well, there seems to be another
> problem.
> Now I tried to build AspectC++ itself with -/AspectC++$ make
> TARGET=macosx-release SHARED=1
> but here ld complains about missing symbols on linking. Actually, it
> seems like not a single symbol can be retrieved from the library:
>
> ...
> "Puma::CProject::configure(Puma::Config&)", referenced from:
> vtable for ACProject in ACProject.o
> vtable for ACProject in ac++.o
> "Puma::CCSemVisitor::run(Puma::CTree*, Puma::CStructure*)",
> referenced from:
> Transformer::phase1(Puma::Unit*, Puma::CTranslationUnit*&,
> ModelBuilder&) in Transformer.o
> Transformer::phase2(Puma::Unit*, Puma::CTranslationUnit*,
> ModelBuilder&) in Transformer.o
> Transformer::phase2(Puma::Unit*, Puma::CTranslationUnit*,
> ModelBuilder&) in Transformer.o
>
> The libPuma.a file has a size of 59MB which is almost the double of
> its counterpart build under Ubuntu.
>
> Any ideas what could go wrong while linking?
>
> Debug output of make:
> ---
> Making AspectC++ for TARGET=macosx-release
> Compiler = g++ -DNDEBUG -I../Puma/include -I/opt/local/include/
> libxml2 -O2 -g -Wall -pipe -fno-rtti -fno-exceptions
> Linker = g++ -O2 -g -Wall -pipe -fno-rtti -fno-exceptions
> <objects> -L../Puma/lib/macosx-release -lPuma -L/opt/local/lib -
> lxml2 -lz -lpthread -liconv -lm
> ---
>
> Thanks
> Stefan
>
> On 03 Dec 2008, at 17:40, Olaf Spinczyk wrote:
>
>> Hi Stefan,
>>
>> I haven't looked into MacOS for some. There might be something
>> broken. The recommended procedure is:
>>
>> 1. Weave Puma on your Ubuntu machine:
>> make EXTENSIONS="gnuext acppext" weave
>> ->This only creates the woven sources.
>>
>> 2. Copy the whole Puma source tree to MacOS
>> make EXTENSIONS="gnuext acppext" TARGET=macosx-release compile
>> -> This only compiles and does not weave again.
>>
>> Let's see how it works ...
>>
>> - Olaf
>>
>> Stefan Marr wrote:
>>> Hi,
>>>
>>> I am still struggling with this problem.
>>> The next thing I've tried was weaving the code on a Ubuntu 8.10
>>> where a '1.0pre4 svn' package is available.
>>> But unfortunately, now I get a segfault on linking while using the
>>> prewoven code on MacOSX:
>>>
>>> Copying sources not to weave...
>>> Generating library header files...
>>> /bin/sh: line 1: 96230 Segmentation fault ac++ -a /Users/
>>> smarr/Projects/PhD/AspectC++/Puma/gen-release/step1/aspects/
>>> CCExprResolveCC.ah -a /Users/smarr/Projects/PhD/AspectC++/Puma/gen-
>>> release/step1/aspects/CCExprResolveH.ah -a /Users/smarr/Projects/
>>> PhD/AspectC++/Puma/gen-release/step1/aspects/CExprResolveCC.ah -a /
>>> Users/smarr/Projects/PhD/AspectC++/Puma/gen-release/step1/aspects/
>>> CExprResolveH.ah -a /Users/smarr/Projects/PhD/AspectC++/Puma/gen-
>>> release/step1/aspects/WinIfExists.ah -a /Users/smarr/Projects/PhD/
>>> AspectC++/Puma/gen-release/step1/aspects/WinImportHandler.ah -a /
>>> Users/smarr/Projects/PhD/AspectC++/Puma/gen-release/step1/aspects/
>>> WinMacros.ah -a /Users/smarr/Projects/PhD/AspectC++/Puma/gen-
>>> release/step1/aspects/WinAsm.ah -a /Users/smarr/Projects/PhD/
>>> AspectC++/Puma/gen-release/step1/aspects/WinDeclSpecs.ah -a /Users/
>>> smarr/Projects/PhD/AspectC++/Puma/gen-release/step1/aspects/
>>> WinMemberExplSpec.ah -a /Users/smarr/Projects/PhD/AspectC++/Puma/
>>> gen-release/step1/aspects/WinTypeKeywords.ah -a /Users/smarr/
>>> Projects/PhD/AspectC++/Puma/gen-release/step1/aspects/WinFriend.ah
>>> -a /Users/smarr/Projects/PhD/AspectC++/Puma/gen-release/step1/
>>> aspects/ExtAC.ah -a /Users/smarr/Projects/PhD/AspectC++/Puma/gen-
>>> release/step1/aspects/ExtACBuilderH.ah -a /Users/smarr/Projects/
>>> PhD/AspectC++/Puma/gen-release/step1/aspects/ExtACBuilderCC.ah -a /
>>> Users/smarr/Projects/PhD/AspectC++/Puma/gen-release/step1/aspects/
>>> ExtACSyntaxH.ah -a /Users/smarr/Projects/PhD/AspectC++/Puma/gen-
>>> release/step1/aspects/ExtACSyntaxCC.ah -a /Users/smarr/Projects/
>>> PhD/AspectC++/Puma/gen-release/step1/aspects/ExtACTree.ah -a /
>>> Users/smarr/Projects/PhD/AspectC++/Puma/gen-release/step1/aspects/
>>> ExtACKeywords.ah -a /Users/smarr/Projects/PhD/AspectC++/Puma/gen-
>>> release/step1/aspects/ExtGnu.ah -a /Users/smarr/Projects/PhD/
>>> AspectC++/Puma/gen-release/step1/aspects/ExtGnuCSemDeclSpecs.ah -
>>> a /Users/smarr/Projects/PhD/AspectC++/Puma/gen-release/step1/
>>> aspects/PragmaOnceUnitState.ah -a /Users/smarr/Projects/PhD/AspectC
>>> ++/Puma/gen-release/step1/aspects/PragmaOnce.ah -a /Users/smarr/
>>> Projects/PhD/AspectC++/Puma/gen-release/step1/aspects/
>>> TraceSyntax.ah -a /Users/smarr/Projects/PhD/AspectC++/Puma/gen-
>>> release/step1/aspects/CMatchSyntax.ah -DNDEBUG -I /Users/smarr/
>>> Projects/PhD/AspectC++/Puma/gen-release/step1/inc -I /Users/smarr/
>>> Projects/PhD/AspectC++/Puma/gen-release/step1/aspects -I /Users/
>>> smarr/Projects/PhD/AspectC++/Puma/gen-release/step1/src -r /Users/
>>> smarr/Projects/PhD/AspectC++/Puma/gen-release/puma.acp --config /
>>> Users/smarr/Projects/PhD/AspectC++/Puma/gen-release/puma.cfg --
>>> gen_size_type __SIZE_TYPE__ -i -p. -d/Users/smarr/Projects/PhD/
>>> AspectC++/Puma/gen-release/step2
>>> make[2]: *** [/Users/smarr/Projects/PhD/AspectC++/Puma/gen-release/
>>> step2/.inc] Error 139
>>> make[1]: *** [step2] Error 2
>>> make: *** [src] Error 2
>>>
>>>
>>> Any ideas how to proceed next?
>>>
>>> Thanks and regards
>>> Stefan
>>>
>>>
>>> On 02 Dec 2008, at 17:04, Stefan Marr wrote:
>>>
>>>> Hi,
>>>>
>>>> I tried to compile the latest code from the SVN on Mac OS X,
>>>> since the current binaries available are already quite old :-/
>>>>
>>>> In the first step I installed the 1.0pre3 which is available on
>>>> the web site.
>>>> Then I tried compiling the code from SVN, starting with
>>>>
>>>> -/Puma$ make TARGET=macosx-release
>>>>
>>>> Here I got an error referring to something like __attribute. So
>>>> my guess was, my GCC might be to old. (Mac OS X standard GCC is
>>>> 4.01)
>>>>
>>>> So I installed gcc/g++ 4.3.2.
>>>>
>>>> Now I get a segfault while compiling:
>>>>
>>>> Copying sources not to weave...
>>>> Calling ac++ on PreFileIncluder.cc...
>>>> Calling ac++ on PreprocessorParser.cc...
>>>> Calling ac++ on UnitManager.cc...
>>>> Calling ac++ on CScanner.cc...
>>>> Calling ac++ on CCBuilder.cc...
>>>> make[2]: *** [/Users/smarr/Projects/PhD/AspectC++/Puma/gen-
>>>> release/step2/src/CCBuilder.cc] Segmentation fault
>>>> make[1]: *** [step2] Error 2
>>>> make: *** [src] Error 2
>>>>
>>>> I would guess, that there is some bug in the public binary?
>>>> ag++ 0.6 built: Mar 16 2006
>>>> ac++ 1.0pre3 (Mar 16 2006)
>>>>
>>>> Would it be possible to either publish a new pre-release or some
>>>> new prewoven code?
>>>> Or give me a hint what I could try else, please :)
>>>>
>>>> Thanks and regards
>>>> Stefan
>>>
>>> _______________________________________________
>>> aspectc-user mailing list
>>> aspectc-user at aspectc.org
>>> http://www.aspectc.org/mailman/listinfo/aspectc-user
>>>
>>
>
> _______________________________________________
> aspectc-user mailing list
> aspectc-user at aspectc.org
> http://www.aspectc.org/mailman/listinfo/aspectc-user
More information about the aspectc-user
mailing list