Build error

63 views
Skip to first unread message

Enric Galceran

unread,
Dec 3, 2012, 11:32:49 AM12/3/12
to osgwork...@googlegroups.com
Hi,

I get the following error when trying to build osgworks. I'm using latest trunk on Ubuntu Quantal, 64 bits.

Any clues?

Thank you.

[  1%] Built target osgwControls
  [  3%] Building CXX object src/osgwTools/CMakeFiles/osgwTools.dir/TransparencyUtils.cpp.o
  In file included from /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:21:0:
  /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h: In instantiation of ‘bool osgwTools::transparentDisable(T*, bool) [with T = osg::Node]’:
  /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:136:31:   required from here
  /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:138:5: error: ‘isTransparent’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:34:6: note: ‘bool osgwTools::isTransparent(const osg::StateSet*)’ declared here, later in the translation unit
  In file included from /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:21:0:
  /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h: In instantiation of ‘bool osgwTools::transparentDisable(T*, bool) [with T = osg::Geode]’:
  /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:144:32:   required from here
  /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:138:5: error: ‘isTransparent’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:34:6: note: ‘bool osgwTools::isTransparent(const osg::StateSet*)’ declared here, later in the translation unit
  In file included from /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:21:0:
  /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h: In instantiation of ‘bool osgwTools::transparentDisable(T*, bool) [with T = osg::Drawable]’:
  /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:149:54:   required from here
  /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:138:5: error: ‘isTransparent’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:34:6: note: ‘bool osgwTools::isTransparent(const osg::StateSet*)’ declared here, later in the translation unit

Paul Martz

unread,
Dec 3, 2012, 12:06:11 PM12/3/12
to osgwork...@googlegroups.com
Hm That's a mystery, as this code has been compiling on multiple platforms for
some time now.

What version of osgWorks are you using? The reason I ask is that the compiler is
displaying an error for TransparencyUtils.h:138, but that line is blank in
current svn trunk.

I have no idea why the compiler wouldn't be able to find isTransparent(). It is
declared at TransparencyUtils.h line 123.

If you fix this, please post a patch.
-Paul


On 12/3/2012 9:32 AM, Enric Galceran wrote:
> Hi,
>
> I get the following error when trying to build osgworks. I'm using latest trunk
> on Ubuntu Quantal, 64 bits.
>
> Any clues?
>
> Thank you.
>
> [ 1%] Built target osgwControls
> [ 3%] Building CXX object
> src/osgwTools/CMakeFiles/osgwTools.dir/TransparencyUtils.cpp.o
> In file included from
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:21:0:
>
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:
> In instantiation of �bool osgwTools::transparentDisable(T*, bool) [with T =
> osg::Node]�:
>
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:136:31:
> required from here
>
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:138:5:
> error: �isTransparent� was not declared in this scope, and no declarations were
> found by argument-dependent lookup at the point of instantiation [-fpermissive]
>
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:34:6:
> note: �bool osgwTools::isTransparent(const osg::StateSet*)� declared here, later
> in the translation unit
> In file included from
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:21:0:
>
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:
> In instantiation of �bool osgwTools::transparentDisable(T*, bool) [with T =
> osg::Geode]�:
>
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:144:32:
> required from here
>
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:138:5:
> error: �isTransparent� was not declared in this scope, and no declarations were
> found by argument-dependent lookup at the point of instantiation [-fpermissive]
>
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:34:6:
> note: �bool osgwTools::isTransparent(const osg::StateSet*)� declared here, later
> in the translation unit
> In file included from
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:21:0:
>
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:
> In instantiation of �bool osgwTools::transparentDisable(T*, bool) [with T =
> osg::Drawable]�:
>
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:149:54:
> required from here
>
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:138:5:
> error: �isTransparent� was not declared in this scope, and no declarations were
> found by argument-dependent lookup at the point of instantiation [-fpermissive]
>
> /home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:34:6:
> note: �bool osgwTools::isTransparent(const osg::StateSet*)� declared here, later
> in the translation unit
>
> --
> You received this message because you are subscribed to the Google Groups
> "osgworks-users" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/osgworks-users/-/puMlccOI9nMJ.
> To post to this group, send email to osgwork...@googlegroups.com.
> To unsubscribe from this group, send email to
> osgworks-user...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/osgworks-users?hl=en.

Enric Galceran

unread,
Dec 3, 2012, 12:21:30 PM12/3/12
to osgwork...@googlegroups.com
I just did svn co on the trunk.


On Mon, Dec 3, 2012 at 6:06 PM, Paul Martz <pma...@skew-matrix.com> wrote:
Hm That's a mystery, as this code has been compiling on multiple platforms for some time now.

What version of osgWorks are you using? The reason I ask is that the compiler is displaying an error for TransparencyUtils.h:138, but that line is blank in current svn trunk.

I have no idea why the compiler wouldn't be able to find isTransparent(). It is declared at TransparencyUtils.h line 123.

If you fix this, please post a patch.
   -Paul



On 12/3/2012 9:32 AM, Enric Galceran wrote:
Hi,

I get the following error when trying to build osgworks. I'm using latest trunk
on Ubuntu Quantal, 64 bits.

Any clues?

Thank you.

[  1%] Built target osgwControls
   [  3%] Building CXX object
src/osgwTools/CMakeFiles/osgwTools.dir/TransparencyUtils.cpp.o
   In file included from
/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:21:0:

/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:
In instantiation of ‘bool osgwTools::transparentDisable(T*, bool) [with T =
osg::Node]’:


/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:136:31:
   required from here

/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:138:5:
error: ‘isTransparent’ was not declared in this scope, and no declarations were

found by argument-dependent lookup at the point of instantiation [-fpermissive]

/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:34:6:
note: ‘bool osgwTools::isTransparent(const osg::StateSet*)’ declared here, later

in the translation unit
   In file included from
/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:21:0:

/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:
In instantiation of ‘bool osgwTools::transparentDisable(T*, bool) [with T =
osg::Geode]’:


/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:144:32:
   required from here

/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:138:5:
error: ‘isTransparent’ was not declared in this scope, and no declarations were

found by argument-dependent lookup at the point of instantiation [-fpermissive]

/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:34:6:
note: ‘bool osgwTools::isTransparent(const osg::StateSet*)’ declared here, later

in the translation unit
   In file included from
/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:21:0:

/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:
In instantiation of ‘bool osgwTools::transparentDisable(T*, bool) [with T =
osg::Drawable]’:


/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:149:54:
   required from here

/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/include/osgwTools/TransparencyUtils.h:138:5:
error: ‘isTransparent’ was not declared in this scope, and no declarations were

found by argument-dependent lookup at the point of instantiation [-fpermissive]

/home/enric/ros_workspace/underwater_simulation/osgWorks/build/osgw2/src/osgwTools/TransparencyUtils.cpp:34:6:
note: ‘bool osgwTools::isTransparent(const osg::StateSet*)’ declared here, later

in the translation unit

--
You received this message because you are subscribed to the Google Groups
"osgworks-users" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/osgworks-users/-/puMlccOI9nMJ.
To post to this group, send email to osgworks-users@googlegroups.com.

To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/osgworks-users?hl=en.
--
You received this message because you are subscribed to the Google Groups "osgworks-users" group.
To post to this group, send email to osgworks-users@googlegroups.com.
To unsubscribe from this group, send email to osgworks-users+unsubscribe@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/osgworks-users?hl=en.




--

Enric.

Paul Martz

unread,
Dec 3, 2012, 12:29:16 PM12/3/12
to osgwork...@googlegroups.com
Your compiler seems messed up.

I don't know what to suggest as a workaround short of moving the function body
for isTransparent() from the .cpp file into the .h file.
-Paul


On 12/3/2012 10:21 AM, Enric Galceran wrote:
> I just did svn co on the trunk.
>
>
> On Mon, Dec 3, 2012 at 6:06 PM, Paul Martz <pma...@skew-matrix.com
> <mailto:pma...@skew-matrix.com>> wrote:
>
> Hm That's a mystery, as this code has been compiling on multiple platforms
> for some time now.
>
> What version of osgWorks are you using? The reason I ask is that the
> compiler is displaying an error for TransparencyUtils.h:138, but that line
> is blank in current svn trunk.
>
> I have no idea why the compiler wouldn't be able to find isTransparent(). It
> is declared at TransparencyUtils.h line 123.
>
> If you fix this, please post a patch.
> -Paul
>
>
>
> On 12/3/2012 9:32 AM, Enric Galceran wrote:
>
> Hi,
>
> I get the following error when trying to build osgworks. I'm using
> latest trunk
> on Ubuntu Quantal, 64 bits.
>
> Any clues?
>
> Thank you.
>
> [ 1%] Built target osgwControls
> [ 3%] Building CXX object
> src/osgwTools/CMakeFiles/__osgwTools.dir/__TransparencyUtils.cpp.o
> In file included from
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/src/__osgwTools/TransparencyUtils.__cpp:21:0:
>
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/include/__osgwTools/TransparencyUtils.h:
> In instantiation of �bool osgwTools::transparentDisable(__T*, bool)
> [with T =
> osg::Node]�:
>
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/src/__osgwTools/TransparencyUtils.__cpp:136:31:
> required from here
>
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/include/__osgwTools/TransparencyUtils.h:__138:5:
> error: �isTransparent� was not declared in this scope, and no
> declarations were
> found by argument-dependent lookup at the point of instantiation
> [-fpermissive]
>
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/src/__osgwTools/TransparencyUtils.__cpp:34:6:
> note: �bool osgwTools::isTransparent(const osg::StateSet*)� declared
> here, later
> in the translation unit
> In file included from
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/src/__osgwTools/TransparencyUtils.__cpp:21:0:
>
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/include/__osgwTools/TransparencyUtils.h:
> In instantiation of �bool osgwTools::transparentDisable(__T*, bool)
> [with T =
> osg::Geode]�:
>
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/src/__osgwTools/TransparencyUtils.__cpp:144:32:
> required from here
>
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/include/__osgwTools/TransparencyUtils.h:__138:5:
> error: �isTransparent� was not declared in this scope, and no
> declarations were
> found by argument-dependent lookup at the point of instantiation
> [-fpermissive]
>
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/src/__osgwTools/TransparencyUtils.__cpp:34:6:
> note: �bool osgwTools::isTransparent(const osg::StateSet*)� declared
> here, later
> in the translation unit
> In file included from
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/src/__osgwTools/TransparencyUtils.__cpp:21:0:
>
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/include/__osgwTools/TransparencyUtils.h:
> In instantiation of �bool osgwTools::transparentDisable(__T*, bool)
> [with T =
> osg::Drawable]�:
>
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/src/__osgwTools/TransparencyUtils.__cpp:149:54:
> required from here
>
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/include/__osgwTools/TransparencyUtils.h:__138:5:
> error: �isTransparent� was not declared in this scope, and no
> declarations were
> found by argument-dependent lookup at the point of instantiation
> [-fpermissive]
>
> /home/enric/ros_workspace/__underwater_simulation/__osgWorks/build/osgw2/src/__osgwTools/TransparencyUtils.__cpp:34:6:
> note: �bool osgwTools::isTransparent(const osg::StateSet*)� declared
> here, later
> in the translation unit
>
> --
> You received this message because you are subscribed to the Google Groups
> "osgworks-users" group.
> To view this discussion on the web visit
> https://groups.google.com/d/__msg/osgworks-users/-/__puMlccOI9nMJ
> <https://groups.google.com/d/msg/osgworks-users/-/puMlccOI9nMJ>.
> To post to this group, send email to osgworks-users@googlegroups.__com
> <mailto:osgwork...@googlegroups.com>.
> To unsubscribe from this group, send email to
> osgworks-users+unsubscribe@__googlegroups.com
> <mailto:osgworks-users%2Bunsu...@googlegroups.com>.
> For more options, visit this group at
> http://groups.google.com/__group/osgworks-users?hl=en
> <http://groups.google.com/group/osgworks-users?hl=en>.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "osgworks-users" group.
> To post to this group, send email to osgworks-users@googlegroups.__com
> <mailto:osgwork...@googlegroups.com>.
> To unsubscribe from this group, send email to
> osgworks-users+unsubscribe@__googlegroups.com
> <mailto:osgworks-users%2Bunsu...@googlegroups.com>.
> For more options, visit this group at
> http://groups.google.com/__group/osgworks-users?hl=en
> <http://groups.google.com/group/osgworks-users?hl=en>.
>
>
>
>
> --
>
> Enric.
>
> --
> You received this message because you are subscribed to the Google Groups
> "osgworks-users" group.
> To post to this group, send email to osgwork...@googlegroups.com.
> To unsubscribe from this group, send email to
> osgworks-user...@googlegroups.com.

Doug McCorkle

unread,
Dec 3, 2012, 12:56:18 PM12/3/12
to osgwork...@googlegroups.com
On Mon, Dec 3, 2012 at 11:29 AM, Paul Martz <pma...@skew-matrix.com> wrote:
> Your compiler seems messed up.
>
> I don't know what to suggest as a workaround short of moving the function
> body for isTransparent() from the .cpp file into the .h file.
> -Paul
>

Yes, we compile osgWorks on 7 different platforms regularly without problems.

Doug

Enric Galceran

unread,
Dec 3, 2012, 4:23:53 PM12/3/12
to osgwork...@googlegroups.com
OK, source is compiling cleanly out of the ROS (www.ros.org) package where I was building it. Therefore something must be wrong with that.

Thanks for your help guys.

--
You received this message because you are subscribed to the Google Groups "osgworks-users" group.
To post to this group, send email to osgwork...@googlegroups.com.
To unsubscribe from this group, send email to osgworks-user...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/osgworks-users?hl=en.




--

Enric.

Doug McCorkle

unread,
Dec 3, 2012, 4:33:50 PM12/3/12
to osgwork...@googlegroups.com
We definitely are not compiling on that platform.... Did you get OSG to compile on that platform?

Doug

Enric Galceran

unread,
Dec 3, 2012, 5:20:29 PM12/3/12
to osgwork...@googlegroups.com
ROS is not a platform on its own, it's just a set of software packages mainly targeted for Ubuntu. It provides a set of extensions to CMake for building. OSG compiled cleanly using these tools, but osgWorks didn't. But again, this is certainly some problem not related to the osgWorks package.

--
You received this message because you are subscribed to the Google Groups "osgworks-users" group.
To post to this group, send email to osgwork...@googlegroups.com.
To unsubscribe from this group, send email to osgworks-user...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/osgworks-users?hl=en.




--

Enric.

Doug McCorkle

unread,
Dec 3, 2012, 5:35:21 PM12/3/12
to osgwork...@googlegroups.com
Interesting. Ubuntu is one of the platforms we regularly build on so I would imagine the problem is something to do with the ROS cmake extensions as you suspect.

Doug

Paul Martz

unread,
Dec 3, 2012, 5:39:08 PM12/3/12
to osgwork...@googlegroups.com
I'd be interested in knowing more about those CMake extensions. Not sure how
they could cause problems with compiling templates. The compiler errors did
mention something about "-fpermissive", did you play with that option at all?
I'm not familiar with it.
-Paul

Doug McCorkle

unread,
Dec 3, 2012, 6:03:24 PM12/3/12
to osgwork...@googlegroups.com
I am guessing that somehow the extensions are overriding default settings for the compiler or something. Their CMake modules could be getting picked up before the default CMake ones are.

Doug

Enric Galceran

unread,
Dec 4, 2012, 3:24:05 AM12/4/12
to osgwork...@googlegroups.com
No, I did not play with "-fpermissive" on purpose, but maybe those CMake extensions (as pointed out) set that by default. Not sure. More about these extensions can be found here: http://www.ros.org/wiki/rosmake
--

Enric.

Alex Lee

unread,
Feb 10, 2013, 2:50:13 AM2/10/13
to osgwork...@googlegroups.com
The problem seems to be a change in behavior with the new GCC 4.7 . See "Name lookup changes" in http://gcc.gnu.org/gcc-4.7/porting_to.html . With this version, a function needs to be declared before it's used.
I attached a patch.
isTransparent.patch

Doug McCorkle

unread,
Feb 10, 2013, 10:10:09 AM2/10/13
to osgwork...@googlegroups.com
Hello Alex,

I think you need to update to a more current revision of osgWorks. This was corrected here:

https://code.google.com/p/osgworks/source/detail?spec=svn482&r=392

Doug
> To unsubscribe from this group and stop receiving emails from it, send an email to osgworks-user...@googlegroups.com.
> To post to this group, send email to osgwork...@googlegroups.com.
> Visit this group at http://groups.google.com/group/osgworks-users?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
> <isTransparent.patch>

Dmitry Alexandrovsky

unread,
Apr 14, 2013, 6:21:41 PM4/14/13
to osgwork...@googlegroups.com
Had the same Problem,
Thanks.

Doug McCorkle

unread,
Apr 14, 2013, 9:52:04 PM4/14/13
to osgwork...@googlegroups.com
Are you building on 12.10? We are not seeing these errors when building with trunk on ubuntu 12.10. Can you provide a patch?

Doug
Reply all
Reply to author
Forward
0 new messages