Re: [steghide-devel] creating steghide portfile, won't build
Brought to you by:
shetzl
From: zuzu (sean) <sea...@gm...> - 2006-08-03 23:32:58
|
On 8/3/06, Mark Duling <mar...@bi...> wrote: > Just edit the top line of the patch file. Change this: > > steghide-0.5.1/src/AuData.h > > to this: > > src/AuData.h Seems this was correct, but these other header files still have errors. Maybe the steghide developers, more familiar with the code, have a more informed context to share. Any more ideas? This issue seems to be the same as Buckley Collum wrote about on steghide-devel on 10 July 2005. http://sourceforge.net/mailarchive/forum.php? thread_id=7483334&forum_id=6018 Perhaps it's part of the same GCC 4.x problem? Perhaps it's something else unique to OSX / Darwin? 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 make[2]: *** [AuFile.o] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Error: Target com.apple.build returned: shell command "cd "/opt/local/ var/db/dports/build/_Users_zuzu_dports-dev_multimedia_steghide/work/ steghide-0.5.1" && make all" returned error 2 Command output: if g++ -DHAVE_CONFIG_H -I. -I. -I.. -DLOCALEDIR=\"/ opt/local/share/locale\" -I/opt/local/include -O2 -Wall -MT Arg.o - MD -MP -MF ".deps/Arg.Tpo" \ -c -o Arg.o `test -f 'Arg.cc' || echo './'`Arg.cc; \ then mv ".deps/Arg.Tpo" ".deps/Arg.Po"; \ else rm -f ".deps/Arg.Tpo"; exit 1; \ fi if g++ -DHAVE_CONFIG_H -I. -I. -I.. -DLOCALEDIR=\"/opt/local/share/ locale\" -I/opt/local/include -O2 -Wall -MT Arguments.o -MD -MP -MF ".deps/Arguments.Tpo" \ -c -o Arguments.o `test -f 'Arguments.cc' || echo './'`Arguments.cc; \ then mv ".deps/Arguments.Tpo" ".deps/Arguments.Po"; \ else rm -f ".deps/Arguments.Tpo"; exit 1; \ fi if g++ -DHAVE_CONFIG_H -I. -I. -I.. -DLOCALEDIR=\"/opt/local/share/ locale\" -I/opt/local/include -O2 -Wall -MT AssertionFailed.o -MD - MP -MF ".deps/AssertionFailed.Tpo" \ -c -o AssertionFailed.o `test -f 'AssertionFailed.cc' || echo './'`AssertionFailed.cc; \ then mv ".deps/AssertionFailed.Tpo" ".deps/AssertionFailed.Po"; \ else rm -f ".deps/AssertionFailed.Tpo"; exit 1; \ fi if g++ -DHAVE_CONFIG_H -I. -I. -I.. -DLOCALEDIR=\"/opt/local/share/ locale\" -I/opt/local/include -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 make[2]: *** [AuFile.o] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 Warning: the following items did not execute (for steghide): com.apple.build Error: Status 1 encountered during processing. On 8/3/06, Mark Duling <mar...@bi...> wrote: > Just edit the top line of the patch file. Change this: > > steghide-0.5.1/src/AuData.h > > to this: > > src/AuData.h > > That is because DP checks for files to patch beginning at $ {worksrcpath} > which is at the expanded download directory location. The Gentoo patches > apparently starts from the parent directory above that. Then the > patchfile will correctly specify the location in the DP tree. > > Mark > > > "zuzu (sean)" <sea...@gm...> writes: > >Quite right; thanks again. The issue seems to be patching the > >steghide code to conform to GCC 4.x, of which Apple includes GCC 4.01 > >with Xcode. The Gentoo portage maintainers include a patch precisely > >for this at the location you mentioned: > >http://rsync1.it.gentoo.org/gentoo-portage/app-crypt/steghide/files/ > >steghide-0.5.1-gcc4.patch > > > >Reading > >http://darwinports.opendarwin.org/docs/ch03s03.html > >http://darwinports.opendarwin.org/docs/ch04s07.html > > > >I created a files/ directory in the development port directory for > >steghide, and placed the aforementioned patchfile inside. > >I then added the following line to the Portfile: > >patchfiles steghide-0.5.1-gcc4.patch > > > >The relevant snippet of the build process below reflects this, but > >you can read that it fails basically because the patch isn't prepared > >in the Darwinports style, it seems to me. From the documentation, > >I'm not clear on how to covert the patch; namely what the > >requirements are on the Darwinports side of things. (Generally, > >breaking out the patch into .diff files for each source file to be > >patched, correct? ...as -p0 rather than -p1 is used by the patch tool.) > > > > > > > >DEBUG: Executing com.apple.patch (steghide) > >---> Applying patches to steghide > >---> Applying /Users/zuzu/dports-dev/multimedia/steghide/files/ > >steghide-0.5.1-gcc4.patch > >DEBUG: Assembled command: 'cd "/opt/local/var/db/dports/build/ > >_Users_zuzu_dports-dev_multimedia_steghide/work/steghide-0.5.1" && > >patch -p0' > >can't find file to patch at input line 4 > >Perhaps you used the wrong -p or --strip option? > >The text leading up to this was: > >-------------------------- > >|diff -ur steghide-0.5.1-orig/src/AuData.h steghide-0.5.1/src/ AuData.h > >|--- steghide-0.5.1-orig/src/AuData.h 2006-03-10 02:17:19.000000000 > >-0500 > >|+++ steghide-0.5.1/src/AuData.h 2006-03-10 02:19:01.000000000 > >-0500 > >-------------------------- > >File to patch: > >Skip this patch? [y] > >Skipping patch. > >1 out of 1 hunk ignored > >Error: Target com.apple.patch returned: shell command "cd "/opt/ local/ > >var/db/dports/build/_Users_zuzu_dports-dev_multimedia_steghide/work/ > >steghide-0.5.1" && patch -p0 < "/Users/zuzu/dports-dev/multimedia/ > >steghide/files/steghide-0.5.1-gcc4.patch"" returned error 1 > >Command output: can't find file to patch at input line 4 > >Perhaps you used the wrong -p or --strip option? > >The text leading up to this was: > >-------------------------- > >|diff -ur steghide-0.5.1-orig/src/AuData.h steghide-0.5.1/src/ AuData.h > >|--- steghide-0.5.1-orig/src/AuData.h 2006-03-10 02:17:19.000000000 > >-0500 > >|+++ steghide-0.5.1/src/AuData.h 2006-03-10 02:19:01.000000000 > >-0500 > >-------------------------- > >File to patch: > >Skip this patch? [y] > >Skipping patch. > >1 out of 1 hunk ignored > > > > |