Bug 155811 - SVN revision 761617 build failure
Summary: SVN revision 761617 build failure
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: kjs (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Harri Porten
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-01-15 10:18 UTC by Nick Warne
Modified: 2008-01-16 02:45 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nick Warne 2008-01-15 10:18:22 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
Compiler:          GCC 3.4.6 
OS:                Linux

GCC 3.4.6

glibc:

nick@linuxamd:kdelibs$ /lib/libc.so.6 -v
GNU C Library stable release version 2.3.2, by Roland McGrath et al.
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 3.3.3.
Compiled on a Linux 2.4.26 system on 2004-05-24.
Available extensions:
        GNU libio by Per Bothner
        crypt add-on version 2.1 by Michael Glad and others
        linuxthreads-0.10 by Xavier Leroy
        BIND-8.2.3-T5B
        libthread_db work sponsored by Alpha Processor Inc
        NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk


I built KDE4 on Friday/Saturday 11th/12th Jan 08.  Today I svn up to latest revision.

I now have a built stopper in kdelibs in two areas:

/home/hdb/kde4/KDE/kdelibs/kjs/JSImmediate.h: In function `double KJS::setTimeFields(KJS::ExecState*, const KJS::List&, int, double, tm*)':
/home/hdb/kde4/KDE/kdelibs/kjs/JSImmediate.h:151: sorry, unimplemented: inlining failed in call to 'static uintptr_t KJS::JSImmediate::getTag(const KJS::JSValue*)': function not considered for inlining

This appears to be from:

http://websvn.kde.org/trunk/KDE/kdelibs/kjs/JSImmediate.h?r1=686923&r2=760411

If I revert the 2 ALWAYS_INLINE changes around line 142:

//    static ALWAYS_INLINE uintptr_t unTag(const JSValue* v)
    static uintptr_t unTag(const JSValue* v)
    {
        return reinterpret_cast<uintptr_t>(v) & ~TagMask;
    }

//    static ALWAYS_INLINE uintptr_t getTag(const JSValue* v)
    static uintptr_t getTag(const JSValue* v)
    {
        return reinterpret_cast<uintptr_t>(v) & TagMask;
    }

It builds OK.  Also changing ALWAYS_INLINE to __inline__ also works here too...

So then I can build until:

/home/hdb/kde4/KDE/kdelibs/kjs/regexp.cpp: In member function `KJS::UString KJS::RegExp::match(const KJS::UString&, bool*, int, int*, int**)':
/home/hdb/kde4/KDE/kdelibs/kjs/regexp.cpp:353: error: `PCRE_EXTRA_MATCH_LIMIT_RECURSION' was not declared in this scope
/home/hdb/kde4/KDE/kdelibs/kjs/regexp.cpp:360: error: 'struct pcre_extra' has no member named 'match_limit_recursion'
/home/hdb/kde4/KDE/kdelibs/kjs/regexp.cpp:353: warning: unused variable 'PCRE_EXTRA_MATCH_LIMIT_RECURSION'
/home/hdb/kde4/KDE/kdelibs/kjs/regexp.cpp:378: error: `PCRE_ERROR_RECURSIONLIMIT' was not declared in this scope
/home/hdb/kde4/KDE/kdelibs/kjs/regexp.cpp:378: warning: unused variable 'PCRE_ERROR_RECURSIONLIMIT'
make[2]: *** [kjs/CMakeFiles/kjs.dir/regexp.o] Error 1

Any help appreciated.

Thanks,

Nick
Comment 1 Nick Warne 2008-01-15 11:07:55 UTC
UPDATE:

OK, ignore the regexp.cpp errors - my pcre version was to old, and updating that fixed it.

So, it is only the ALWAYS_INLINE build error - which I can fixup for my version of GCC/glibc as explained.

Nick
Comment 2 Harri Porten 2008-01-16 02:45:20 UTC
SVN commit 762074 by porten:

Feature was buggy/incomplete in some gcc 3 versions. 

BUG: 155811


 M  +1 -1      AlwaysInline.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=762074