Hey Noah,

It seems that you successfully compiled Stegotorus, congratulation! ;)

Although, you still have problem with compiling the unit tests in google
framework, they are not essential in solving your challenge. I recommend
that you start working on your challenge now.

Per Google's recommendation, I've included the google unit test code
inside the code, so that g_unittests_LDFLAGS probably won't help
(because you are linking to the object file directly). You might want to
download the google frame work and try to compile it independently
without the stegotorus headache: 

https://googletest.googlecode.com/files/gtest-1.7.0.zip

Keep the good work going!
vmon

Noah Rahman <[email protected]> writes:

> after fixing the local branch and having to remove -Werror by hand
> from the makefile yet again...maybe I am missing something else in the
> unit tests? I checked git branch -v and it now matches the tor-improve
> on remote/tor-improve
>
> selimthegrim@Rimsky-Korsakoffee:~/stegotorus$ make -j2
> make all-am
> make[1]: Entering directory `/home/selimthegrim/stegotorus'
> depbase=`echo src/steg/payload_scraper.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/steg/payload_scraper.o -MD -MP -MF $depbase.Tpo -c
> -o src/steg/payload_scraper.o src/steg/payload_scraper.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> /bin/bash ./src/genmodtable.sh protolist.cc src/protocol/chop.cc
> src/protocol/chop_blk.cc src/protocol/null.cc
> protolist.cc is unchanged
> touch stamp-protolist
> /bin/bash ./src/genmodtable.sh steglist.cc src/steg/b64cookies.cc
> src/steg/cookies.cc src/steg/embed.cc src/steg/http.cc
> src/steg/http_apache.cc src/steg/http_steg_mods/file_steg.cc
> src/steg/http_steg_mods/pdfSteg.cc src/steg/http_steg_mods/swfSteg.cc
> src/steg/http_steg_mods/jsSteg.cc src/steg/http_steg_mods/jpgSteg.cc
> src/steg/http_steg_mods/pngSteg.cc src/steg/http_steg_mods/gifSteg.cc
> src/steg/nosteg.cc src/steg/nosteg_rr.cc src/steg/payload_server.cc
> src/steg/trace_payload_server.cc src/steg/payload_scraper.cc
> src/steg/apache_payload_server.cc
> steglist.cc is unchanged
> touch stamp-steglist
> depbase=`echo src/pgen_fake.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/pgen_fake.o -MD -MP -MF $depbase.Tpo -c -o
> src/pgen_fake.o src/pgen_fake.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> /bin/bash ./src/test/genunitgrps.sh unitgrplist.cc
> src/test/unittest_base64.cc src/test/unittest_compression.cc
> src/test/unittest_crypt.cc src/test/unittest_pdfsteg.cc
> src/test/unittest_socks.cc
> touch stamp-unitgrplist
> depbase=`echo src/test/tltester.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'
> `;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/tltester.o -MD -MP -MF $depbase.Tpo -c -o
> src/test/tltester.o src/test/tltester.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/webpage_tester.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/webpage_tester.o -MD -MP -MF $depbase.Tpo -c -
> o src/test/webpage_tester.o src/test/webpage_tester.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> src/steg/payload_scraper.cc: In member function ‘int
> PayloadScraper::scrape()’:
> src/steg/payload_scraper.cc:283:49: warning: ignoring return value of
> ‘int system(const char*)’, declared with attribute warn_unused_result
> [-Wunused-result]
> system(ftp_unmount_command_string.c_str());
> ^
> src/steg/payload_scraper.cc:312:49: warning: ignoring return value of
> ‘int system(const char*)’, declared with attribute warn_unused_result
> [-Wunused-result]
> system(ftp_unmount_command_string.c_str());
> ^
> depbase=`echo protolist.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT protolist.o -MD -MP -MF $depbase.Tpo -c -o protolist.o
> protolist.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo steglist.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT steglist.o -MD -MP -MF $depbase.Tpo -c -o steglist.o
> steglist.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> g++ -Wall -Wextra -Wno-missing-field-initializers -Wformat=2 -
> std=c++0x -g -O2 -std=gnu++11 -o pgen_fake src/pgen_fake.o src/util.o
> src/rng.o src/base64.o -lcrypto 
> depbase=`echo src/test/tinytest.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'
> `;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/tinytest.o -MD -MP -MF $depbase.Tpo -c -o
> src/test/tinytest.o src/test/tinytest.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/unittest.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'
> `;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/unittest.o -MD -MP -MF $depbase.Tpo -c -o
> src/test/unittest.o src/test/unittest.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/unittest_base64.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/unittest_base64.o -MD -MP -MF $depbase.Tpo -c
> -o src/test/unittest_base64.o src/test/unittest_base64.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/unittest_compression.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/unittest_compression.o -MD -MP -MF
> $depbase.Tpo -c -o src/test/unittest_compression.o
> src/test/unittest_compression.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/unittest_crypt.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/unittest_crypt.o -MD -MP -MF $depbase.Tpo -c -
> o src/test/unittest_crypt.o src/test/unittest_crypt.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/unittest_pdfsteg.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/unittest_pdfsteg.o -MD -MP -MF $depbase.Tpo -
> c -o src/test/unittest_pdfsteg.o src/test/unittest_pdfsteg.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/unittest_socks.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/unittest_socks.o -MD -MP -MF $depbase.Tpo -c -
> o src/test/unittest_socks.o src/test/unittest_socks.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo unitgrplist.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT unitgrplist.o -MD -MP -MF $depbase.Tpo -c -o
> unitgrplist.o unitgrplist.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/gtest/gtest_main.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/gtest/gtest_main.o -MD -MP -MF $depbase.Tpo -
> c -o src/test/gtest/gtest_main.o src/test/gtest/gtest_main.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/gtest/gtest-all.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/gtest/gtest-all.o -MD -MP -MF $depbase.Tpo -c
> -o src/test/gtest/gtest-all.o src/test/gtest/gtest-all.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/steg_test/steg_mod_unittest.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/steg_test/steg_mod_unittest.o -MD -MP -MF
> $depbase.Tpo -c -o src/test/steg_test/steg_mod_unittest.o
> src/test/steg_test/steg_mod_unittest.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/steg_test/payload_scraper_unittest.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/steg_test/payload_scraper_unittest.o -MD -MP -
> MF $depbase.Tpo -c -o src/test/steg_test/payload_scraper_unittest.o
> src/test/steg_test/payload_scraper_unittest.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> g++ -Wall -Wextra -Wno-missing-field-initializers -Wformat=2 -
> std=c++0x -g -O2 -std=gnu++11 -o tltester src/test/tltester.o
> src/util.o src/util-net.o -levent 
> depbase=`echo src/test/tester_proxy/tester_proxy.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/tester_proxy/tester_proxy.o -MD -MP -MF
> $depbase.Tpo -c -o src/test/tester_proxy/tester_proxy.o
> src/test/tester_proxy/tester_proxy.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/http_parser/http_parser.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/http_parser/http_parser.o -MD -MP -MF $depbase.Tpo
> -c -o src/http_parser/http_parser.o src/http_parser/http_parser.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> rm -f libstegotorus.a
> ar cru libstegotorus.a src/base64.o src/compression.o
> src/connections.o src/crypt.o src/mkem.o src/network.o src/protocol.o
> src/rng.o src/socks.o src/steg.o src/util.o src/util-net.o
> src/evbuf_util.o src/curl_util.o src/transparent_proxy.o
> src/protocol/chop.o src/protocol/chop_blk.o src/protocol/null.o
> src/steg/b64cookies.o src/steg/cookies.o src/steg/embed.o
> src/steg/http.o src/steg/http_apache.o src/steg/http_apache.o
> src/steg/http_steg_mods/file_steg.o src/steg/http_steg_mods/pdfSteg.o
> src/steg/http_steg_mods/swfSteg.o src/steg/http_steg_mods/jsSteg.o
> src/steg/http_steg_mods/jpgSteg.o src/steg/http_steg_mods/pngSteg.o
> src/steg/http_steg_mods/gifSteg.o src/steg/nosteg.o
> src/steg/nosteg_rr.o src/steg/payload_server.o
> src/steg/trace_payload_server.o src/steg/payload_scraper.o
> src/steg/apache_payload_server.o src/subprocess-unix.o protolist.o
> steglist.o 
> : libstegotorus.a
> /bin/bash ./src/audit-globals.sh src/base64.o src/compression.o
> src/connections.o src/crypt.o src/mkem.o src/network.o src/protocol.o
> src/rng.o src/socks.o src/steg.o src/util.o src/util-net.o
> src/evbuf_util.o src/curl_util.o src/transparent_proxy.o
> src/protocol/chop.o src/protocol/chop_blk.o src/protocol/null.o
> src/steg/b64cookies.o src/steg/cookies.o src/steg/embed.o
> src/steg/http.o src/steg/http_apache.o src/steg/http_apache.o
> src/steg/http_steg_mods/file_steg.o src/steg/http_steg_mods/pdfSteg.o
> src/steg/http_steg_mods/swfSteg.o src/steg/http_steg_mods/jsSteg.o
> src/steg/http_steg_mods/jpgSteg.o src/steg/http_steg_mods/pngSteg.o
> src/steg/http_steg_mods/gifSteg.o src/steg/nosteg.o
> src/steg/nosteg_rr.o src/steg/payload_server.o
> src/steg/trace_payload_server.o src/steg/payload_scraper.o
> src/steg/apache_payload_server.o src/subprocess-unix.o protolist.o
> steglist.o src/main.o
> sed: -e expression #1, char 113: unknown option to `s'
> touch stamp-audit-globals
> g++ -Wall -Wextra -Wno-missing-field-initializers -Wformat=2 -
> std=c++0x -g -O2 -std=gnu++11 -o unittests src/test/tinytest.o
> src/test/unittest.o src/test/unittest_base64.o
> src/test/unittest_compression.o src/test/unittest_crypt.o
> src/test/unittest_pdfsteg.o src/test/unittest_socks.o unitgrplist.o
> libstegotorus.a -levent -lcrypto -lz -lcurl -lboost_system -
> lboost_filesystem -lconfig++ 
> g++ -Wall -Wextra -Wno-missing-field-initializers -Wformat=2 -
> std=c++0x -g -O2 -std=gnu++11 -o tester_proxy
> src/test/tester_proxy/tester_proxy.o -levent_openssl -levent -lssl -
> lcrypto 
> g++ -Wall -Wextra -Wno-missing-field-initializers -Wformat=2 -
> std=c++0x -g -O2 -std=gnu++11 -o webpage_tester
> src/test/webpage_tester.o src/util.o src/util-net.o src/curl_util.o
> src/http_parser/http_parser.o -levent -lcrypto -lz -lcurl -
> lboost_system -lboost_filesystem -lconfig++ 
> g++ -Wall -Wextra -Wno-missing-field-initializers -Wformat=2 -
> std=c++0x -g -O2 -std=gnu++11 -o stegotorus src/main.o libstegotorus.a
> -levent -lcrypto -lz -lcurl -lboost_system -lboost_filesystem -
> lconfig++ 
> g++ -Wall -Wextra -Wno-missing-field-initializers -Wformat=2 -
> std=c++0x -g -O2 -std=gnu++11 -o g_unittests
> src/test/gtest/gtest_main.o src/test/gtest/gtest-all.o
> src/test/steg_test/steg_mod_unittest.o
> src/test/steg_test/payload_scraper_unittest.o libstegotorus.a -levent -
> lcrypto -lz -lcurl -lboost_system -lboost_filesystem -lconfig++ 
> /usr/bin/ld: src/test/gtest/gtest-all.o: undefined reference to symbol
> 'pthread_key_delete@@GLIBC_2.2.5'
> /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO
> missing from command line
> collect2: error: ld returned 1 exit status
> make[1]: *** [g_unittests] Error 1
> make[1]: Leaving directory `/home/selimthegrim/stegotorus'
> make: *** [all] Error 2
_______________________________________________
tor-dev mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev

Reply via email to