Open GoogleCodeExporter opened 9 years ago
[deleted comment]
[deleted comment]
[deleted comment]
Thank you. I altered per recommendations above, then got a bit further, and
failed again... I assume this is in relation to using Debian's wxWidgets rather
than building fresh.
In file included from /usr/include/wx-2.8/wx/debug.h:22:0,
from /usr/include/wx-2.8/wx/defs.h:521,
from /usr/include/wx-2.8/wx/string.h:25,
from /usr/include/wx-2.8/wx/bitmap.h:19,
from config.h:11,
from config.cpp:8:
/usr/include/wx-2.8/wx/wxchar.h:1286:40: error: ‘time_t’ does not name a
type
/usr/include/wx-2.8/wx/wxchar.h:1286:48: warning: ISO C++ forbids declaration
of ‘timep’ with no type [-fpermissive]
In file included from /usr/include/wx-2.8/wx/variant.h:26:0,
from /usr/include/wx-2.8/wx/colour.h:48,
from /usr/include/wx-2.8/wx/bitmap.h:21,
from config.h:11,
from config.cpp:8:
/usr/include/wx-2.8/wx/datetime.h:585:30: error: expected ‘)’ before
‘timet’
/usr/include/wx-2.8/wx/datetime.h:624:28: error: ‘Set’ declared as an
‘inline’ field
/usr/include/wx-2.8/wx/datetime.h:624:24: error: expected ‘;’ at end of
member declaration
/usr/include/wx-2.8/wx/datetime.h:624:35: error: expected ‘)’ before
‘timet’
/usr/include/wx-2.8/wx/datetime.h:628:40: error: ‘wxDateTime&
wxDateTime::Set(const tm&)’ conflicts with a previous declaration
/usr/include/wx-2.8/wx/datetime.h:624:28: note: previous declaration
‘wxDateTime& wxDateTime::Set’
/usr/include/wx-2.8/wx/datetime.h:631:40: error: ‘wxDateTime::Set’
conflicts with a previous declaration
/usr/include/wx-2.8/wx/datetime.h:624:28: note: previous declaration
‘wxDateTime& wxDateTime::Set’
/usr/include/wx-2.8/wx/datetime.h:634:31: error: ‘wxDateTime::Set’
conflicts with a previous declaration
/usr/include/wx-2.8/wx/datetime.h:624:28: note: previous declaration
‘wxDateTime& wxDateTime::Set’
/usr/include/wx-2.8/wx/datetime.h:640:46: error: ‘wxDateTime::Set’
conflicts with a previous declaration
/usr/include/wx-2.8/wx/datetime.h:624:28: note: previous declaration
‘wxDateTime& wxDateTime::Set’
/usr/include/wx-2.8/wx/datetime.h:650:46: error: ‘wxDateTime::Set’
conflicts with a previous declaration
/usr/include/wx-2.8/wx/datetime.h:624:28: note: previous declaration
‘wxDateTime& wxDateTime::Set’
/usr/include/wx-2.8/wx/datetime.h:680:27: error: declaration of ‘operator=’
as non-function
/usr/include/wx-2.8/wx/datetime.h:680:25: error: expected ‘;’ at end of
member declaration
/usr/include/wx-2.8/wx/datetime.h:680:34: error: expected ‘)’ before
‘timet’
/usr/include/wx-2.8/wx/datetime.h:862:12: error: ‘time_t’ does not name a
type
/usr/include/wx-2.8/wx/datetime.h:1098:12: error: ‘time_t’ does not name a
type
/usr/include/wx-2.8/wx/datetime.h: In constructor
‘wxDateTime::wxDateTime()’:
/usr/include/wx-2.8/wx/datetime.h:580:5: warning: uninitialized reference
member ‘wxDateTime::Set’ [-fpermissive]
/usr/include/wx-2.8/wx/datetime.h: In constructor
‘wxDateTime::wxDateTime(const wxLongLong&)’:
/usr/include/wx-2.8/wx/datetime.h:1092:5: warning: uninitialized reference
member ‘wxDateTime::Set’ [-fpermissive]
/usr/include/wx-2.8/wx/datetime.h: In static member function ‘static tm*
wxDateTime::GetTmNow()’:
/usr/include/wx-2.8/wx/datetime.h:1103:26: error: aggregate ‘tm
l_CurrentTime’ has incomplete type and cannot be defined
/usr/include/wx-2.8/wx/datetime.h: In static member function ‘static
wxDateTime wxDateTime::Now()’:
/usr/include/wx-2.8/wx/datetime.h:1596:15: error: aggregate ‘tm tmstruct’
has incomplete type and cannot be defined
/usr/include/wx-2.8/wx/datetime.h: At global scope:
/usr/include/wx-2.8/wx/datetime.h:1610:36: error: ‘wxDateTime::Set’
declared as an ‘inline’ variable
/usr/include/wx-2.8/wx/datetime.h:1610:36: error: ‘wxDateTime&
wxDateTime::Set’ is not a static member of ‘class wxDateTime’
/usr/include/wx-2.8/wx/datetime.h:1610:36: error: ‘time_t’ was not declared
in this scope
/usr/include/wx-2.8/wx/datetime.h:1611:1: error: expected ‘,’ or ‘;’
before ‘{’ token
/usr/include/wx-2.8/wx/datetime.h: In member function ‘wxDateTime&
wxDateTime::operator=(const wxDateTime&)’:
/usr/include/wx-2.8/wx/datetime.h:140:24: error: non-static reference member
‘wxDateTime& wxDateTime::Set’, can’t use default assignment operator
/usr/include/wx-2.8/wx/datetime.h: In member function ‘wxDateTime&
wxDateTime::SetToCurrent()’:
/usr/include/wx-2.8/wx/datetime.h:1622:17: note: synthesized method
‘wxDateTime& wxDateTime::operator=(const wxDateTime&)’ first required here
/usr/include/wx-2.8/wx/datetime.h: At global scope:
/usr/include/wx-2.8/wx/datetime.h:1627:31: warning: ISO C++ forbids declaration
of ‘wxDateTime’ with no type [-fpermissive]
/usr/include/wx-2.8/wx/datetime.h:1627:31: error: ‘wxDateTime::wxDateTime’
declared as an ‘inline’ variable
/usr/include/wx-2.8/wx/datetime.h:1627:31: error: ‘int
wxDateTime::wxDateTime’ is not a static member of ‘class wxDateTime’
/usr/include/wx-2.8/wx/datetime.h:1627:31: error: ‘time_t’ was not declared
in this scope
/usr/include/wx-2.8/wx/datetime.h:1628:1: error: expected ‘,’ or ‘;’
before ‘{’ token
/usr/include/wx-2.8/wx/datetime.h: In constructor
‘wxDateTime::wxDateTime(const tm&)’:
/usr/include/wx-2.8/wx/datetime.h:1633:8: warning: uninitialized reference
member ‘wxDateTime::Set’ [-fpermissive]
/usr/include/wx-2.8/wx/datetime.h: In constructor
‘wxDateTime::wxDateTime(const wxDateTime::Tm&)’:
/usr/include/wx-2.8/wx/datetime.h:1638:8: warning: uninitialized reference
member ‘wxDateTime::Set’ [-fpermissive]
/usr/include/wx-2.8/wx/datetime.h: In constructor
‘wxDateTime::wxDateTime(double)’:
/usr/include/wx-2.8/wx/datetime.h:1643:8: warning: uninitialized reference
member ‘wxDateTime::Set’ [-fpermissive]
/usr/include/wx-2.8/wx/datetime.h: In constructor
‘wxDateTime::wxDateTime(wxDateTime::wxDateTime_t, wxDateTime::wxDateTime_t,
wxDateTime::wxDateTime_t, wxDateTime::wxDateTime_t)’:
/usr/include/wx-2.8/wx/datetime.h:1656:8: warning: uninitialized reference
member ‘wxDateTime::Set’ [-fpermissive]
/usr/include/wx-2.8/wx/datetime.h: In constructor
‘wxDateTime::wxDateTime(wxDateTime::wxDateTime_t, wxDateTime::Month, int,
wxDateTime::wxDateTime_t, wxDateTime::wxDateTime_t, wxDateTime::wxDateTime_t,
wxDateTime::wxDateTime_t)’:
/usr/include/wx-2.8/wx/datetime.h:1664:8: warning: uninitialized reference
member ‘wxDateTime::Set’ [-fpermissive]
/usr/include/wx-2.8/wx/datetime.h: At global scope:
/usr/include/wx-2.8/wx/datetime.h:1686:8: error: ‘time_t’ does not name a
type
In file included from /usr/include/x86_64-linux-gnu/sys/stat.h:107:0,
from /usr/include/wx-2.8/wx/filefn.h:29,
from /usr/include/wx-2.8/wx/stream.h:22,
from /usr/include/wx-2.8/wx/image.h:23,
from config.h:12,
from config.cpp:8:
/usr/include/x86_64-linux-gnu/bits/stat.h:91:21: error: field ‘st_atim’ has
incomplete type
/usr/include/x86_64-linux-gnu/bits/stat.h:92:21: error: field ‘st_mtim’ has
incomplete type
/usr/include/x86_64-linux-gnu/bits/stat.h:93:21: error: field ‘st_ctim’ has
incomplete type
/usr/include/x86_64-linux-gnu/bits/stat.h:152:21: error: field ‘st_atim’
has incomplete type
/usr/include/x86_64-linux-gnu/bits/stat.h:153:21: error: field ‘st_mtim’
has incomplete type
/usr/include/x86_64-linux-gnu/bits/stat.h:154:21: error: field ‘st_ctim’
has incomplete type
In file included from /usr/include/wx-2.8/wx/stream.h:22:0,
from /usr/include/wx-2.8/wx/image.h:23,
from config.h:12,
from config.cpp:8:
/usr/include/wx-2.8/wx/filefn.h:689:18: error: ‘time_t’ does not name a type
make[1]: *** [config.o] Error 1
make[1]: Leaving directory
`/home/setx/electricsheep-read-only/client_generic/MSVC/SettingsGUI'
make: *** [all-recursive] Error 1
Original comment by TheMikeF...@gmail.com
on 16 Feb 2013 at 10:50
This looks like a missing line
#include <ctime>
somewhere in the code.
If you commit the first modifications to svn, one could work on from that.
Original comment by andreas....@inria.fr
on 18 Feb 2013 at 10:20
Confirmed working on fedora 18 with commenting out
#ifdef MAC
#define USE_NEW_FFMPEG_API
#endif
and adding
#define USE_NEW_FFMPEG_API
on line 35
and adding
#include <ctime>
of line 31
in ContentDecoder/ContentDecoder.cpp
adding the following to configure.ac after 155:
AC_CHECK_LIB([avformat], [av_open_input_file],
AC_DEFINE([USE_OLD_FFMPEG_API]),
AC_DEFINE([USE_NEW_FFMPEG_API]))
build completed, thanks for the info on how to solve the error, couldnt find
out how to fix it elsewhere.
Original comment by sfertig...@gmail.com
on 19 Jul 2013 at 8:07
Electric it seems does not work 100% in fedora with the above, it compiles but
you only see the "downloading stuff" screen, will investigate further
Original comment by nikkolp...@gmail.com
on 20 Jul 2013 at 3:44
Thanks for the input, guys! I have been battling with building electricsheep on
my Arch Linux installation with GCC 4.8.1 for some time now. The tips regarding
the changes in ContentDecoder.cpp have certainly helped but the build process
still fails on me.
The resulting log is just too long to be posted here but it's a mixed bag of
undeclared symbols, like:
In file included from /usr/include/sys/stat.h:105:0,
from ../../TupleStorage/diriterator.cpp:1:
/usr/include/bits/stat.h:91:21: error: field ‘st_atim’ has incomplete type
struct timespec st_atim; /* Time of last access. */
^
/usr/include/bits/stat.h:92:21: error: field ‘st_mtim’ has incomplete type
struct timespec st_mtim; /* Time of last modification. */
^
/usr/include/bits/stat.h:93:21: error: field ‘st_ctim’ has incomplete type
struct timespec st_ctim; /* Time of last status change. */
BTW prepending "#include <ctime>" does not do much good here as the build the
fails with:
/usr/include/c++/4.8.1/ctime:60:11: error: ‘::clock_t’ has not been declared
using ::clock_t;
^
/usr/include/c++/4.8.1/ctime:61:11: error: ‘::time_t’ has not been declared
using ::time_t;
^
/usr/include/c++/4.8.1/ctime:62:11: error: ‘::tm’ has not been declared
using ::tm;
etc.
There are also some wxWidgets errors in there:
electricsheepguiMyDialog2.cpp: In member function ‘virtual void
electricsheepguiMyDialog2::OnProxyUserNameEnter(wxCommandEvent&)’:
electricsheepguiMyDialog2.cpp:914:95: error: no matching function for call to
‘std::basic_string<char>::basic_string(wxString)’
I have no idea where to look for the culprits unfortunately but I'll try to
keep at it. If anyone can chime in with some ideas, I will gladly be of service.
Original comment by znovo...@gmail.com
on 29 Sep 2013 at 10:57
@znovo:
What version of wxWidgets are you using? (wxGTK / etc.)
I found I got the same error with electricsheepguiMyDialog2.cpp when using
wxWidgets 2.8, no issue when upgrading to 2.9:
http://codelite.org/LiteEditor/WxWidgets29Binaries
Original comment by theallis...@gmail.com
on 2 Oct 2013 at 2:54
[deleted comment]
Bug has been open since 2012, doesnt look like its going to be fixed anytime
soon. IMO the priority should be changed to High as the application doesnt even
run on RHEL/Fedora machines
Original comment by sfertig...@gmail.com
on 14 Oct 2013 at 2:02
We need a Linux maintainer. Priority isn't the issue.
Original comment by scottdra...@gmail.com
on 14 Oct 2013 at 2:54
Thanks for getting back, guys!
@theallis good point about wxgtk, I was actually using version 2.8 (blindly
believing my Arch Linux installation always uses the latest version -- wxgtk
2.9 is an optional alternative). I was able to modify configure.ac to look for
version 2.9 but even then the build process dies because of undeclared
time-related functions/structures. The amount of errors generated almost makes
me believe there is something fundamentally wrong with the include path
although for the moment, the only modified file in my local checkout of the SVN
is the configure.ac script. Or, it may be my build environment...
@scott maintaining electricsheep might be an interesting hobby for me although
I have never maintained a project based on many external libraries and toolsets
so I'm not totally sure if I'd be up to the task. I'll see what I can do to
brush up on the required knowledge.
Original comment by znovo...@gmail.com
on 15 Oct 2013 at 9:03
If you're still seeing the time-related compile errors, you probably tried
running that patch script for fedora 16/18 and need to remove the links it adds
in /usr/include:
cd /usr/include
sudo rm -rf libavformat libavcodec libavutil
At least that got rid of those warnings for me, and allowed everything to
compile. (Which made me *so* happy!) Sadly, there is more to this problem
than compilation.
If I run the electricsheep binary, it downloads sheep and tries to start
playing them, but ends up just looping through all of them and not playing any
(looks like it's hung, but I think it's just endlessly looping-- regardless,
nothing is displayed and you have to ^C the process). "Failed to get frame..."
is the only WARN.
When I run the preferences they show up for a couple seconds and then die with:
Pango:ERROR:pango-layout.c:3863:pango_layout_check_lines: assertion failed:
(!layout->log_attrs)
No problem, start the prefs and click on "Run" right away (which starts the
instantly hung electricsheep process) and then switch back over to the
properties window-- it'll stay open now and you can set whatever you want.
(woohoo! =]p)
Obviously one can edit the prefs by hand, so not much gained there, but
whatever.
Anyhow, it's totes more promising to have things apparently compiling
correctly, but something is still borked in the player.
Perhaps there are some other OS switches we need to look at besides the FFMPEG
api one (since that is based on target OS, vs. a switch for the FFMPEG api
version itself as proposed in the initial comment) or some-such. Didn't see
anything that jumped out at me tho.
Of course, I suck at C++, so probably won't be much help. :)
FWIW, I'm running this on F19, and here is what the log says (endlessly loop'n,
apparently the 9th iteration below... the log just grows and grows):
...
[INFO-17:34:43]: 'Picked connection 78111 from pq (playcount 9 )'
[INFO-17:34:43]: 'Next sheep chosen: 78111 played 9 times'
[INFO-17:34:43]: 'Opening:
/home/awesomesauce/es/mpeg/00244=80212=79916=78111.avi'
[WARN-17:34:43]: 'failed to get frame...'
[INFO-17:34:43]: 'Open done()'
[INFO-17:34:43]: 'calling Next()'
[WARN-17:34:43]: 'failed to get frame...' x1
[INFO-17:34:43]: 'GraphAlgo: CurrentSheep = 78111'
[INFO-17:34:43]: 'picking edge!'
[INFO-17:34:43]: 'no loops'
[INFO-17:34:43]: 'Picked connection 80213 from pq (playcount 9 )'
[INFO-17:34:43]: 'Next sheep chosen: 80213 played 9 times'
[INFO-17:34:43]: 'Opening:
/home/awesomesauce/es/mpeg/00244=78111=78111=78111.avi'
[WARN-17:34:43]: 'failed to get frame...'
...
Original comment by valliant...@gmail.com
on 15 Oct 2013 at 6:58
I should also note that the only difference between the SVN sources (R146) and
my currently compiling (on FC19) code is:
-#ifdef MAC
- #define USE_NEW_FFMPEG_API
-#endif
+#define USE_NEW_FFMPEG_API
I did *not* have to add <ctime> and I skipped modding configure.ac (you'd add
that edit and totally remove this switch to do it right, as the OP stated).
Original comment by valliant...@gmail.com
on 15 Oct 2013 at 7:13
@valliant -- Actually I have not used any script (as I'm not running FC), all
of the directories in /usr/include that you mention are regular directories
owned by ffmpeg.
I had to mod configure.ac because wxgtk 2.9 on Arch Linux uses a different name
for the wx-config tool (called wx-config-2.9) since you can have both 2.8 and
2.9 installed simultaneously. I also used the AC_CHECK_LIB macro posted above
to test for old/new ffmpeg library API but that is all.
I think I'll have to dig down during the weekend and *really* try to figure
this out. Thanks for the help so far! :)
Original comment by znovo...@gmail.com
on 16 Oct 2013 at 4:55
Okay, I may be on to something -- been googling around this morning and seen a
post at StackOverflow suggesting it's a name conflict between unrelated header
files with the same name.
Now, in this case it seems that the time.h file from libavutil clashes with the
system time.h. I guess reordering the include search path might help here.
(Btw. am I the only one who thinks giving a header file the same name as some
other system file is not the best idea? :| )
Original comment by znovo...@gmail.com
on 29 Oct 2013 at 8:38
Okay, I finally managed to get electricsheep to compile. The culprit were the
lines in MSVC/SettingsGUI/Makefile.am that added include search paths for
libav* libraries.
It seems the header files in those respective directories are not in use (yet)
so I reckon it'd be best if those files were included with the subdirectories
added in the #include directives to prevent any similar conflict.
Now I'll try to see what happens when the download of the first flock finishes
-- as was posted earlier, the screensaver gets stuck on the "download" screen.
Original comment by znovo...@gmail.com
on 4 Nov 2013 at 8:57
any chance this will ever run on any RHEL at all? ever? bugs been open for a
long time so i was just wondering.
Original comment by scristop...@gmail.com
on 11 Dec 2013 at 12:30
Posting in the forum seems disabled, so I'll leave this here.
When attempting to compile r160 on Ubuntu 14.10 (libavcodec-dev/libavformat-dev
6:11-1) with:
autoreconf -vfi && ./autogen.sh && ./configure && make
I get this error:
../ContentDecoder/ContentDecoder.cpp: In member function ‘bool
ContentDecoder::CContentDecoder::Open(ContentDecoder::sOpenVideoInfo*)’:
../ContentDecoder/ContentDecoder.cpp:240:131: error: ‘AVStream’ has no
member named ‘r_frame_rate’
ovi->m_totalFrameCount = uint32(((((double)ovi->m_pFormatContext->duration/(double)AV_TIME_BASE)) / av_q2d(ovi->m_pVideoStream->r_frame_rate) + .5));
^
Makefile:1006: recipe for target 'ContentDecoder.o' failed
Workaround:
In ContentDecoder/ContentDecoder.cpp replace the two occurrences of
'r_frame_rate' with 'avg_frame_rate'
Original comment by skinlay...@gmail.com
on 28 Feb 2015 at 2:17
Original issue reported on code.google.com by
andreas....@inria.fr
on 3 Dec 2012 at 9:33