ggolggoli / delaboratory

Automatically exported from code.google.com/p/delaboratory
GNU General Public License v3.0
0 stars 0 forks source link

Compile Error #1

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Try compiling on Windows 7 64bit
2. Using WxWidgets 2.9.1 
3.

What is the expected output? What do you see instead?
A compiled application

What version of the product are you using? On what operating system?
.1 on Window 7 64 bit

Please provide any additional information below.
Here is the error message:
src/layer_list_panel.h:32: error: ISO C++ forbids declaration of 'wxListCtrl' 
with no type

Original issue reported on code.google.com by parth...@gmail.com on 1 Jun 2011 at 10:56

GoogleCodeExporter commented 8 years ago
Are you sure that you have installed wxWidgets correctly?
What's the output of:

wx-config --cxxflags

?

Original comment by jacekpop...@gmail.com on 2 Jun 2011 at 8:11

GoogleCodeExporter commented 8 years ago
Well, I compiled WxWidgets 2.9.1 and the compilation did go without
errors, but I can check again. In response to your question, the
output from

wx-config --cxxflags is

-I/opt/lib/wx/include/msw-unicode-2.9 -I/opt/include/wx-2.9
-D_LARGEFILE_SOURCE=unknown -DWXUSINGDLL -D__WXMSW__

and from
wx-config --libs is

-L/opt/lib   -Wl,--subsystem,windows -mwindows -lwx_mswu_xrc-2.9
-lwx_mswu_html-2.9 -lwx_mswu_qa-2.9 -lwx_mswu_adv-2.9
-lwx_mswu_core-2.9 -lwx_baseu_xml-2.9 -lwx_baseu_net-2.9
-lwx_baseu-2.9

and finally from

wx-config --version is

2.9.1

I modified your makefile to account for the fact that on my system, I
have set everything up in /opt.

Original comment by parth...@gmail.com on 2 Jun 2011 at 9:34

GoogleCodeExporter commented 8 years ago
Hm, I never used 2.9 version, so maybe the problem is related to that, I will 
need to install 2.9 on Linux and check it myself.

On 2.8 wxListCtrl is defined in <wx/listctrl.h> so you could try to add:

#include <wx/listctrl.h>

or go to the includes of wx and find is there wxListCtrl there

Original comment by jacekpop...@gmail.com on 2 Jun 2011 at 9:56

GoogleCodeExporter commented 8 years ago
OK - that took care of that error. Now we have the following:
src/sampler_panel.cc:69: error: no matching function for call to
'wxGridSizer::wxGridSizer(int, int)

WxGridSizer is defined in sizer.h and so added
#include <wx/sizer.h>
to sampler_panel.h

However, I believe the function call has changed in 2.9.1. The
relevant section in sizer.h is:
class WXDLLIMPEXP_CORE wxGridSizer: public wxSizer
    wxGridSizer( int cols, int vgap, int hgap );
    wxGridSizer( int cols, const wxSize& gap = wxSize(0, 0) );
    wxGridSizer( int rows, int cols, int vgap, int hgap );
    wxGridSizer( int rows, int cols, const wxSize& gap );
    DECLARE_CLASS(wxGridSizer)
class WXDLLIMPEXP_CORE wxFlexGridSizer: public wxGridSizer

So, looks like you have to change the function call?

Maybe it would be better for me to install 2.8. But considering that
you will have to do this anyway, perhaps it is better to debug with
2.9.1

Original comment by parth...@gmail.com on 2 Jun 2011 at 10:48

GoogleCodeExporter commented 8 years ago
http://docs.wxwidgets.org/2.6/wx_wxgridsizer.html#wxgridsizer

probably vgap and hgap is not by default 0 anymore

please try to change:
wxSizer* sizer = new wxGridSizer(2, 4);

to:
wxSizer* sizer = new wxGridSizer(2, 4, 0, 0);

is it better now?

Original comment by jacekpop...@gmail.com on 2 Jun 2011 at 10:53

GoogleCodeExporter commented 8 years ago
OK - I got passed that and the same issue in layer_dialog.cc

Now the problem is that I am getting the following:
source_image.o:source_image.cc:(.text+0xf1): undefined reference to `TIFFOpen'
(a few of these all defined in my tiffio.h)

So, I changed sounrce_image.h
line 14: #include "tiffio.h"
to
#include <tiffio.h>

Note that my tiffio.h is in /opt/include and I am passing that in the Makefile.

Similar issue in final_image.cc.

Original comment by parth...@gmail.com on 2 Jun 2011 at 10:31

GoogleCodeExporter commented 8 years ago
OK - firgured it out. You need to add -ltiff in the Makefile. Now I
have it compiled. I will test in a couple of hours. :)

Original comment by parth...@gmail.com on 2 Jun 2011 at 11:06

GoogleCodeExporter commented 8 years ago
I assumed wxWidgets already uses libtiff, maybe that's not true on Windows. 
Thanks for resolving it out, I will modify Makefile and sources soon. Tell me 
how it works :)

Original comment by jacekpop...@gmail.com on 2 Jun 2011 at 11:38

GoogleCodeExporter commented 8 years ago
Thanks for replying so fast. However, I am having a equivalent of
segmentation fault. So, I need to check that out. Do you have any
ideas? Remember, I have compiled it as 64-bit app.

Original comment by parth...@gmail.com on 2 Jun 2011 at 11:43

GoogleCodeExporter commented 8 years ago
If I am correct two people from forums compiled it on 64-bit Ubuntu, so arch is 
probably not a problem. Do you have gdb there? If you need debugging symbols 
you have to uncomment line with "-g" in Makefile and maybe comment out line 
with "-O2".

Then you run app with gdb:

gdb ./delaboratory

run it with "r" and when it crash type "bt" and paste here an output

if it's not possible then we need to add some logs

Original comment by jacekpop...@gmail.com on 2 Jun 2011 at 11:52

GoogleCodeExporter commented 8 years ago
I don't have gdb here so will look into installing it. In the
meantime, the application crashes on startup and Windows provides me
with the following:

Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: delaboratory.exe
  Application Version:  0.0.0.0
  Application Timestamp:    4de81e1d
  Fault Module Name:    StackHash_654f
  Fault Module Version: 6.1.7601.17514
  Fault Module Timestamp:   4ce7c8f9
  Exception Code:   c0000374
  Exception Offset: 00000000000c40f2
  OS Version:   6.1.7601.2.1.0.768.3
  Locale ID:    1033
  Additional Information 1: 654f
  Additional Information 2: 654f050eb7d1d10d969e2e654cfa92c1
  Additional Information 3: 9d7e
  Additional Information 4: 9d7e637291be13c11508a39eec6c7af9

Does this help?

Original comment by parth...@gmail.com on 2 Jun 2011 at 11:57

GoogleCodeExporter commented 8 years ago
No, I don't know what these numbers mean.

I just found; 0xC0000374 -STATUS_HEAP_CORRUPTION

gdb would help, adding logs won't be quick and easy, so if we want to run it 
soon the gdb is the fastest option to find out what's wrong

Original comment by jacekpop...@gmail.com on 3 Jun 2011 at 12:01

GoogleCodeExporter commented 8 years ago
OK. Here we go:

$ /usr/src/addnl-libs/gdb/gdb ./delaboratory.exe
GNU gdb (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-w64-mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from
c:\Users\partha\src\graphics\delaboratory-0.1/./delaboratory.exe...done.
(gdb) r
Starting program:
c:\Users\partha\src\graphics\delaboratory-0.1/./delaboratory.exe
[New Thread 6524.0x444]
warning: Critical error detected c0000374

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00000000778c40c0 in ntdll!RtlUnicodeToCustomCPN () from
C:\Windows\system32\ntdll.dll
(gdb) bt
#0  0x00000000778c40c0 in ntdll!RtlUnicodeToCustomCPN () from
C:\Windows\system32\ntdll.dll
#1  0x000000000022f0a0 in ?? ()
#2  0x0000000000000000 in ?? ()
(gdb)

Original comment by parth...@gmail.com on 3 Jun 2011 at 12:20

GoogleCodeExporter commented 8 years ago
No idea what does it mean but two first google hits for this problem show 
RawTherapee and Blender :)

Original comment by jacekpop...@gmail.com on 3 Jun 2011 at 12:25

GoogleCodeExporter commented 8 years ago
Great! I was never able to compile RT ever. :)

However, I have Gimp 2.7.3 on my website along with assorted plugins
that I have compiled. So my setup is fine.

I guess next is log?

Original comment by parth...@gmail.com on 3 Jun 2011 at 12:28

GoogleCodeExporter commented 8 years ago
I am just implementing some basic log support, just need to make if 
configurable via Makefile.

Original comment by jacekpop...@gmail.com on 3 Jun 2011 at 12:32

GoogleCodeExporter commented 8 years ago
Thanks. In the meantime, I looked at this thread with a similar issue
if it helps:

http://sourceforge.net/projects/mingw-w64/forums/forum/723798/topic/3875743

Original comment by parth...@gmail.com on 3 Jun 2011 at 12:35

GoogleCodeExporter commented 8 years ago
1) please update version from SVN
2) I tried to add missing things for Windows you mentioned, tell me if I missed 
something
3) I fixed wxGridSizer calls
4) I removed profile support by default
5) to enable logging please uncomment -DDE_LOGGER in Makefile and make clean, 
make

Original comment by jacekpop...@gmail.com on 3 Jun 2011 at 12:56

GoogleCodeExporter commented 8 years ago
OK - done. I did what you specified below. I do have to modify the
Makefile to add the following (Sorry I didn't mention before):

CXX=g++ -L/opt/lib -ltiff -I/opt/include
CC=gcc -L/opt/lib -I/opt/include
LDFLAGS=`wx-config --libs` -L/opt/lib -ltiff
CXXFLAGS=`wx-config --cxxflags` -I/opt/include

Then it compiled cleanly. However, the logfile delaboratory.log is not
informative to me. It is attached.

Original comment by parth...@gmail.com on 3 Jun 2011 at 1:26

GoogleCodeExporter commented 8 years ago
I don't see attachment, please upload somewhere and give a link or use web 
interface to attach file :)
(the good thing is that delaboratory.log was created and wasn't empty, this way 
we have some place to get any info about this run)

Original comment by jacekpop...@gmail.com on 3 Jun 2011 at 1:30

GoogleCodeExporter commented 8 years ago
I did attach the file. Here is a copy of the log:

$ cat delaboratory.log
starting project...
add new layer...
set view...

Original comment by parth...@gmail.com on 3 Jun 2011 at 1:32

GoogleCodeExporter commented 8 years ago
1) I installed wxGTK 2.9 on Arch Linux and it works, so that's not the issue
2) I fixed one thing and added "set view done" to log
3) please update SVN and tell me if anything changed, or maybe it will even work
4) I can't add /opt stuff to Makefile, so you need to add -I/opt/include, but 
if I am correct you shouldn't add -L/opt/lib because you wrote that wx-config 
--libs already does that

Original comment by jacekpop...@gmail.com on 3 Jun 2011 at 1:43

GoogleCodeExporter commented 8 years ago
Compiles without a problem now. I didn't have to change anything
except add the include library and export CC=gcc.

However, it still crashes with the same error and when I run debug, I
get the same error.

The logfile and gdb say:
$ cat delaboratory.log
starting project...
add new layer...
set view...
set view done

partha@Champagne /usr/src/graphics/delaboratory-read-only
$  /usr/src/addnl-libs/gdb/gdb ./delaboratory.exe
GNU gdb (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-w64-mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from
c:\Users\partha\src\graphics\delaboratory-read-only/./delaboratory.exe...done.
(gdb) r
Starting program:
c:\Users\partha\src\graphics\delaboratory-read-only/./delaboratory.exe
[New Thread 5268.0x1c78]
warning: Critical error detected c0000374

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00000000778c40c0 in ntdll!RtlUnicodeToCustomCPN () from
C:\Windows\system32\ntdll.dll
(gdb) rt
Undefined command: "rt".  Try "help".
(gdb) bt
#0  0x00000000778c40c0 in ntdll!RtlUnicodeToCustomCPN () from
C:\Windows\system32\ntdll.dll
#1  0x000000000022f0a0 in ?? ()
#2  0x0000000000000000 in ?? ()
(gdb)

Original comment by parth...@gmail.com on 3 Jun 2011 at 1:56

GoogleCodeExporter commented 8 years ago
I added more logs, now when it starts it should look this way:

starting project...
add new layer...
set view...
set view done
add new layer done
create main frame...
creating deImagePanel
set preview size [w: 0 h: 0]...
create main frame done
update layer list panel...
update layer list panel done
set preview size [w: 544 h: 659]...
deImagePanel::paintEvent

Please update SVN and tell me where this log ends :)

Original comment by jacekpop...@gmail.com on 3 Jun 2011 at 2:12

GoogleCodeExporter commented 8 years ago
You don't need sleep? :)

Here is the log:
$ cat delaboratory.log
starting project...
add new layer...
set view...
set view done
add new layer done

Original comment by parth...@gmail.com on 3 Jun 2011 at 2:18

GoogleCodeExporter commented 8 years ago
No ;)

OK so we are close, please update SVN and it should look this way:

starting project...
add new layer...
set view...
set view done
add new layer done
on init...
creating main frame on init...
create main frame...

if it crashes between "on init" and "creating main frame on init" then there is 
only one thing there: wxInitAllImageHandlers();

Original comment by jacekpop...@gmail.com on 3 Jun 2011 at 2:24

GoogleCodeExporter commented 8 years ago
Well, I will be sleeping soon but I will stick around for one more round. :)

Here is the new log:

$ cat delaboratory.log
starting project...
add new layer...
set view...
set view done
add new layer done
on init...
creating main frame on init...

Original comment by parth...@gmail.com on 3 Jun 2011 at 2:31

GoogleCodeExporter commented 8 years ago
so it crashes on creating main frame...
you could go to main_frame.cc and change code this way:

deMainFrame::deMainFrame(const wxSize& size, deProject* _project)
//: wxFrame((wxFrame *)NULL, wxID_ANY, _T("delaboratory 0.1 (c) 2011 Jacek 
Poplawski"), wxDefaultPosition, size) , project(_project)
: wxFrame((wxFrame *)NULL, wxID_ANY, _T(""), wxDefaultPosition, wxDefaultSize) 
, project(_project)
{

but I doubt the size is the problem, this is just creating wxFrame and I have 
no idea how it can crash

please check tommorow are you able to compile and run anything using wxWidgets 
(GIMP is not using it), maybe problem is not in delaboratory but something is 
wrong with wxWidgets installation?

Original comment by jacekpop...@gmail.com on 3 Jun 2011 at 2:38

GoogleCodeExporter commented 8 years ago
Well, after compiling wxWidget, I ran the demo which did just fine. I
have not compiled anything else involving wxWidget. I only installed
it to compile your software. :)

And you are right, it did not make any difference. The error is the same.

I will check if there are any other software I can test by compiling.

Good night.

Original comment by parth...@gmail.com on 3 Jun 2011 at 2:47

GoogleCodeExporter commented 8 years ago
I will rewrite this part to add more logs, thanks a lot for all this testing, 
good night :)

Original comment by jacekpop...@gmail.com on 3 Jun 2011 at 2:49

GoogleCodeExporter commented 8 years ago
I will continue to check tomorrow. In the meantime, I am noticing that
while the 64-bit wxWidget compiled just fine (with minor tweaks),
32-bit compile is a problem. I need that if I am to provide 32 and
64-bit delaboratory. :)

Original comment by parth...@gmail.com on 3 Jun 2011 at 2:51

GoogleCodeExporter commented 8 years ago
changed creation of main frame, now it should look this way:

starting project...
add new layer...
set view...
set view done
add new layer done
on init...
creating main frame on init...
create main frame...
Create called
creating deImagePanel
set preview size [w: 0 h: 0]...
create main frame done

Original comment by jacekpop...@gmail.com on 3 Jun 2011 at 2:54

GoogleCodeExporter commented 8 years ago
No change:

$ cat delaboratory.log
starting project...
add new layer...
set view...
set view done
add new layer done
on init...
creating main frame on init...
create main frame...

Original comment by parth...@gmail.com on 3 Jun 2011 at 3:07

GoogleCodeExporter commented 8 years ago
Have you considered that it might be a unicode issue since that is
what the error says? (just guessing...)

Original comment by parth...@gmail.com on 3 Jun 2011 at 3:12

GoogleCodeExporter commented 8 years ago
it just mean that Create crashed, please try to compile that tomorrow:

http://www.wxwidgets.org/docs/tutorials/hello.htm

is it working correctly on your setup?

Original comment by jacekpop...@gmail.com on 3 Jun 2011 at 3:25

GoogleCodeExporter commented 8 years ago
OK, we've narrowed the problem to my side of the table. :)

The program crashed on startup. So, I have an issue with my install. I
will get back to your program after I get my installation working.

Original comment by parth...@gmail.com on 3 Jun 2011 at 9:46

GoogleCodeExporter commented 8 years ago
Your wxWidgets installation crashes on creating frame, in this case on creating 
main window of application. Please try to install wxWidgets 2.8 or find 
precompiled binary, I don't know, never were able to install it in Windows.

Original comment by jacekpop...@gmail.com on 3 Jun 2011 at 9:48

GoogleCodeExporter commented 8 years ago
Were you able to install it somehow?

Original comment by jacekpop...@gmail.com on 8 Jun 2011 at 5:37

GoogleCodeExporter commented 8 years ago
Hi,
I am sorry, I have not pursued it further given that wxWidget crashes
on my system. I need to get Gimp 2.7.3 compiled and out.

But It is next on my list. Hopefully I can figure out why wxWidget is
crashing on my system before I trust it.

Original comment by parth...@gmail.com on 9 Jun 2011 at 2:36

GoogleCodeExporter commented 8 years ago
My email to you didn't show up here. hmm...

Any, finally compiled on Windows (64 and 32). Can I persuade you to use GTK? :)

I will put them up on my website in the next day or two. In the meantime, here 
is a screenshot.

Thanks,
Partha

Original comment by parth...@gmail.com on 16 Jun 2011 at 1:08

Attachments:

GoogleCodeExporter commented 8 years ago
Awesome!!!

gtk is written in C, so I would need to use gtkmm or something like that, I am 
not aware of Windows development problems and in Linux there is not really a 
issue... is installing gtkmm somehow easier than wx? 

if you give me binaries I will put them in the download section so finally 
everyone could try it in Windows :)

Original comment by jacekpop...@gmail.com on 16 Jun 2011 at 2:44

GoogleCodeExporter commented 8 years ago
You are welcome and I will make the binaries available to you as soon
as possible. I will be uploading them to my website soon.

I am curious why you would need gtkmm? When I compile Gimp, I don't
have to do that?

Thanks for your hard work!
Partha

Original comment by parth...@gmail.com on 16 Jun 2011 at 9:37

GoogleCodeExporter commented 8 years ago
I use wxWidgets as C++ interface to gtk, probably it can work same way with 
gtkmm (however on Windows wxWidgets uses WinAPI not gtk if I remember 
correctly).

This is not about code functionality but design. Pure gtk+ is written in C.

I think in the future I would need to split engine from the gui, to create 
no-gui version for batch processing.

Original comment by jacekpop...@gmail.com on 16 Jun 2011 at 10:01

GoogleCodeExporter commented 8 years ago
Where do you want me to upload? I will also be upload to my website.

Original comment by parth...@gmail.com on 16 Jun 2011 at 11:39

GoogleCodeExporter commented 8 years ago
send mi binary to jacekpoplawski@gmail.com or upload to your website and give 
me link :)

Original comment by jacekpop...@gmail.com on 17 Jun 2011 at 1:59

GoogleCodeExporter commented 8 years ago
Better to give you a link so that we don't have to upload twice. I
uploaded both version on my website
www.partha.com

I created an installer which will allow people to install and
uninstall. I have tested them on my computer, but we are going to need
some testers. I think I have included all the DLLs, but you never
know. Let me know if the writeup is OK.

Once I hear from you, I will announce on the flikr discussion as well
or you can. :)

Original comment by parth...@gmail.com on 17 Jun 2011 at 3:00

GoogleCodeExporter commented 8 years ago
OK I put link to your website in the NEWS section, I wanted to add it to 
downloads to see download counter but for now it's just a link, let's wait if 
it works for anyone :)
Please announce it on flickr so people will try it :)

Original comment by jacekpop...@gmail.com on 17 Jun 2011 at 3:09

GoogleCodeExporter commented 8 years ago

Original comment by jacekpop...@gmail.com on 18 Oct 2011 at 1:38