Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 106615 - problem while emerge app-crypt/steghide
Summary: problem while emerge app-crypt/steghide
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Mac OSX (show other bugs)
Hardware: PPC OS X
: High normal (vote)
Assignee: Gentoo for Mac OS X
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-19 14:47 UTC by Dirk Schoenberger
Modified: 2007-03-18 20:52 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Schoenberger 2005-09-19 14:47:25 UTC
while trying to emerge steghide 0.5.1 I ran into the following problem

if g++ -DHAVE_CONFIG_H -I. -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"   -O2 -Wall -MT AuFile.o -
MD -MP -MF ".deps/AuFile.Tpo" \
  -c -o AuFile.o `test -f 'AuFile.cc' || echo './'`AuFile.cc; \
then mv ".deps/AuFile.Tpo" ".deps/AuFile.Po"; \
else rm -f ".deps/AuFile.Tpo"; exit 1; \
fi
CvrStgObject.h:40: warning: 'class CvrStgObject' has virtual functions but non-virtual destructor
SampleValue.h: In member function 'size_t SampleValueHash::operator()(const SampleValue*) const':
SampleValue.h:166: error: 'hash' is not a member of 'sgi'
SampleValue.h:166: error: expected primary-expression before '>' token
SampleValue.h:166: error: 'h' was not declared in this scope
AudioData.h: At global scope:
AudioData.h:37: warning: 'class AudioData' has virtual functions but non-virtual destructor
AuData.h:29: error: explicit specialization of 'BYTE AudioDataImpl<AuMuLaw, BYTE, 
AudioSampleValue<AuMuLaw, BYTE> >::readValue(BinaryIO*) const' must be introduced by 'template 
<>'
AuData.h:29: error: template-id 'readValue<>' for 'BYTE AudioDataImpl<AuMuLaw, BYTE, 
AudioSampleValue<AuMuLaw, BYTE> >::readValue(BinaryIO*) const' does not match any template 
declaration
AuData.h:29: error: invalid function declaration
AuData.h:30: error: explicit specialization of 'void AudioDataImpl<AuMuLaw, BYTE, 
AudioSampleValue<AuMuLaw, BYTE> >::writeValue(BinaryIO*, BYTE) const' must be introduced by 
'template <>'
AuData.h:30: error: template-id 'writeValue<>' for 'void AudioDataImpl<AuMuLaw, BYTE, 
AudioSampleValue<AuMuLaw, BYTE> >::writeValue(BinaryIO*, BYTE) const' does not match any 
template declaration
AuData.h:30: error: invalid function declaration
AuData.h:34: error: explicit specialization of 'SBYTE AudioDataImpl<AuPCM8, SBYTE, 
AudioSampleValue<AuPCM8, SBYTE> >::readValue(BinaryIO*) const' must be introduced by 'template 
<>'
AuData.h:34: error: template-id 'readValue<>' for 'SBYTE AudioDataImpl<AuPCM8, SBYTE, 
AudioSampleValue<AuPCM8, SBYTE> >::readValue(BinaryIO*) const' does not match any template 
declaration
AuData.h:34: error: invalid function declaration
AuData.h:35: error: explicit specialization of 'void AudioDataImpl<AuPCM8, SBYTE, 
AudioSampleValue<AuPCM8, SBYTE> >::writeValue(BinaryIO*, SBYTE) const' must be introduced by 
'template <>'
AuData.h:35: error: template-id 'writeValue<>' for 'void AudioDataImpl<AuPCM8, SBYTE, 
AudioSampleValue<AuPCM8, SBYTE> >::writeValue(BinaryIO*, SBYTE) const' does not match any 
template declaration
AuData.h:35: error: invalid function declaration
AuData.h:39: error: explicit specialization of 'SWORD16 AudioDataImpl<AuPCM16, SWORD16, 
AudioSampleValue<AuPCM16, SWORD16> >::readValue(BinaryIO*) const' must be introduced by 
'template <>'
AuData.h:39: error: template-id 'readValue<>' for 'SWORD16 AudioDataImpl<AuPCM16, SWORD16, 
AudioSampleValue<AuPCM16, SWORD16> >::readValue(BinaryIO*) const' does not match any template 
declaration
AuData.h:39: error: invalid function declaration
AuData.h:40: error: explicit specialization of 'void AudioDataImpl<AuPCM16, SWORD16, 
AudioSampleValue<AuPCM16, SWORD16> >::writeValue(BinaryIO*, SWORD16) const' must be 
introduced by 'template <>'
AuData.h:40: error: template-id 'writeValue<>' for 'void AudioDataImpl<AuPCM16, SWORD16, 
AudioSampleValue<AuPCM16, SWORD16> >::writeValue(BinaryIO*, SWORD16) const' does not match 
any template declaration
AuData.h:40: error: invalid function declaration
AuData.h:44: error: explicit specialization of 'SWORD32 AudioDataImpl<AuPCM32, SWORD32, 
AudioSampleValue<AuPCM32, SWORD32> >::readValue(BinaryIO*) const' must be introduced by 
'template <>'
AuData.h:44: error: template-id 'readValue<>' for 'SWORD32 AudioDataImpl<AuPCM32, SWORD32, 
AudioSampleValue<AuPCM32, SWORD32> >::readValue(BinaryIO*) const' does not match any template 
declaration
AuData.h:44: error: invalid function declaration
AuData.h:45: error: explicit specialization of 'void AudioDataImpl<AuPCM32, SWORD32, 
AudioSampleValue<AuPCM32, SWORD32> >::writeValue(BinaryIO*, SWORD32) const' must be 
introduced by 'template <>'
AuData.h:45: error: template-id 'writeValue<>' for 'void AudioDataImpl<AuPCM32, SWORD32, 
AudioSampleValue<AuPCM32, SWORD32> >::writeValue(BinaryIO*, SWORD32) const' does not match 
any template declaration
AuData.h:45: error: invalid function declaration
make[2]: *** [AuFile.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

!!! ERROR: app-crypt/steghide-0.5.1 failed.


Reproducible: Always
Steps to Reproduce:
1.
2.
3.




!!! Relying on the shell to locate gcc, this may break
!!! DISTCC, installing gcc-config and setting your current gcc
!!! profile will fix this
Portage 2.0.52-r1 (default-darwin/macos/10.4, gcc-4.0.0, libsystem-7.1-r0, 8.2.0 Power Macintosh)
===============================================================
==
System uname: 8.2.0 Power Macintosh powerpc
macos-20041118
distcc 2.0.1-zeroconf powerpc-apple-darwin7.0 (protocol 1) (default port 3632) [disabled]
dev-lang/python:     [Not Present]
sys-apps/sandbox:    [Not Present]
sys-devel/autoconf:  [Not Present]
sys-devel/automake:  [Not Present]
sys-devel/binutils:  [Not Present]
sys-devel/libtool:   [Not Present]
virtual/os-headers:  7.1
ACCEPT_KEYWORDS="ppc-macos ~ppc-macos"
AUTOCLEAN="yes"
CBUILD="powerpc-apple-darwin"
CFLAGS="-O2 -pipe"
CHOST="powerpc-apple-darwin"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/
qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig collision-protect distlocks sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/
gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="ppc emboss imagemagick nls png ppc-macos qt sdl slang tiff userland_Darwin kernel_Darwin 
elibc_Darwin"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Comment 1 Patrizio Bassi 2006-03-04 02:46:34 UTC
same problem here on x86.

gcc 4 trouble.

should block bug 117482
Comment 2 Mark Loeser (RETIRED) gentoo-dev 2006-03-09 23:22:58 UTC
Fixed, thanks.
Comment 3 Fabian Groffen gentoo-dev 2006-03-10 00:26:26 UTC
Dirk, mind to try compiling this thing again?
Comment 4 Patrizio Bassi 2006-03-10 00:50:41 UTC
works perfectly with 4.1.0 too.

wonderful job
Comment 5 Dirk Schoenberger 2006-03-10 11:41:04 UTC
> Dirk, mind to try compiling this thing again?

Do I need to do something special beside emerge sync and keywording it?
I still get a 

if g++ -DHAVE_CONFIG_H -I. -I. -I..  -DLOCALEDIR=\"/usr/share/locale\"   -O2 -Wall -MT AuFile.o -MD -MP -MF ".deps/AuFile.Tpo" \
  -c -o AuFile.o `test -f 'AuFile.cc' || echo './'`AuFile.cc; \
then mv ".deps/AuFile.Tpo" ".deps/AuFile.Po"; \
else rm -f ".deps/AuFile.Tpo"; exit 1; \
fi
CvrStgObject.h:40: warning: 'class CvrStgObject' has virtual functions but non-virtual destructor
SampleValue.h: In member function 'size_t SampleValueHash::operator()(const SampleValue*) const':
SampleValue.h:166: error: 'hash' is not a member of 'sgi'
SampleValue.h:166: error: expected primary-expression before '>' token
SampleValue.h:166: error: 'h' was not declared in this scope
AudioData.h: At global scope:
AudioData.h:37: warning: 'class AudioData' has virtual functions but non-virtual destructor


;(
Comment 6 Mark Loeser (RETIRED) gentoo-dev 2006-03-10 12:22:53 UTC
Dirk: the output of `emerge info'?  Is this with 4.0 or 4.1?  If it is 4.0, please try 4.1.
Comment 7 Fabian Groffen gentoo-dev 2006-03-10 12:25:05 UTC
This is ppc-macos, so there is nothing but GCC 4.0.0.  Maybe this is some code that get's active through an ifdef somewhere?
Comment 8 Dirk Schoenberger 2006-03-10 13:25:40 UTC
> SampleValue.h:166: error: 'hash' is not a member of 'sgi'
> SampleValue.h:166: error: expected primary-expression before '>' token
> SampleValue.h:166: error: 'h' was not declared in this scope

The problem seem to be that the code is selected in src/wrapper_hash_set.h.
According to my tests, the part

include <ext/hash_set>
namespace sgi = ::__gnu_cxx ;

works for MacOSX Tiger.

Instead, somehow

  namespace sgi = std ;

is selected.
This should possibly just a matter of an additional #ifdef __APPLE__ (I am not certain about which defines are defined where)
Comment 9 Mark Loeser (RETIRED) gentoo-dev 2006-03-10 16:49:56 UTC
It doesn't seem this is a gcc-4 specific issue any longer.
Comment 10 Fabian Groffen gentoo-dev 2006-03-14 08:59:26 UTC
problem found.  The ifdef assumed GCC 4.0.0 didn't exist.  FC4 users have the same problem.  Easily fixable, but then we run into a bunch of linker problems.
Comment 11 Fabian Groffen gentoo-dev 2007-03-18 20:52:14 UTC
after fixing the libtool call (for real, not like the patch) steghide compiled fine here.

in prefix.