public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-user] Nightshade compiling failed
@ 2012-10-09 17:06 Jacques Montier
  2012-10-09 18:37 ` mindrunner
  2012-10-09 18:43 ` mindrunner
  0 siblings, 2 replies; 9+ messages in thread
From: Jacques Montier @ 2012-10-09 17:06 UTC (permalink / raw
  To: gentoo-user@lists.gentoo.org

[-- Attachment #1: Type: text/plain, Size: 1509 bytes --]

Hi everybody,

Since a few months i have a problem about compiling Nightshade soft.
Nightshade is a full dome planetarium opensource software.
http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
Nightshade is not in portage so i have to manually install it (./configure,
make and make install).
make fails with errors :

-------------------------
In file included from /usr/include/boost/container/map.hpp:26:0,
                 from /usr/include/boost/interprocess/containers/map.hpp:19,
                 from nshade_shared_memory.h:34,
                 from nshade_shared_memory.cpp:30:
------------------------
-----------------------
boost::interprocess::iset_index> > >, bool is_iterator = false, P0 =
std::less<boost::uuids::uuid>, P1 =
boost::interprocess::allocator<boost::container::container_detail::pair<boost::uuids::uuid,
boost::interprocess::offset_ptr<NshadeSharedMemoryConnection> >,
boost::interprocess::segment_manager<char,
boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>,
boost::interprocess::iset_index> >, size_t = long unsigned int]’
nshade_shared_memory.cpp:251:1:   instantiated from here
/usr/include/boost/container/map.hpp:147:1: erreur: invalid application of
‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’
make[4]: *** [nshade_shared_memory.lo] Erreur 1

I don't know how to solve that problem.
Have you any idea about it ?
Thank you very much,

Cheers,

--
Jacques

[-- Attachment #2: Type: text/html, Size: 1967 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-user] Nightshade compiling failed
  2012-10-09 17:06 [gentoo-user] Nightshade compiling failed Jacques Montier
@ 2012-10-09 18:37 ` mindrunner
  2012-10-09 20:53   ` Jacques Montier
  2012-10-09 18:43 ` mindrunner
  1 sibling, 1 reply; 9+ messages in thread
From: mindrunner @ 2012-10-09 18:37 UTC (permalink / raw
  To: gentoo-user

Hi,
I always prefer to NOT install software this way into my gentoo. Instead
of this I first check http://gpo.zugaina.org/ if there is already an
ebuild or outdated ebuild for this piece of software. If not I begin to
develop my own ebuild.

In this case there is already one (sabayon-overlay). However, you should
NOT add sabayon overlay into your gentoo box. I got some weird problems
doing this some time ago. I think this shoul only be used in sabayon
distro, but I dont know exactly.

If you want to, I could copy it into my overlay (luman), which should be
more safe not bricking your whole gentoo box.

Yeah, I know... you asked sth. completely different, but in my opinion,
you should better do this way...

KLooking at you Problem tells me that you got a boost problem. Maybe
wrong version you compile against?

Since I am writing my bachelor thesis right now, I have only little
spartetime, but if you want to we could try to make a working ebuild on
base of the sabayon one.


regards
Lukas


On 10/09/2012 07:06 PM, Jacques Montier wrote:
> Hi everybody,
> 
> Since a few months i have a problem about compiling Nightshade soft.
> Nightshade is a full dome planetarium opensource software.
> http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
> Nightshade is not in portage so i have to manually install it
> (./configure, make and make install).
> make fails with errors :
> 
> -------------------------
> In file included from /usr/include/boost/container/map.hpp:26:0,
>                  from /usr/include/boost/interprocess/containers/map.hpp:19,
>                  from nshade_shared_memory.h:34,
>                  from nshade_shared_memory.cpp:30:
> ------------------------
> -----------------------
> boost::interprocess::iset_index> > >, bool is_iterator = false, P0 =
> std::less<boost::uuids::uuid>, P1 =
> boost::interprocess::allocator<boost::container::container_detail::pair<boost::uuids::uuid,
> boost::interprocess::offset_ptr<NshadeSharedMemoryConnection> >,
> boost::interprocess::segment_manager<char,
> boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>,
> boost::interprocess::iset_index> >, size_t = long unsigned int]’
> nshade_shared_memory.cpp:251:1:   instantiated from here
> /usr/include/boost/container/map.hpp:147:1: erreur: invalid application
> of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’ 
> make[4]: *** [nshade_shared_memory.lo] Erreur 1
> 
> I don't know how to solve that problem.
> Have you any idea about it ?
> Thank you very much,
> 
> Cheers,
> 
> --
> Jacques


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-user] Nightshade compiling failed
  2012-10-09 17:06 [gentoo-user] Nightshade compiling failed Jacques Montier
  2012-10-09 18:37 ` mindrunner
@ 2012-10-09 18:43 ` mindrunner
  1 sibling, 0 replies; 9+ messages in thread
From: mindrunner @ 2012-10-09 18:43 UTC (permalink / raw
  To: gentoo-user

The Link you postet is outdated. I copied the ebuild to my overlay and
will try with the most recent version.
Lets see if the Problem persists....

On 10/09/2012 07:06 PM, Jacques Montier wrote:
> Hi everybody,
> 
> Since a few months i have a problem about compiling Nightshade soft.
> Nightshade is a full dome planetarium opensource software.
> http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
> Nightshade is not in portage so i have to manually install it
> (./configure, make and make install).
> make fails with errors :
> 
> -------------------------
> In file included from /usr/include/boost/container/map.hpp:26:0,
>                  from /usr/include/boost/interprocess/containers/map.hpp:19,
>                  from nshade_shared_memory.h:34,
>                  from nshade_shared_memory.cpp:30:
> ------------------------
> -----------------------
> boost::interprocess::iset_index> > >, bool is_iterator = false, P0 =
> std::less<boost::uuids::uuid>, P1 =
> boost::interprocess::allocator<boost::container::container_detail::pair<boost::uuids::uuid,
> boost::interprocess::offset_ptr<NshadeSharedMemoryConnection> >,
> boost::interprocess::segment_manager<char,
> boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>,
> boost::interprocess::iset_index> >, size_t = long unsigned int]’
> nshade_shared_memory.cpp:251:1:   instantiated from here
> /usr/include/boost/container/map.hpp:147:1: erreur: invalid application
> of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’ 
> make[4]: *** [nshade_shared_memory.lo] Erreur 1
> 
> I don't know how to solve that problem.
> Have you any idea about it ?
> Thank you very much,
> 
> Cheers,
> 
> --
> Jacques


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-user] Nightshade compiling failed
  2012-10-09 18:37 ` mindrunner
@ 2012-10-09 20:53   ` Jacques Montier
  2012-10-09 22:46     ` mindrunner
  0 siblings, 1 reply; 9+ messages in thread
From: Jacques Montier @ 2012-10-09 20:53 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 3504 bytes --]

Hi ,

Thank you Lukas for your post.
The Nighshade soft i use is a LSS version compiled for small planetariums
by Yves Lhoumeau and Lionel Ruiz.
I can only get the sources here :
http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
The sabayon Nightshade ebuild is different .
I agree with you, i very much prefer to install packages using ebuilds, but
i am afraid i am not able to develop any ebuild...
Sorry... :-(
Some months ago i successfully compiled Nightshade with boost-1.46.1-r1 ;
but unfortunately it does not anymore compile even with the same boost
version...

Thank you again,

Cheers,

--
Jacques


2012/10/9 mindrunner <kernel@ccube.de>

> Hi,
> I always prefer to NOT install software this way into my gentoo. Instead
> of this I first check http://gpo.zugaina.org/ if there is already an
> ebuild or outdated ebuild for this piece of software. If not I begin to
> develop my own ebuild.
>
> In this case there is already one (sabayon-overlay). However, you should
> NOT add sabayon overlay into your gentoo box. I got some weird problems
> doing this some time ago. I think this shoul only be used in sabayon
> distro, but I dont know exactly.
>
> If you want to, I could copy it into my overlay (luman), which should be
> more safe not bricking your whole gentoo box.
>
> Yeah, I know... you asked sth. completely different, but in my opinion,
> you should better do this way...
>
> KLooking at you Problem tells me that you got a boost problem. Maybe
> wrong version you compile against?
>
> Since I am writing my bachelor thesis right now, I have only little
> spartetime, but if you want to we could try to make a working ebuild on
> base of the sabayon one.
>
>
> regards
> Lukas
>
>
> On 10/09/2012 07:06 PM, Jacques Montier wrote:
> > Hi everybody,
> >
> > Since a few months i have a problem about compiling Nightshade soft.
> > Nightshade is a full dome planetarium opensource software.
> >
> http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
> > Nightshade is not in portage so i have to manually install it
> > (./configure, make and make install).
> > make fails with errors :
> >
> > -------------------------
> > In file included from /usr/include/boost/container/map.hpp:26:0,
> >                  from
> /usr/include/boost/interprocess/containers/map.hpp:19,
> >                  from nshade_shared_memory.h:34,
> >                  from nshade_shared_memory.cpp:30:
> > ------------------------
> > -----------------------
> > boost::interprocess::iset_index> > >, bool is_iterator = false, P0 =
> > std::less<boost::uuids::uuid>, P1 =
> >
> boost::interprocess::allocator<boost::container::container_detail::pair<boost::uuids::uuid,
> > boost::interprocess::offset_ptr<NshadeSharedMemoryConnection> >,
> > boost::interprocess::segment_manager<char,
> > boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>,
> > boost::interprocess::iset_index> >, size_t = long unsigned int]’
> > nshade_shared_memory.cpp:251:1:   instantiated from here
> > /usr/include/boost/container/map.hpp:147:1: erreur: invalid application
> > of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’
> > make[4]: *** [nshade_shared_memory.lo] Erreur 1
> >
> > I don't know how to solve that problem.
> > Have you any idea about it ?
> > Thank you very much,
> >
> > Cheers,
> >
> > --
> > Jacques
>
>

[-- Attachment #2: Type: text/html, Size: 4556 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-user] Nightshade compiling failed
  2012-10-09 20:53   ` Jacques Montier
@ 2012-10-09 22:46     ` mindrunner
  2012-10-10  8:28       ` Jacques Montier
  0 siblings, 1 reply; 9+ messages in thread
From: mindrunner @ 2012-10-09 22:46 UTC (permalink / raw
  To: gentoo-user

Hi,
i stepped little further in the last hours. I copied the ebuild to my
layman overlay (luman) and tried to emerge. I got the same error you got
compiling your special version!
At the moment I am cloning the official bzr repository (>1GB) which
means waiting a long time at 1mbit DSL :(
When cloned, I will dig some more into the sources.

the error we get here points to some wrong usage of the boost container,
but i cannot tell any more right now.

what exactly is the difference to your ns-version compared to vanilla one?

I think just replacing version number and url should provide you a
working ebuild.
we can try this after compiling vanilla sucesfull.


lukas

On 10/09/2012 10:53 PM, Jacques Montier wrote:
> Hi ,
> 
> Thank you Lukas for your post.
> The Nighshade soft i use is a LSS version compiled for small
> planetariums by Yves Lhoumeau and Lionel Ruiz.
> I can only get the sources here :
> http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
> The sabayon Nightshade ebuild is different .
> I agree with you, i very much prefer to install packages using ebuilds,
> but i am afraid i am not able to develop any ebuild...
> Sorry... :-(
> Some months ago i successfully compiled Nightshade with boost-1.46.1-r1
> ; but unfortunately it does not anymore compile even with the same boost
> version...
> 
> Thank you again,
> 
> Cheers,
> 
> --
> Jacques
> 
> 
> 2012/10/9 mindrunner <kernel@ccube.de <mailto:kernel@ccube.de>>
> 
>     Hi,
>     I always prefer to NOT install software this way into my gentoo. Instead
>     of this I first check http://gpo.zugaina.org/ if there is already an
>     ebuild or outdated ebuild for this piece of software. If not I begin to
>     develop my own ebuild.
> 
>     In this case there is already one (sabayon-overlay). However, you should
>     NOT add sabayon overlay into your gentoo box. I got some weird problems
>     doing this some time ago. I think this shoul only be used in sabayon
>     distro, but I dont know exactly.
> 
>     If you want to, I could copy it into my overlay (luman), which should be
>     more safe not bricking your whole gentoo box.
> 
>     Yeah, I know... you asked sth. completely different, but in my opinion,
>     you should better do this way...
> 
>     KLooking at you Problem tells me that you got a boost problem. Maybe
>     wrong version you compile against?
> 
>     Since I am writing my bachelor thesis right now, I have only little
>     spartetime, but if you want to we could try to make a working ebuild on
>     base of the sabayon one.
> 
> 
>     regards
>     Lukas
> 
> 
>     On 10/09/2012 07:06 PM, Jacques Montier wrote:
>     > Hi everybody,
>     >
>     > Since a few months i have a problem about compiling Nightshade soft.
>     > Nightshade is a full dome planetarium opensource software.
>     >
>     http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
>     > Nightshade is not in portage so i have to manually install it
>     > (./configure, make and make install).
>     > make fails with errors :
>     >
>     > -------------------------
>     > In file included from /usr/include/boost/container/map.hpp:26:0,
>     >                  from
>     /usr/include/boost/interprocess/containers/map.hpp:19,
>     >                  from nshade_shared_memory.h:34,
>     >                  from nshade_shared_memory.cpp:30:
>     > ------------------------
>     > -----------------------
>     > boost::interprocess::iset_index> > >, bool is_iterator = false, P0 =
>     > std::less<boost::uuids::uuid>, P1 =
>     >
>     boost::interprocess::allocator<boost::container::container_detail::pair<boost::uuids::uuid,
>     > boost::interprocess::offset_ptr<NshadeSharedMemoryConnection> >,
>     > boost::interprocess::segment_manager<char,
>     >
>     boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>,
>     > boost::interprocess::iset_index> >, size_t = long unsigned int]’
>     > nshade_shared_memory.cpp:251:1:   instantiated from here
>     > /usr/include/boost/container/map.hpp:147:1: erreur: invalid
>     application
>     > of ‘sizeof’ to incomplete type
>     ‘boost::STATIC_ASSERTION_FAILURE<false>’
>     > make[4]: *** [nshade_shared_memory.lo] Erreur 1
>     >
>     > I don't know how to solve that problem.
>     > Have you any idea about it ?
>     > Thank you very much,
>     >
>     > Cheers,
>     >
>     > --
>     > Jacques
> 
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-user] Nightshade compiling failed
  2012-10-09 22:46     ` mindrunner
@ 2012-10-10  8:28       ` Jacques Montier
  2012-10-10 10:31         ` Jacques Montier
  0 siblings, 1 reply; 9+ messages in thread
From: Jacques Montier @ 2012-10-10  8:28 UTC (permalink / raw
  To: gentoo-user


[-- Attachment #1.1: Type: text/plain, Size: 5846 bytes --]

Hi,

Thank you Lukas for looking at my problem.
The LSS-version of Nightshade is a clone of the official Nightsade version
+ keyboard shortcuts which can launch scripts, videos and music.
Each key of the 105 keys has a special function and it is specially
designed for a planetarium public show.
With bluetooth modules, we can drive the show with a Nintendo Wii remote ;
very useful.
http://www.lss-planetariums.info/index.php?lang=en&menu=hardware&page=keyboard

I tried to compile Nightshade-LSS on Ubuntu-12, Linux Mint and Mageia2 via
VirtualBox and i get exactly the same errors.
So, i think it is not a Gentoo problem...but nevertheless very annoying :-(

I looked at the Nightshade-LSS sources and it seems that the error occurs
with the nshade_shared_memory.h and nshade_shared_memory.cpp in
 ~/nightshade-11.7.1/nscontrol/src
I join the two files ; may be these files would help us.

Thank you very much,

--
Jacques






2012/10/10 mindrunner <kernel@ccube.de>

> Hi,
> i stepped little further in the last hours. I copied the ebuild to my
> layman overlay (luman) and tried to emerge. I got the same error you got
> compiling your special version!
> At the moment I am cloning the official bzr repository (>1GB) which
> means waiting a long time at 1mbit DSL :(
> When cloned, I will dig some more into the sources.
>
> the error we get here points to some wrong usage of the boost container,
> but i cannot tell any more right now.
>
> what exactly is the difference to your ns-version compared to vanilla one?
>
> I think just replacing version number and url should provide you a
> working ebuild.
> we can try this after compiling vanilla sucesfull.
>
>
> lukas
>
> On 10/09/2012 10:53 PM, Jacques Montier wrote:
> > Hi ,
> >
> > Thank you Lukas for your post.
> > The Nighshade soft i use is a LSS version compiled for small
> > planetariums by Yves Lhoumeau and Lionel Ruiz.
> > I can only get the sources here :
> >
> http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
> > The sabayon Nightshade ebuild is different .
> > I agree with you, i very much prefer to install packages using ebuilds,
> > but i am afraid i am not able to develop any ebuild...
> > Sorry... :-(
> > Some months ago i successfully compiled Nightshade with boost-1.46.1-r1
> > ; but unfortunately it does not anymore compile even with the same boost
> > version...
> >
> > Thank you again,
> >
> > Cheers,
> >
> > --
> > Jacques
> >
> >
> > 2012/10/9 mindrunner <kernel@ccube.de <mailto:kernel@ccube.de>>
> >
> >     Hi,
> >     I always prefer to NOT install software this way into my gentoo.
> Instead
> >     of this I first check http://gpo.zugaina.org/ if there is already an
> >     ebuild or outdated ebuild for this piece of software. If not I begin
> to
> >     develop my own ebuild.
> >
> >     In this case there is already one (sabayon-overlay). However, you
> should
> >     NOT add sabayon overlay into your gentoo box. I got some weird
> problems
> >     doing this some time ago. I think this shoul only be used in sabayon
> >     distro, but I dont know exactly.
> >
> >     If you want to, I could copy it into my overlay (luman), which
> should be
> >     more safe not bricking your whole gentoo box.
> >
> >     Yeah, I know... you asked sth. completely different, but in my
> opinion,
> >     you should better do this way...
> >
> >     KLooking at you Problem tells me that you got a boost problem. Maybe
> >     wrong version you compile against?
> >
> >     Since I am writing my bachelor thesis right now, I have only little
> >     spartetime, but if you want to we could try to make a working ebuild
> on
> >     base of the sabayon one.
> >
> >
> >     regards
> >     Lukas
> >
> >
> >     On 10/09/2012 07:06 PM, Jacques Montier wrote:
> >     > Hi everybody,
> >     >
> >     > Since a few months i have a problem about compiling Nightshade
> soft.
> >     > Nightshade is a full dome planetarium opensource software.
> >     >
> >
> http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
> >     > Nightshade is not in portage so i have to manually install it
> >     > (./configure, make and make install).
> >     > make fails with errors :
> >     >
> >     > -------------------------
> >     > In file included from /usr/include/boost/container/map.hpp:26:0,
> >     >                  from
> >     /usr/include/boost/interprocess/containers/map.hpp:19,
> >     >                  from nshade_shared_memory.h:34,
> >     >                  from nshade_shared_memory.cpp:30:
> >     > ------------------------
> >     > -----------------------
> >     > boost::interprocess::iset_index> > >, bool is_iterator = false, P0
> =
> >     > std::less<boost::uuids::uuid>, P1 =
> >     >
> >
> boost::interprocess::allocator<boost::container::container_detail::pair<boost::uuids::uuid,
> >     > boost::interprocess::offset_ptr<NshadeSharedMemoryConnection> >,
> >     > boost::interprocess::segment_manager<char,
> >     >
> >
> boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>,
> >     > boost::interprocess::iset_index> >, size_t = long unsigned int]’
> >     > nshade_shared_memory.cpp:251:1:   instantiated from here
> >     > /usr/include/boost/container/map.hpp:147:1: erreur: invalid
> >     application
> >     > of ‘sizeof’ to incomplete type
> >     ‘boost::STATIC_ASSERTION_FAILURE<false>’
> >     > make[4]: *** [nshade_shared_memory.lo] Erreur 1
> >     >
> >     > I don't know how to solve that problem.
> >     > Have you any idea about it ?
> >     > Thank you very much,
> >     >
> >     > Cheers,
> >     >
> >     > --
> >     > Jacques
> >
> >
>
>

[-- Attachment #1.2: Type: text/html, Size: 7600 bytes --]

[-- Attachment #2: nshade_shared_memory.cpp --]
[-- Type: text/x-c++src, Size: 7811 bytes --]

/*
 * Copyright (C) 2010 Digitalis Education Solutions, Inc.
 * Author: Trystan Larey-Williams
 * Date: 2-22-2010
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 3
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 * Nightshade is a trademark of Digitalis Education Solutions, Inc.
 * See the TRADEMARKS file for trademark usage requirements.
 *
 */

/*
 * Helper class to manage named shared memory resources wraps read and write
 * calls in mutex for IPC safety
 */

#include "nshade_shared_memory.h"

using namespace boost::interprocess;
using namespace std;

NshadeSharedMemory::NshadeSharedMemory() {
	m_clsid = boost::uuids::random_generator()();
	m_shm = new managed_shared_memory( open_or_create, "/nightshadeSM", 4096000 );
    
	const ShmAlloc allocator( m_shm->get_segment_manager() );
	m_connections = m_shm->find_or_construct<ShmMap>(unique_instance)(std::less<boost::uuids::uuid>(), allocator);
	m_mutex       = m_shm->find_or_construct<interprocess_mutex>("global_mutex")();
	m_readerMutex = m_shm->find_or_construct<interprocess_mutex>("reader_mutex")();
	m_writerMutex = m_shm->find_or_construct<interprocess_mutex>("writer_mutex")();
	m_writeState  = m_shm->find_or_construct<NshadeWriteState>(unique_instance)(m_shm);
	m_readState   = m_shm->find_or_construct<NshadeReadState>(unique_instance)(m_shm);
	m_refCount    = m_shm->find_or_construct<ReferenceCounter>(unique_instance)();
	m_nsConf      = m_shm->find_or_construct<NshadeConf>(unique_instance)(m_shm);
	m_readPtr     = m_shm->find_or_construct<RTQPtr>("read_ptr")();
	m_writePtr    = m_shm->find_or_construct<RTQPtr>("write_ptr")();
	m_RTQGap      = m_shm->find_or_construct<RTQGap>(unique_instance)();

	if( m_refCount->m_ref == 0 ) {
		cout << "Nightshade Shared Memory Segment Initialized.\n";

		// Initialize 'fast' circular message buffer
		*m_writePtr = m_shm->construct<RTQueueNode>(anonymous_instance)();
		offset_ptr<RTQueueNode> tmp = *m_writePtr;
		for( unsigned int i = 0; i < RTQSIZE; i++ ) {
			tmp->next = m_shm->construct<RTQueueNode>(anonymous_instance)();
			tmp = tmp->next;
		}
		*m_readPtr = tmp;	     // Initialize reader one node behind writer
		tmp->next = *m_writePtr; // Close the circle
		*m_RTQGap = 1;
	}

	m_refCount->m_ref++;
	m_clientType = NshadeSharedMemoryConnection::user;
}

NshadeSharedMemory::~NshadeSharedMemory() {
	if( --m_refCount->m_ref == 0 ) {
		// Remove any unreleased connection objects
		for( ShmMap::iterator itr = m_connections->begin(); itr != m_connections->end(); itr++ ) {
			m_shm->destroy_ptr( (itr->second).get() );
		}
		m_connections->clear();

		// Cleanup shared instances
		try {
			m_shm->destroy<interprocess_mutex>("global_mutex");
			m_shm->destroy<interprocess_mutex>("reader_mutex");
			m_shm->destroy<interprocess_mutex>("writer_mutex");
			m_shm->destroy<NshadeReadState>(unique_instance);
			m_shm->destroy<NshadeWriteState>(unique_instance);
			m_shm->destroy<RTQPtr>("read_ptr");
			m_shm->destroy<RTQPtr>("write_ptr");
			m_shm->destroy<RTQGap>(unique_instance);
			m_shm->destroy<NshadeConf>(unique_instance);
			m_shm->destroy<ReferenceCounter>(unique_instance);
			m_shm->destroy<ShmMap>(unique_instance);
		}
		catch( ... ) {
			printf("Warning: Not all shared memory objects could be destroyed.\n");
		}

		// Tear-down shared memory
		delete m_shm;
		shared_memory_object::remove( "nightshadeSM" );
		cout << "Nightshade Shared Memory Segment Removed.\n";
	}
	else
		delete m_shm;
}

void NshadeSharedMemory::Connect( void ) {
	m_mutex->lock();
	if( m_connections->find(m_clsid) == m_connections->end() ) {
		offset_ptr<NshadeSharedMemoryConnection> obj = m_shm->construct<NshadeSharedMemoryConnection>(anonymous_instance)( m_shm );
		obj->SetOwner( m_clsid );
		obj->SetClientType( m_clientType );
		(*m_connections)[m_clsid] = obj;
	}
	m_mutex->unlock();
}

void NshadeSharedMemory::Disconnect( void ) {
	m_mutex->lock();
	ShmMap::iterator itr = m_connections->find(m_clsid);
	if( itr != m_connections->end() ) {
		m_shm->destroy_ptr( (itr->second).get() );
		m_connections->erase( m_clsid );
	}
	m_mutex->unlock();
}

boost::interprocess::offset_ptr<NshadeConf> NshadeSharedMemory::Config( void ) {
	return m_nsConf;
}

void NshadeSharedMemory::SetClientType( NshadeSharedMemoryConnection::Type type ) {
	m_clientType = type;
}

bool NshadeSharedMemory::TryLock() {
	return m_mutex->try_lock();
}

void NshadeSharedMemory::Lock() {
	m_mutex->lock();
}

void NshadeSharedMemory::UnLock() {
	m_mutex->unlock();
}

bool NshadeSharedMemory::Read( std::string& data ) {
	bool have_data = false;
//	cerr << "Available Shared Memory: " << m_shm->get_segment_manager()->get_free_memory() << endl;

	m_mutex->lock();
	try {
		ShmMap::iterator itr = m_connections->find(m_clsid);
		if( itr !=  m_connections->end() && !itr->second->Empty() ) {
			have_data = true;
			NshadeCommand cmd = itr->second->DeQueue();
			data = std::string( cmd.buf, cmd.length );
		}
	}
	catch( std::exception& e ) {
		m_mutex->unlock();
		cerr << e.what() << endl;
		cerr << "Available Shared Memory: " << m_shm->get_segment_manager()->get_free_memory() << endl;
		throw e;
	}

	m_mutex->unlock();
	return have_data;
}

void NshadeSharedMemory::Write( std::string data ) {
	m_mutex->lock();
	try {
		NshadeCommand cmd;
		unsigned int len = data.length();
		if( len >= NshadeCommand::szBuf )
			len = NshadeCommand::szBuf - 1;

		memcpy( (void*)cmd.buf, (void*)data.c_str(), len );
		cmd.length = len;

		for( ShmMap::iterator itr = m_connections->begin(); itr != m_connections->end(); itr++ ) {
			if( itr->second->Owner() !=  m_clsid && itr->second->ClientType() != m_clientType ) {
				itr->second->Queue( cmd );
			}
		}
	}
	catch( std::exception& e ) {
		m_mutex->unlock();
		cerr << e.what() << endl;
		cerr << "Available Shared Memory: " << m_shm->get_segment_manager()->get_free_memory() << endl;
		throw e;
	}

	m_mutex->unlock();
}

///////////////////////////////////////////////////////////////////////////////
// Experimental performance oriented RW methods. Do not currently have much
// effect on performance in practice and more effort is needed to integrate and
// encapsulate their data structures.
///////////////////////////////////////////////////////////////////////////////

bool NshadeSharedMemory::ReadRT( std::string& data ) {
	m_readerMutex->lock();

	m_mutex->lock();
	bool empty = *m_RTQGap == 1;
	m_mutex->unlock();

	if( empty ) {
		m_readerMutex->unlock();
		return false;
	}

	*m_readPtr = (*m_readPtr)->next;
	data = std::string( (*m_readPtr)->msg.buf, (*m_readPtr)->msg.length );

	m_mutex->lock();
		--(*m_RTQGap);
	m_mutex->unlock();

	m_readerMutex->unlock();
	return true;
}

void NshadeSharedMemory::WriteRT( std::string data ) {
	m_writerMutex->lock();

	m_mutex->lock();
	bool full = *m_RTQGap == (RTQSIZE - 1);
	m_mutex->unlock();

	if( full ) {
		m_writerMutex->unlock();
		return;
	}

	unsigned int len = data.length();
	if( len >= NshadeCommand::szBuf )
		len = NshadeCommand::szBuf - 1;
	memcpy( (void*)(*m_writePtr)->msg.buf, (void*)data.c_str(), len );
	(*m_writePtr)->msg.length = len;
	*m_writePtr = (*m_writePtr)->next;

	m_mutex->lock();
		++(*m_RTQGap);
	m_mutex->unlock();

	m_writerMutex->unlock();
}


[-- Attachment #3: nshade_shared_memory.h --]
[-- Type: text/x-chdr, Size: 3855 bytes --]

/*
 * Copyright (C) 2010 Digitalis Education Solutions, Inc.
 * Author: Trystan Larey-Williams
 * Date: 2-22-2010
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 3
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 * Nightshade is a trademark of Digitalis Education Solutions, Inc.
 * See the TRADEMARKS file for trademark usage requirements.
 *
 */

/*
 * Helper class to manage named shared memory resources wraps read and write
 * calls in mutex for IPC safety
 */

#pragma once

#include "nshade_shared_memory_connection.h"
#include "nshade_state.h"
#include <boost/interprocess/containers/map.hpp>
#include <boost/interprocess/containers/pair.hpp>
#include <boost/interprocess/allocators/allocator.hpp>
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_generators.hpp>


// A single instance of this object is loaded into shared memory to track the number of active
// SharedMemory objects. When an instance of SharedMemory is destroyed it will check the count.
// If zero, the shared memory segment will be cleaned up and all shared data removed.
struct ReferenceCounter {
	ReferenceCounter() { m_ref = 0; };
	unsigned long m_ref;
};

class NshadeSharedMemory {
public:
	NshadeSharedMemory();
	virtual ~NshadeSharedMemory();

	void Connect( void );
	void Disconnect( void );
	bool ReadRT( std::string& data );
	void WriteRT( std::string data );
	bool Read( std::string& data );
	void Write( std::string data );
	boost::interprocess::offset_ptr<NshadeConf> Config( void );
	void SetClientType( NshadeSharedMemoryConnection::Type );

	// For nightshade suspend checking
	void Lock( void );
	void UnLock( void );
	bool TryLock( void );
	// end nightshade suspend checking

	boost::interprocess::offset_ptr<NshadeWriteState> m_writeState;
	boost::interprocess::offset_ptr<NshadeReadState> m_readState;

private:
	static const unsigned int RTQSIZE = 100;

	// Type definitions for IPC friendly linked-list container of connections to shared memory]
	typedef boost::interprocess::pair<boost::uuids::uuid,
			boost::interprocess::offset_ptr<NshadeSharedMemoryConnection> > ConnectionPair;

	typedef boost::interprocess::allocator<ConnectionPair,
			boost::interprocess::managed_shared_memory::segment_manager> ShmAlloc;

	typedef boost::interprocess::map<boost::uuids::uuid,
			boost::interprocess::offset_ptr<NshadeSharedMemoryConnection>, std::less<boost::uuids::uuid>, ShmAlloc> ShmMap;

	// Unique (for each process) pointer to shared memory
	boost::interprocess::managed_shared_memory* m_shm;

	// Pointers to shared objects within shared memory
	boost::interprocess::offset_ptr<NshadeConf> m_nsConf;
	boost::interprocess::offset_ptr<ReferenceCounter> m_refCount;
	boost::interprocess::offset_ptr<ShmMap> m_connections;
    boost::interprocess::offset_ptr<RTQPtr> m_writePtr;
	boost::interprocess::offset_ptr<RTQPtr> m_readPtr;
	boost::interprocess::offset_ptr<RTQGap> m_RTQGap;
	boost::interprocess::offset_ptr<boost::interprocess::interprocess_mutex> m_mutex;
	boost::interprocess::offset_ptr<boost::interprocess::interprocess_mutex> m_readerMutex;
	boost::interprocess::offset_ptr<boost::interprocess::interprocess_mutex> m_writerMutex;

	NshadeSharedMemoryConnection::Type m_clientType;
	boost::uuids::uuid m_clsid;
};

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-user] Nightshade compiling failed
  2012-10-10  8:28       ` Jacques Montier
@ 2012-10-10 10:31         ` Jacques Montier
  2012-10-11 11:38           ` mindrunner
  0 siblings, 1 reply; 9+ messages in thread
From: Jacques Montier @ 2012-10-10 10:31 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 6492 bytes --]

Hi,

I tried different versions of gcc and boost.
gcc-4.5.4 and boost-1.49.0-r1 : failed
gcc-4.5.4 and boost-1.46.1-r1 : failed
gcc-4.4.7 in a new slot and boost-1.49.0-r1 : failed.
gcc-4.4.7 in a new slot and boost-1.46.1-r1 : success !

So compiling Nightshade needs gcc-4.4.7 AND boost-1.46.1-r1.
Why the new versions don't work ? I really don't know.

Cheers,

--
Jacques



2012/10/10 Jacques Montier <jmontier@gmail.com>

> Hi,
>
> Thank you Lukas for looking at my problem.
> The LSS-version of Nightshade is a clone of the official Nightsade version
> + keyboard shortcuts which can launch scripts, videos and music.
>  Each key of the 105 keys has a special function and it is specially
> designed for a planetarium public show.
> With bluetooth modules, we can drive the show with a Nintendo Wii remote ;
> very useful.
>
> http://www.lss-planetariums.info/index.php?lang=en&menu=hardware&page=keyboard
>
> I tried to compile Nightshade-LSS on Ubuntu-12, Linux Mint and Mageia2 via
> VirtualBox and i get exactly the same errors.
> So, i think it is not a Gentoo problem...but nevertheless very annoying :-(
>
> I looked at the Nightshade-LSS sources and it seems that the error occurs
> with the nshade_shared_memory.h and nshade_shared_memory.cpp in
>  ~/nightshade-11.7.1/nscontrol/src
> I join the two files ; may be these files would help us.
>
> Thank you very much,
>
> --
> Jacques
>
>
>
>
>
>
> 2012/10/10 mindrunner <kernel@ccube.de>
>
>> Hi,
>> i stepped little further in the last hours. I copied the ebuild to my
>> layman overlay (luman) and tried to emerge. I got the same error you got
>> compiling your special version!
>> At the moment I am cloning the official bzr repository (>1GB) which
>> means waiting a long time at 1mbit DSL :(
>> When cloned, I will dig some more into the sources.
>>
>> the error we get here points to some wrong usage of the boost container,
>> but i cannot tell any more right now.
>>
>> what exactly is the difference to your ns-version compared to vanilla one?
>>
>> I think just replacing version number and url should provide you a
>> working ebuild.
>> we can try this after compiling vanilla sucesfull.
>>
>>
>> lukas
>>
>> On 10/09/2012 10:53 PM, Jacques Montier wrote:
>> > Hi ,
>> >
>> > Thank you Lukas for your post.
>> > The Nighshade soft i use is a LSS version compiled for small
>> > planetariums by Yves Lhoumeau and Lionel Ruiz.
>> > I can only get the sources here :
>> >
>> http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
>> > The sabayon Nightshade ebuild is different .
>> > I agree with you, i very much prefer to install packages using ebuilds,
>> > but i am afraid i am not able to develop any ebuild...
>> > Sorry... :-(
>> > Some months ago i successfully compiled Nightshade with boost-1.46.1-r1
>> > ; but unfortunately it does not anymore compile even with the same boost
>> > version...
>> >
>> > Thank you again,
>> >
>> > Cheers,
>> >
>> > --
>> > Jacques
>> >
>> >
>> > 2012/10/9 mindrunner <kernel@ccube.de <mailto:kernel@ccube.de>>
>> >
>> >     Hi,
>> >     I always prefer to NOT install software this way into my gentoo.
>> Instead
>> >     of this I first check http://gpo.zugaina.org/ if there is already
>> an
>> >     ebuild or outdated ebuild for this piece of software. If not I
>> begin to
>> >     develop my own ebuild.
>> >
>> >     In this case there is already one (sabayon-overlay). However, you
>> should
>> >     NOT add sabayon overlay into your gentoo box. I got some weird
>> problems
>> >     doing this some time ago. I think this shoul only be used in sabayon
>> >     distro, but I dont know exactly.
>> >
>> >     If you want to, I could copy it into my overlay (luman), which
>> should be
>> >     more safe not bricking your whole gentoo box.
>> >
>> >     Yeah, I know... you asked sth. completely different, but in my
>> opinion,
>> >     you should better do this way...
>> >
>> >     KLooking at you Problem tells me that you got a boost problem. Maybe
>> >     wrong version you compile against?
>> >
>> >     Since I am writing my bachelor thesis right now, I have only little
>> >     spartetime, but if you want to we could try to make a working
>> ebuild on
>> >     base of the sabayon one.
>> >
>> >
>> >     regards
>> >     Lukas
>> >
>> >
>> >     On 10/09/2012 07:06 PM, Jacques Montier wrote:
>> >     > Hi everybody,
>> >     >
>> >     > Since a few months i have a problem about compiling Nightshade
>> soft.
>> >     > Nightshade is a full dome planetarium opensource software.
>> >     >
>> >
>> http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
>> >     > Nightshade is not in portage so i have to manually install it
>> >     > (./configure, make and make install).
>> >     > make fails with errors :
>> >     >
>> >     > -------------------------
>> >     > In file included from /usr/include/boost/container/map.hpp:26:0,
>> >     >                  from
>> >     /usr/include/boost/interprocess/containers/map.hpp:19,
>> >     >                  from nshade_shared_memory.h:34,
>> >     >                  from nshade_shared_memory.cpp:30:
>> >     > ------------------------
>> >     > -----------------------
>> >     > boost::interprocess::iset_index> > >, bool is_iterator = false,
>> P0 =
>> >     > std::less<boost::uuids::uuid>, P1 =
>> >     >
>> >
>> boost::interprocess::allocator<boost::container::container_detail::pair<boost::uuids::uuid,
>> >     > boost::interprocess::offset_ptr<NshadeSharedMemoryConnection> >,
>> >     > boost::interprocess::segment_manager<char,
>> >     >
>> >
>> boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>,
>> >     > boost::interprocess::iset_index> >, size_t = long unsigned int]’
>> >     > nshade_shared_memory.cpp:251:1:   instantiated from here
>> >     > /usr/include/boost/container/map.hpp:147:1: erreur: invalid
>> >     application
>> >     > of ‘sizeof’ to incomplete type
>> >     ‘boost::STATIC_ASSERTION_FAILURE<false>’
>> >     > make[4]: *** [nshade_shared_memory.lo] Erreur 1
>> >     >
>> >     > I don't know how to solve that problem.
>> >     > Have you any idea about it ?
>> >     > Thank you very much,
>> >     >
>> >     > Cheers,
>> >     >
>> >     > --
>> >     > Jacques
>> >
>> >
>>
>>
>

[-- Attachment #2: Type: text/html, Size: 8532 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-user] Nightshade compiling failed
  2012-10-10 10:31         ` Jacques Montier
@ 2012-10-11 11:38           ` mindrunner
  2012-10-11 12:15             ` Jacques Montier
  0 siblings, 1 reply; 9+ messages in thread
From: mindrunner @ 2012-10-11 11:38 UTC (permalink / raw
  To: gentoo-user

well, thats annoying.

i war digging deeper for the last hours, but i cannot solve it for now.

you should write a bug report here:

http://www.nightshadesoftware.org/


i will try again tomorrow. but now ---> bachelor thesis ;)

On 10/10/2012 12:31 PM, Jacques Montier wrote:
> Hi,
>
> I tried different versions of gcc and boost. gcc-4.5.4 and
> boost-1.49.0-r1 : failed gcc-4.5.4 and boost-1.46.1-r1 : failed
> gcc-4.4.7 in a new slot and boost-1.49.0-r1 : failed. gcc-4.4.7 in
> a new slot and boost-1.46.1-r1 : success !
>
> So compiling Nightshade needs gcc-4.4.7 AND boost-1.46.1-r1. Why
> the new versions don't work ? I really don't know.
>
> Cheers,
>
> -- Jacques
>
>
>
> 2012/10/10 Jacques Montier <jmontier@gmail.com
> <mailto:jmontier@gmail.com>>
>
> Hi,
>
> Thank you Lukas for looking at my problem. The LSS-version of
> Nightshade is a clone of the official Nightsade version + keyboard
> shortcuts which can launch scripts, videos and music. Each key of
> the 105 keys has a special function and it is specially designed
> for a planetarium public show. With bluetooth modules, we can drive
> the show with a Nintendo Wii remote ; very useful.
> http://www.lss-planetariums.info/index.php?lang=en&menu=hardware&page=keyboard
>
>  I tried to compile Nightshade-LSS on Ubuntu-12, Linux Mint and
> Mageia2 via VirtualBox and i get exactly the same errors. So, i
> think it is not a Gentoo problem...but nevertheless very annoying
> :-(
>
> I looked at the Nightshade-LSS sources and it seems that the error
> occurs with the nshade_shared_memory.h and nshade_shared_memory.cpp
> in ~/nightshade-11.7.1/nscontrol/src I join the two files ; may be
> these files would help us.
>
> Thank you very much,
>
> -- Jacques
>
>
>
>
>
>
> 2012/10/10 mindrunner <kernel@ccube.de <mailto:kernel@ccube.de>>
>
> Hi, i stepped little further in the last hours. I copied the
> ebuild to my layman overlay (luman) and tried to emerge. I got the
> same error you got compiling your special version! At the moment I
> am cloning the official bzr repository (>1GB) which means waiting a
> long time at 1mbit DSL :( When cloned, I will dig some more into
> the sources.
>
> the error we get here points to some wrong usage of the boost
> container, but i cannot tell any more right now.
>
> what exactly is the difference to your ns-version compared to
> vanilla one?
>
> I think just replacing version number and url should provide you a
> working ebuild. we can try this after compiling vanilla sucesfull.
>
>
> lukas
>
> On 10/09/2012 10:53 PM, Jacques Montier wrote:
>> Hi ,
>>
>> Thank you Lukas for your post. The Nighshade soft i use is a LSS
>> version compiled for small planetariums by Yves Lhoumeau and
>> Lionel Ruiz. I can only get the sources here :
>>
> http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
>
>  The sabayon Nightshade ebuild is different .
>> I agree with you, i very much prefer to install packages using
> ebuilds,
>> but i am afraid i am not able to develop any ebuild... Sorry...
>> :-( Some months ago i successfully compiled Nightshade with
> boost-1.46.1-r1
>> ; but unfortunately it does not anymore compile even with the
> same boost
>> version...
>>
>> Thank you again,
>>
>> Cheers,
>>
>> -- Jacques
>>
>>
>> 2012/10/9 mindrunner <kernel@ccube.de <mailto:kernel@ccube.de>
> <mailto:kernel@ccube.de <mailto:kernel@ccube.de>>>
>>
>> Hi, I always prefer to NOT install software this way into my
> gentoo. Instead
>> of this I first check http://gpo.zugaina.org/ if there is
> already an
>> ebuild or outdated ebuild for this piece of software. If
> not I begin to
>> develop my own ebuild.
>>
>> In this case there is already one (sabayon-overlay).
> However, you should
>> NOT add sabayon overlay into your gentoo box. I got some
> weird problems
>> doing this some time ago. I think this shoul only be used
> in sabayon
>> distro, but I dont know exactly.
>>
>> If you want to, I could copy it into my overlay (luman),
> which should be
>> more safe not bricking your whole gentoo box.
>>
>> Yeah, I know... you asked sth. completely different, but
> in my opinion,
>> you should better do this way...
>>
>> KLooking at you Problem tells me that you got a boost
> problem. Maybe
>> wrong version you compile against?
>>
>> Since I am writing my bachelor thesis right now, I have
> only little
>> spartetime, but if you want to we could try to make a
> working ebuild on
>> base of the sabayon one.
>>
>>
>> regards Lukas
>>
>>
>> On 10/09/2012 07:06 PM, Jacques Montier wrote:
>>> Hi everybody,
>>>
>>> Since a few months i have a problem about compiling
> Nightshade soft.
>>> Nightshade is a full dome planetarium opensource software.
>>>
>>
> http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
>
>
>> Nightshade is not in portage so i have to manually
> install it
>>> (./configure, make and make install). make fails with errors :
>>>
>>> ------------------------- In file included from
> /usr/include/boost/container/map.hpp:26:0,
>>> from
>> /usr/include/boost/interprocess/containers/map.hpp:19,
>>> from nshade_shared_memory.h:34, from
>>> nshade_shared_memory.cpp:30: ------------------------
>>> ----------------------- boost::interprocess::iset_index> > >,
>>> bool is_iterator =
> false, P0 =
>>> std::less<boost::uuids::uuid>, P1 =
>>>
>>
> boost::interprocess::allocator<boost::container::container_detail::pair<boost::uuids::uuid,
>
>
>>
> boost::interprocess::offset_ptr<NshadeSharedMemoryConnection> >,
>>> boost::interprocess::segment_manager<char,
>>>
>>
> boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>,
>
>
>> boost::interprocess::iset_index> >, size_t = long
> unsigned int]’
>>> nshade_shared_memory.cpp:251:1:   instantiated from here
>>> /usr/include/boost/container/map.hpp:147:1: erreur: invalid
>> application
>>> of ‘sizeof’ to incomplete type
>> ‘boost::STATIC_ASSERTION_FAILURE<false>’
>>> make[4]: *** [nshade_shared_memory.lo] Erreur 1
>>>
>>> I don't know how to solve that problem. Have you any idea about
>>> it ? Thank you very much,
>>>
>>> Cheers,
>>>
>>> -- Jacques
>>
>>
>
>
>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-user] Nightshade compiling failed
  2012-10-11 11:38           ` mindrunner
@ 2012-10-11 12:15             ` Jacques Montier
  0 siblings, 0 replies; 9+ messages in thread
From: Jacques Montier @ 2012-10-11 12:15 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 6885 bytes --]

Thanks Lukas,

Have a good work ! -:)

Cheers,

--
Jacques


2012/10/11 mindrunner <kernel@ccube.de>

> well, thats annoying.
>
> i war digging deeper for the last hours, but i cannot solve it for now.
>
> you should write a bug report here:
>
> http://www.nightshadesoftware.org/
>
>
> i will try again tomorrow. but now ---> bachelor thesis ;)
>
> On 10/10/2012 12:31 PM, Jacques Montier wrote:
> > Hi,
> >
> > I tried different versions of gcc and boost. gcc-4.5.4 and
> > boost-1.49.0-r1 : failed gcc-4.5.4 and boost-1.46.1-r1 : failed
> > gcc-4.4.7 in a new slot and boost-1.49.0-r1 : failed. gcc-4.4.7 in
> > a new slot and boost-1.46.1-r1 : success !
> >
> > So compiling Nightshade needs gcc-4.4.7 AND boost-1.46.1-r1. Why
> > the new versions don't work ? I really don't know.
> >
> > Cheers,
> >
> > -- Jacques
> >
> >
> >
> > 2012/10/10 Jacques Montier <jmontier@gmail.com
> > <mailto:jmontier@gmail.com>>
> >
> > Hi,
> >
> > Thank you Lukas for looking at my problem. The LSS-version of
> > Nightshade is a clone of the official Nightsade version + keyboard
> > shortcuts which can launch scripts, videos and music. Each key of
> > the 105 keys has a special function and it is specially designed
> > for a planetarium public show. With bluetooth modules, we can drive
> > the show with a Nintendo Wii remote ; very useful.
> >
> http://www.lss-planetariums.info/index.php?lang=en&menu=hardware&page=keyboard
> >
> >  I tried to compile Nightshade-LSS on Ubuntu-12, Linux Mint and
> > Mageia2 via VirtualBox and i get exactly the same errors. So, i
> > think it is not a Gentoo problem...but nevertheless very annoying
> > :-(
> >
> > I looked at the Nightshade-LSS sources and it seems that the error
> > occurs with the nshade_shared_memory.h and nshade_shared_memory.cpp
> > in ~/nightshade-11.7.1/nscontrol/src I join the two files ; may be
> > these files would help us.
> >
> > Thank you very much,
> >
> > -- Jacques
> >
> >
> >
> >
> >
> >
> > 2012/10/10 mindrunner <kernel@ccube.de <mailto:kernel@ccube.de>>
> >
> > Hi, i stepped little further in the last hours. I copied the
> > ebuild to my layman overlay (luman) and tried to emerge. I got the
> > same error you got compiling your special version! At the moment I
> > am cloning the official bzr repository (>1GB) which means waiting a
> > long time at 1mbit DSL :( When cloned, I will dig some more into
> > the sources.
> >
> > the error we get here points to some wrong usage of the boost
> > container, but i cannot tell any more right now.
> >
> > what exactly is the difference to your ns-version compared to
> > vanilla one?
> >
> > I think just replacing version number and url should provide you a
> > working ebuild. we can try this after compiling vanilla sucesfull.
> >
> >
> > lukas
> >
> > On 10/09/2012 10:53 PM, Jacques Montier wrote:
> >> Hi ,
> >>
> >> Thank you Lukas for your post. The Nighshade soft i use is a LSS
> >> version compiled for small planetariums by Yves Lhoumeau and
> >> Lionel Ruiz. I can only get the sources here :
> >>
> >
> http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
> >
> >  The sabayon Nightshade ebuild is different .
> >> I agree with you, i very much prefer to install packages using
> > ebuilds,
> >> but i am afraid i am not able to develop any ebuild... Sorry...
> >> :-( Some months ago i successfully compiled Nightshade with
> > boost-1.46.1-r1
> >> ; but unfortunately it does not anymore compile even with the
> > same boost
> >> version...
> >>
> >> Thank you again,
> >>
> >> Cheers,
> >>
> >> -- Jacques
> >>
> >>
> >> 2012/10/9 mindrunner <kernel@ccube.de <mailto:kernel@ccube.de>
> > <mailto:kernel@ccube.de <mailto:kernel@ccube.de>>>
> >>
> >> Hi, I always prefer to NOT install software this way into my
> > gentoo. Instead
> >> of this I first check http://gpo.zugaina.org/ if there is
> > already an
> >> ebuild or outdated ebuild for this piece of software. If
> > not I begin to
> >> develop my own ebuild.
> >>
> >> In this case there is already one (sabayon-overlay).
> > However, you should
> >> NOT add sabayon overlay into your gentoo box. I got some
> > weird problems
> >> doing this some time ago. I think this shoul only be used
> > in sabayon
> >> distro, but I dont know exactly.
> >>
> >> If you want to, I could copy it into my overlay (luman),
> > which should be
> >> more safe not bricking your whole gentoo box.
> >>
> >> Yeah, I know... you asked sth. completely different, but
> > in my opinion,
> >> you should better do this way...
> >>
> >> KLooking at you Problem tells me that you got a boost
> > problem. Maybe
> >> wrong version you compile against?
> >>
> >> Since I am writing my bachelor thesis right now, I have
> > only little
> >> spartetime, but if you want to we could try to make a
> > working ebuild on
> >> base of the sabayon one.
> >>
> >>
> >> regards Lukas
> >>
> >>
> >> On 10/09/2012 07:06 PM, Jacques Montier wrote:
> >>> Hi everybody,
> >>>
> >>> Since a few months i have a problem about compiling
> > Nightshade soft.
> >>> Nightshade is a full dome planetarium opensource software.
> >>>
> >>
> >
> http://www.lss-planetariums.info/index.php?lang=en&menu=nightshade&page=nightshade
> >
> >
> >> Nightshade is not in portage so i have to manually
> > install it
> >>> (./configure, make and make install). make fails with errors :
> >>>
> >>> ------------------------- In file included from
> > /usr/include/boost/container/map.hpp:26:0,
> >>> from
> >> /usr/include/boost/interprocess/containers/map.hpp:19,
> >>> from nshade_shared_memory.h:34, from
> >>> nshade_shared_memory.cpp:30: ------------------------
> >>> ----------------------- boost::interprocess::iset_index> > >,
> >>> bool is_iterator =
> > false, P0 =
> >>> std::less<boost::uuids::uuid>, P1 =
> >>>
> >>
> >
> boost::interprocess::allocator<boost::container::container_detail::pair<boost::uuids::uuid,
> >
> >
> >>
> > boost::interprocess::offset_ptr<NshadeSharedMemoryConnection> >,
> >>> boost::interprocess::segment_manager<char,
> >>>
> >>
> > boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>,
> >
> >
> >> boost::interprocess::iset_index> >, size_t = long
> > unsigned int]’
> >>> nshade_shared_memory.cpp:251:1:   instantiated from here
> >>> /usr/include/boost/container/map.hpp:147:1: erreur: invalid
> >> application
> >>> of ‘sizeof’ to incomplete type
> >> ‘boost::STATIC_ASSERTION_FAILURE<false>’
> >>> make[4]: *** [nshade_shared_memory.lo] Erreur 1
> >>>
> >>> I don't know how to solve that problem. Have you any idea about
> >>> it ? Thank you very much,
> >>>
> >>> Cheers,
> >>>
> >>> -- Jacques
> >>
> >>
> >
> >
> >
>
>

[-- Attachment #2: Type: text/html, Size: 9595 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-10-11 12:17 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-09 17:06 [gentoo-user] Nightshade compiling failed Jacques Montier
2012-10-09 18:37 ` mindrunner
2012-10-09 20:53   ` Jacques Montier
2012-10-09 22:46     ` mindrunner
2012-10-10  8:28       ` Jacques Montier
2012-10-10 10:31         ` Jacques Montier
2012-10-11 11:38           ` mindrunner
2012-10-11 12:15             ` Jacques Montier
2012-10-09 18:43 ` mindrunner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox