Le 25 sept. 2014 à 00:47, Quentin Mathé <[email protected]> a écrit :
> Le 22 sept. 2014 à 20:39, Edwin Ancaer <[email protected]> a écrit : > >> But now there seems to be a problem with were the Clang-file stdef.h was >> installed, and were edlc is expecting to find it Any edlc command returns: >> >> /usr/include/sys/param.h:23:10: fatal error: 'stddef.h' file not found >> edlc: symbol lookup error: >> /usr/GNUstep/Local/Library/Frameworks/SourceCodeKit.framework/Versions/Current/./SourceCodeKit: >> undefined symbol: clang_Cursor_isObjCOptional >> >> I have the file stdef.h in the directory /usr/lib/clang/3.3/include. Can >> you tell me where edlc is looking for it, so I can try to create a symbolic >> link (a workaround found while searching the net). > > Looks like edlc is unable to load SourceCodeKit which links libclang. > clang_Cursor_isObjCOptional() is probably missing in libclang 3.3, so > SourceCodeKit needs to be adjusted to work again with libclang 3.3. I'll take > a look tomorrow, and let you know once it's done. > > For the first 'stddef.h' error, it is probably related to SourceCodeKit which > attempts to parse the system headers to support calling C from Smalltalk. > We'll see if it goes away once SourceCodeKit is updated. I checked SourceCodeKit, and the code already checks the libclang version during compilation. For example, #if CINDEX_VERSION >= 21 attributes = clang_Cursor_getObjCPropertyAttributes(protocolCursor, 0); isRequired = (clang_Cursor_isObjCOptional(protocolCursor) == 0); #else #warning Your libclang does not support checking for optional property declarations #endif So I don't understand how you can get this symbol lookup error. Do you get the warning above when compiling SourceCodeKit? A possible explanation could be that SourceCodeKit was compiled against libclang 3.4 or higher, but when you run 'edlc', libclang 3.3 is the one picked. May be there is some mismatch between the compiler search paths and the loader ones? On another note, I just committed a SourceCodeKit fix to get the Smalltalk to C interface working again. Calling functions such as sqrt() was broken. Now 'edlc -f test.st' runs fine on my machine. Cheers, Quentin. _______________________________________________ Etoile-discuss mailing list [email protected] https://mail.gna.org/listinfo/etoile-discuss
