* [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