Trouble compiling stimfit

55 views
Skip to first unread message

David

unread,
Oct 2, 2009, 5:02:08 PM10/2/09
to stimfit
I'm trying to compile stimfit on a ubuntu 9.04 linux box and ./
configure --enable-python worked after I got all the dependencies.
The problem is when I run make, it errors out with the following:


g++ -DHAVE_CONFIG_H -I. -I/usr/include/python2.6 -DWITH_PYTHON -
D__LINUX__ -DHAVE_LAPACK -I/usr/lib/wx/include/gtk2-unicode-
release-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -
D_LARGE_FILES -D__WXGTK__ -DSTFDATE='"Fri Oct 2 15:50:15 CDT 2009"' -
O2 -g -g -O2 -I/usr/lib/wx/include/gtk2-unicode-release-2.8 -I/usr/
include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -
pthread -Wall -MT stimfit-abflib.o -MD -MP -MF .deps/stimfit-
abflib.Tpo -c -o stimfit-abflib.o `test -f './src/core/filelib/
abflib.cpp' || echo './'`./src/core/filelib/abflib.cpp
In file included from ./src/core/filelib/./axon/Common/axodefn.h:102,
from ./src/core/filelib/abflib.cpp:27:
./src/core/filelib/./axon/Common/unix.h:223: warning: ‘__stdcall__’
attribute ignored
./src/core/filelib/./axon/Common/unix.h:225: warning: ‘__stdcall__’
attribute ignored
./src/core/filelib/./axon/Common/unix.h:228: warning: ‘__stdcall__’
attribute ignored
./src/core/filelib/./axon/Common/unix.h:229: warning: ‘__stdcall__’
attribute ignored
./src/core/filelib/./axon/Common/unix.h:231: warning: ‘__stdcall__’
attribute ignored
./src/core/filelib/./axon/Common/unix.h:232: warning: ‘__stdcall__’
attribute ignored
./src/core/filelib/./axon/Common/unix.h:233: warning: ‘__stdcall__’
attribute ignored
./src/core/filelib/./axon/Common/unix.h:235: warning: ‘__stdcall__’
attribute ignored
In file included from ./src/core/filelib/./axon/AxAbfFio32/abffiles.h:
16,
from ./src/core/filelib/abflib.cpp:28:
./src/core/filelib/./axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:988:
error: size of array is negative
./src/core/filelib/./axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1282:
warning: ‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1292:
warning: ‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1297:
warning: ‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1301:
warning: ‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1305:
warning: ‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1310:
warning: ‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1328:
warning: ‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1426:
warning: ‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1429:
warning: ‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1432:
warning: ‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1435:
warning: ‘__stdcall__’ attribute ignored
In file included from ./src/core/filelib/./axon/AxAbfFio32/abffiles.h:
17,
from ./src/core/filelib/abflib.cpp:28:
./src/core/filelib/./axon/AxAbfFio32/../../axon2/abf2headr.h:1037:
warning: ‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/../../axon2/abf2headr.h:1048:
warning: ‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/../../axon2/abf2headr.h:1056:
warning: ‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/../../axon2/abf2headr.h:1087:
warning: ‘__stdcall__’ attribute ignored
In file included from ./src/core/filelib/abflib.cpp:28:
./src/core/filelib/./axon/AxAbfFio32/abffiles.h:107: warning:
‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/abffiles.h:116: warning:
‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/abffiles.h:118: warning:
‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/abffiles.h:121: warning:
‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/abffiles.h:123: warning:
‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/abffiles.h:131: warning:
‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/abffiles.h:133: warning:
‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/abffiles.h:179: warning:
‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/abffiles.h:181: warning:
‘__stdcall__’ attribute ignored
./src/core/filelib/./axon/AxAbfFio32/abffiles.h:221: warning:
‘__stdcall__’ attribute ignored
make[2]: *** [stimfit-abflib.o] Error 1
make[2]: Leaving directory `/home/davidmorton/Desktop/stimfit-0.9.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/davidmorton/Desktop/stimfit-0.9.1'
make: *** [all] Error 2


I believe the problem is the error about a negative array size around
the middle. Any ideas?

David

csh

unread,
Oct 4, 2009, 10:06:22 AM10/4/09
to stimfit
Hi David,
thanks for the problem report.

On Oct 2, 10:02 pm, David <davidlmor...@gmail.com> wrote:
> ./src/core/filelib/./axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:988:
> error: size of array is negative

First, do you use a 64bit system? I don't have access to any 64bit
Linux, but I know that the abf library (not written by me) won't build
correctly on 64bit. As a workaround, you could comment out line 988 in
the file mentioned above, i.e. add two forward slashes at the
beginning of the line:

// C_ASSERT(sizeof(ABFFileHeader) == 6144);

I'm afraid you won't be able to read abf files then.

Second, I'd recommend to follow the build instructions that José has
posted here:
http://www.stimfit.org/doc/sphinx/linux_install_guide/index.html
You'll need to build wxWidgets and wxPython 2.9 yourself if you'd like
to enable the Python console. To my knowledge, the packages that come
with Jaunty won't work.

I apologize for the difficult building procedure. Let me know if you
run into any other issues.
Best
Christoph

David Morton

unread,
Oct 5, 2009, 1:37:51 AM10/5/09
to sti...@googlegroups.com
I need to read abf1 files and I've tried some pure python code (from
Harald Hentschke) that was adapted from matlab code, but it does not
read the data correctly.

David

csh

unread,
Oct 5, 2009, 7:36:18 AM10/5/09
to stimfit
On Oct 5, 6:37 am, David Morton <davidlmor...@gmail.com> wrote:
> I need to read abf1 files and I've tried some pure python code (from
> Harald Hentschke) that was adapted from matlab code, but it does not
> read the data correctly.

I've added support for reading abf1 files on 64bit systems to the
latest development code. You'll need mercurial to access it:

$ sudo apt-get mercurial

You can then download a local copy of the source repository using

$ hg clone https://stimfit.googlecode.com/hg/ stimfit

Please follow the build instructions posted here:

http://www.stimfit.org/doc/sphinx/linux_install_guide/index.html

If you don't need the Python console, you won't need to build
wxPython. Please send me a sample abf file if you still have trouble
reading them.
Best
Christoph

David Morton

unread,
Oct 5, 2009, 3:13:03 PM10/5/09
to sti...@googlegroups.com
So, in the end I'll want the python console, but just to see if I
could get it going I went ahead and just did a vanilla ./configure.
Then during make I got the following. I'm not sure what its relating
too, but it appears to be wx related. To be completely honest, I'm
really just interested in reading abf files in linux, in my python
code. I was going to work on compiling shared libraries and using
swig or something, but I figured you'd already gotten it going so I
was going to start with your version of stuff. I may be out of my
depth here though, my c++ is really really rusty and I don't properly
understand the autoconf/automake system too well. I was just going to
muddle through it. Any help would be very much appreciated.

g++ -DHAVE_CONFIG_H -I. -D__LINUX__ -DHAVE_LAPACK
-I/usr/lib/wx/include/gtk2-unicode-release-2.8 -I/usr/include/wx-2.8
-D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -DSTFDATE='"Mon Oct
5 10:49:29 CDT 2009"' -O2 -g -g -O2
-I/usr/lib/wx/include/gtk2-unicode-release-2.8 -I/usr/include/wx-2.8
-D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -pthread -Wall -MT
stimfit-app.o -MD -MP -MF .deps/stimfit-app.Tpo -c -o stimfit-app.o
`test -f './src/app/app.cpp' || echo './'`./src/app/app.cpp
In file included from ./src/app/./../core/filelib/axon/Common/axodefn.h:102,
from ./src/app/app.cpp:68:
./src/app/./../core/filelib/axon/Common/unix.h:223: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/Common/unix.h:225: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/Common/unix.h:228: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/Common/unix.h:229: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/Common/unix.h:231: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/Common/unix.h:232: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/Common/unix.h:233: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/Common/unix.h:235: warning:
‘__stdcall__’ attribute ignored
In file included from ./src/app/./../core/filelib/axon/AxAbfFio32/abffiles.h:16,
from ./src/app/app.cpp:69:
./src/app/./../core/filelib/axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1292:
warning: ‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1302:
warning: ‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1307:
warning: ‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1311:
warning: ‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1315:
warning: ‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1320:
warning: ‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1338:
warning: ‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1436:
warning: ‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1439:
warning: ‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1442:
warning: ‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/../AxAbfFio32/abfheadr.h:1445:
warning: ‘__stdcall__’ attribute ignored
In file included from ./src/app/./../core/filelib/axon/AxAbfFio32/abffiles.h:17,
from ./src/app/app.cpp:69:
./src/app/./../core/filelib/axon/AxAbfFio32/../../axon2/abf2headr.h:1045:
warning: ‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/../../axon2/abf2headr.h:1056:
warning: ‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/../../axon2/abf2headr.h:1064:
warning: ‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/../../axon2/abf2headr.h:1095:
warning: ‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/../../axon2/abf2headr.h:1098:
warning: ‘__stdcall__’ attribute ignored
In file included from ./src/app/app.cpp:69:
./src/app/./../core/filelib/axon/AxAbfFio32/abffiles.h:107: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/abffiles.h:116: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/abffiles.h:118: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/abffiles.h:121: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/abffiles.h:123: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/abffiles.h:131: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/abffiles.h:133: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/abffiles.h:179: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/abffiles.h:181: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/abffiles.h:221: warning:
‘__stdcall__’ attribute ignored
./src/app/./../core/filelib/axon/AxAbfFio32/abffiles.h:234: warning:
‘__stdcall__’ attribute ignored
./src/app/app.cpp: In member function ‘virtual void
wxStfApp::OnInitCmdLine(wxCmdLineParser&)’:
./src/app/app.cpp:102: error: conversion from ‘const char [2]’ to
‘const wxString’ is ambiguous
/usr/include/wx-2.8/wx/string.h:692: note: candidates are:
wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.8/wx/string.h:682: note:
wxString::wxString(int) <near match>
./src/app/app.cpp:102: error: conversion from ‘const char [4]’ to
‘const wxString’ is ambiguous
/usr/include/wx-2.8/wx/string.h:692: note: candidates are:
wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.8/wx/string.h:682: note:
wxString::wxString(int) <near match>
./src/app/app.cpp:102: error: conversion from ‘const char [31]’ to
‘const wxString’ is ambiguous
/usr/include/wx-2.8/wx/string.h:692: note: candidates are:
wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.8/wx/string.h:682: note:
wxString::wxString(int) <near match>
./src/app/app.cpp:104: error: conversion from ‘const char [13]’ to
‘const wxString’ is ambiguous
/usr/include/wx-2.8/wx/string.h:692: note: candidates are:
wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.8/wx/string.h:682: note:
wxString::wxString(int) <near match>
./src/app/app.cpp: In member function ‘virtual bool
wxStfApp::OnCmdLineParsed(wxCmdLineParser&)’:
./src/app/app.cpp:116: error: ambiguous overload for ‘operator<<’ in
‘msg << "New working directory "’
/usr/include/wx-2.8/wx/string.h:992: note: candidates are: wxString&
wxString::operator<<(const wxString&) <near match>
/usr/include/wx-2.8/wx/string.h:1006: note: wxString&
wxString::operator<<(wxChar) <near match>
/usr/include/wx-2.8/wx/string.h:1010: note: wxString&
wxString::operator<<(const wxWCharBuffer&) <near match>
/usr/include/wx-2.8/wx/string.h:1060: note: wxString&
wxString::operator<<(int) <near match>
/usr/include/wx-2.8/wx/string.h:1063: note: wxString&
wxString::operator<<(unsigned int) <near match>
/usr/include/wx-2.8/wx/string.h:1066: note: wxString&
wxString::operator<<(long int) <near match>
/usr/include/wx-2.8/wx/string.h:1069: note: wxString&
wxString::operator<<(long unsigned int) <near match>
/usr/include/wx-2.8/wx/string.h:1073: note: wxString&
wxString::operator<<(long long int) <near match>
/usr/include/wx-2.8/wx/string.h:1079: note: wxString&
wxString::operator<<(long long unsigned int) <near match>
./src/app/app.cpp:123: error: ambiguous overload for ‘operator<<’ in
‘msg << "Couldn\'t change working directory to "’
/usr/include/wx-2.8/wx/string.h:992: note: candidates are: wxString&
wxString::operator<<(const wxString&) <near match>
/usr/include/wx-2.8/wx/string.h:1006: note: wxString&
wxString::operator<<(wxChar) <near match>
/usr/include/wx-2.8/wx/string.h:1010: note: wxString&
wxString::operator<<(const wxWCharBuffer&) <near match>
/usr/include/wx-2.8/wx/string.h:1060: note: wxString&
wxString::operator<<(int) <near match>
/usr/include/wx-2.8/wx/string.h:1063: note: wxString&
wxString::operator<<(unsigned int) <near match>
/usr/include/wx-2.8/wx/string.h:1066: note: wxString&
wxString::operator<<(long int) <near match>
/usr/include/wx-2.8/wx/string.h:1069: note: wxString&
wxString::operator<<(long unsigned int) <near match>
/usr/include/wx-2.8/wx/string.h:1073: note: wxString&
wxString::operator<<(long long int) <near match>
/usr/include/wx-2.8/wx/string.h:1079: note: wxString&
wxString::operator<<(long long unsigned int) <near match>
make[2]: *** [stimfit-app.o] Error 1
make[2]: Leaving directory `/home/davidmorton/stimfit'


make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/home/davidmorton/stimfit'


make: *** [all] Error 2

David

csh

unread,
Oct 5, 2009, 4:19:46 PM10/5/09
to stimfit
On Oct 5, 8:13 pm, David Morton <davidlmor...@gmail.com> wrote:
> ./src/app/app.cpp: In member function ‘virtual void
> wxStfApp::OnInitCmdLine(wxCmdLineParser&)’:
> ./src/app/app.cpp:102: error: conversion from ‘const char [2]’ to
> ‘const wxString’ is ambiguous
> /usr/include/wx-2.8/wx/string.h:692: note: candidates are:
> wxString::wxString(wxChar, size_t) <near match>

I apologize for all the building inconveniences that you're going
through. Apparently, I've lost wxWidgets 2.8 backwards compatibility
at some point of time, so you'll need to build wxWidgets 2.9 as
described here:

http://www.stimfit.org/doc/sphinx/linux_install_guide/downloads.html#download-wxwidgets-and-wxpython-via-svn

and here:

http://www.stimfit.org/doc/sphinx/linux_install_guide/building.html#building-wxwidgets

I'll try to re-establish 2.8 compatibility, but this might take a
couple of days.

Let me know if you run into any problems with wxWidgets 2.9. On the
long run, I was thinking to make the file IO functions independent of
the Stimfit GUI so that you can simply call them from your preferred
shell without going through all the wx-building hassle.
Best
Christoph
Reply all
Reply to author
Forward
0 new messages