HylaFAX The world's most advanced open source fax server

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Compile errors: hylafax-v4.0pl2, Solaris 2.6, SPARC, gcc 2.8.1



We;re building a new server to replace the existing one and are starting
with the latest OS revision and software distributions:
    Hardware: SPARC Ultra-1
    Software: Solaris 2.6, hylafax-v4.0pl2, GNU gcc 2.8.1 (and libstdc++
2.8.1)

When compiling util/SendFaxClient.c++, gcc barfs on line 499


     /usr/5bin/ksh ../port/mkdepend   -e 's@ /usr/include/@ /@' -s C++
     -e 's@\.c++\.o *: @\.o: @' -c  /opt/GCC281/bin/gcc -I.././zlib
     -D__ANSI_CPP__ -I. -I.. -I.././util -I.././util
     -I/usr/local/include -I.././regex -g -O -x c++ -c -M  -i Makedepend
     SendFaxJob.c++
     /opt/GCC281/bin/gcc      -I.././zlib  -D__ANSI_CPP__ -I. -I..
     -I.././util  -I.././util -I/usr/local/include -I.././regex -g -O -x
     c++ -c SendFaxJob.c++
     SendFaxJob.c++: In method `unsigned char
     SendFaxJob::createJob(class SendFaxClient &, class fxStr &)':
     SendFaxJob.c++:499: no matching function for call to
     `SendFaxClient::sendZData (int &, unsigned char (FaxClient::)(fxStr
     &, fxStr &), fxStr &, fxStr &)'
     FaxClient.h:273: candidates are: FaxClient::sendZData(int, unsigned
     char (FaxClient::*)(fxStr &, fxStr &), fxStr &, fxStr &)
     *** Error code 1
     make: Fatal error: Command failed for target `SendFaxJob.o'
     Current working directory /usr/local/src/hylafax-v4.0pl2/util
     *** Error code 1
     make: Fatal error: Command failed for target `default'
     Current working directory /usr/local/src/hylafax-v4.0pl2/util
     *** Error code 1
     make: Fatal error: Command failed for target `dirs'
     Current working directory /usr/local/src/hylafax-v4.0pl2
     *** Error code 1
     make: Fatal error: Command failed for target `default'

The second argument, supposed to be a FaxClient method pointer, is being
passed improperly according to gcc.  If I change line 499 from
    && client.sendZData(fd, FaxClient::storeTemp, coverDoc, emsg);
to
    && client.sendZData(fd, &FaxClient::storeTemp, coverDoc, emsg);
it compiles but I'm wondering what the implications will be at runtime.

Can anyone tell me if it is correct to modify the source accordingly or
is my gcc installation to blame?  How do I fix gcc then?

Thanks in advance,

-Paul

BTW:  After adding thr '&' to SendFaxJob.c++ and make'ing again, I see
the problem also in SendFaxClient.c++ on lines 460 and 464.  I wonder if
this is widespread.

--
Paul Dugas, Systems Engineer
GTC Systems, Atlanta GA, USA
pdugas@inetnow.net 404-635-8026




Project hosted by iFAX Solutions