[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Namespace problem building kdegraphics-3.2.1 on IRIX/Tru64
From:       Albert Chin <kde-devel () thewrittenword ! com>
Date:       2004-03-13 17:37:41
Message-ID: 20040313173741.GA75168 () spuckler ! il ! thewrittenword ! com
[Download RAW message or body]

While building kdegraphics-3.2.1 (ksvg/impl/SVGLengthImpl.cc) on IRIX
6.5/Tru64 UNIX 5.1:
cc-1553 CC: ERROR File = ../../ksvg/data/SVGLengthImpl.lut.h, Line = 25
  The member "KSVG::SVGLengthImpl::s_hashTable" cannot be defined in the current
          scope.

  const struct HashTable SVGLengthImpl::s_hashTable = { 2, 6, \
SVGLengthImpl__s_hashTableEntries, 5, SVGLengthImpl__s_hashTableStrings};  ^

cc-1553 CC: ERROR File = ../../ksvg/data/SVGLengthImpl.lut.h, Line = 46
  The member "KSVG::SVGLengthImplProto::s_hashTable" cannot be defined in the
          current scope.

  const struct HashTable SVGLengthImplProto::s_hashTable = { 2, 3, \
SVGLengthImplProto__s_hashTableEntries, 3, SVGLengthImplProto__s_hashTableStrings};  \
^

I think the SGI/Compaq compilers are correct here. At the top of
ksvg/impl/SVGLengthImpl.cc we have:
  using namespace KSVG;

  #include "SVGLengthImpl.lut.h"

and in ksvg/impl/data/SVGLengthImpl.lut.h we have:
  using namespace KJS;

  namespace KJS {
    ...
    const struct HashTable SVGLengthImpl::s_hashTable = { 2, 6, \
SVGLengthImpl__s_hashTableEntries, 5, SVGLengthImpl__s_hashTableStrings};  }

Moving the definition of SVGLengthImpl::s_hashTable outside of the KJS
namespace area works. However, that would require a change to
kdelibs/kjs/create_hash_table.

Are the SGI/Compaq compilers correct in their interpretation of the
namespace lookup?

-- 
albert chin (china@thewrittenword.com)
 
> > Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic