Trying to get OFX working on an amd64 laptop

Bill Suit bsuit at bellsouth.net
Tue Oct 12 13:57:02 EDT 2004


While attempting to address your information needs, I decided to rebuild
libofx-0.6.6. I am not able to complete the build, with the following
info provided from the failed build:

...
creating ofx2qif
make[2]: Leaving directory
`/home/var/tmp/portage/libofx-0.6.6/work/libofx-0.6.6/ofx2qif'
Making all in ofxdump
make[2]: Entering directory
`/home/var/tmp/portage/libofx-0.6.6/work/libofx-0.6.6/ofxdump'
if g++ -DHAVE_CONFIG_H -I. -I. -I..  -I../inc   -march=athlon64 -O2
-pipe -MT ofxdump.o -MD -MP -MF ".deps/ofxdump.Tpo" \
  -c -o ofxdump.o `test -f 'ofxdump.cpp' || echo './'`ofxdump.cpp; \
then mv ".deps/ofxdump.Tpo" ".deps/ofxdump.Po"; \
else rm -f ".deps/ofxdump.Tpo"; exit 1; \
fi
ofxdump.cpp: In function `int
ofx_proc_transaction_cb(OfxTransactionData)':
ofxdump.cpp:207: error: `data' cannot appear in a constant-expression
ofxdump.cpp:207: error: `.' cannot appear in a constant-expression
ofxdump.cpp:209: error: `data' cannot appear in a constant-expression
ofxdump.cpp:209: error: `.' cannot appear in a constant-expression
...

and the two error lines, 'data' and '.', repeat approx. another 20 or so
times.

>From the ofxdump.cpp file:

...
int ofx_proc_transaction_cb(struct OfxTransactionData data)     #this is
line 196#
{
  char dest_string[255];
  cout<<"ofx_proc_transaction():\n";
  
  if(data.account_id_valid==true){
    cout<<"    Account ID : "<<data.account_id<<"\n";
  }
  
  if(data.transactiontype_valid==true){
    switch(data.transactiontype){
    case data.OFX_CREDIT: strncpy(dest_string, "CREDIT: Generic credit",
sizeof(dest_string));     #this is line 207#
      break;
    case data.OFX_DEBIT: strncpy(dest_string, "DEBIT: Generic debit",
sizeof(dest_string));
      break;
    case data.OFX_INT: strncpy(dest_string, "INT: Interest earned or
paid (Note: Depends on signage of amount)", sizeof(dest_string));
      break;
    case data.OFX_DIV: strncpy(dest_string, "DIV: Dividend",
sizeof(dest_string));
      break;
...
and this section of code ends on line 243,
...
 case data.OFX_REPEATPMT: strncpy(dest_string, "REPEATPMT: Repeating
payment/standing order", sizeof(dest_string));
      break;
    case data.OFX_OTHER: strncpy(dest_string, "OTHER: Other",
sizeof(dest_string));
      break;
    default : strncpy(dest_string, "Unknown transaction type",
sizeof(dest_string));
      break;
    }     #this is line 243#

>From the config.log file an error message like the following:

...
configure:2730: $? = 0
configure:2733: test -s conftest.o
configure:2736: $? = 0
configure:2762: g++ -c -march=athlon64 -O2 -pipe  conftest.cc >&5
conftest.cc: In function `int main()':
conftest.cc:13: error: `exit' undeclared (first use this function)
conftest.cc:13: error: (Each undeclared identifier is reported only once
for each function it appears in.)
configure:2768: $? = 1
configure: failed program was:
| /* confdefs.h.  */

which first appeared in the 'core tests' section and repeated about 5-6
different times farther down the log until the log ends with:

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define HAVE_DLFCN_H 1
#define HAVE_EVENTGENERATOR_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_MEMORY_H 1
#define HAVE_PARSEREVENTGENERATORKIT_H 1
#define HAVE_SGMLAPPLICATION_H 1
#define HAVE_STDINT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRINGS_H 1
...
#define PACKAGE_VERSION ""
#define SP_MULTI_BYTE 1
#define STDC_HEADERS 1
#define STDC_HEADERS 1
#define VERSION "0.6.6"
#endif
#ifdef __cplusplus
extern "C" void std::exit (int) throw (); using std::exit;

configure: exit 0

Thanks for any pointers with this. If I'm to correct/repair any of the
code around line 207 and down, please be specific as to what I need to
do. Bill


On Tue, 2004-10-05 at 09:32, Derek Atkins wrote:
> Link/compiled -- same difference from my standpoint.  The module did
> not get built/installed.
> 
> As I said, without more information there's no way to help you.  If you
> could provide the log output from "make all" in src/import-export/ofx
> that would be a start.  Also, how did you "make install"?
> 
> -derek
> 
> Bill Suit <bsuit at bellsouth.net> writes:
> 
> > In a few tests Benoit had me run, which were not copied to my post, he
> > determined that the module had compiled. The problem, as I understood it
> >>From him, is in the linking process. I think this is what he was
> > indicating with my searching for libgncmod-ofx.so? Or are you saying
> > that because the libgncmod-ofx.so  does not exist, then the ofx module
> > did not compile?
> >
> > Not withstanding the above, at this time, am I beating a 'dead horse'?
> > TIA, Bill
> >
> > BTW, do you know of any distro that has a functioning 64bit compiled
> > gnucash with ofx working? I'll install it also, if you do.
> >
> >
> > On Sat, 2004-10-02 at 15:44, Derek Atkins wrote:
> >> This certainly looks like the module didn't compile.  Without
> >> MUCH more information there's no way to divine how/why it failed
> >> to build.
> >> 
> >> -derek



More information about the gnucash-devel mailing list