OK,
I'm running Gentoo Linux.
The gcc compiler gives me:
gcc --version
gcc (GCC) 4.1.1 (Gentoo 4.1.1-r3)
Copyright (C) 2006 Free Software Foundation, Inc.
I'm building SDDS, StripTool, alh, and medm in the extensions directory, all of which build with no errors. Also have edm, but I have to build it separately for some reason.
I downloaded archiver.tgz from the extensions page, and when I unpack the 'ChannelArchiver' package and rebuild, it rebuilds the others fine, but fails on 'ChannelArchiver'.
I did a grep on HOME, but the only references I can find to it are correct (no $HOME, but I have $(HOME)) in the config and configure directories.
In the ChannelArchiver make.cfg file, I did find $HOME, however. Changing that to $(HOME) fixed the 'IOME' problem and gave me all the includes, but did not fix the problem with compiling the package.
Adding the 'class' keyword to line 130 of the 'LibIO/DataFile.h' file did fix that problem.
Now, I have an error (much farther down in compiling) that says:
*-------------------------------------------------------------
/usr/bin/g++ -c -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS -D_XOPEN_SOURCE=500 -D_X86_ -DUNIX -D_BSD_SOURCE -Dlinux -D_REENTRANT -ansi -g -Wall -D ARCH_VERSION=2 -D ARCH_RELEASE=9 -D ARCH_PATCH=2 -D ARCH_VERSION_TXT=\"2.9.2\" -I/home/daviddu/include -I/usr/local/EPICS/base/include -I/usr/local/EPICS/base/include/os/Linux -I/usr/local/xerces-c-src2_4_0/include -I${prefix}/include -g -I. -I.. -I/usr/local/EPICS/include/os/Linux -I/usr/local/EPICS/include -I/usr/local/EPICS/base/include/os/Linux -I/usr/local/EPICS/base/include -I/usr/local/EPICS/include/os/Linux -I/usr/local/EPICS/include ../main_standalone.cpp
../main_standalone.cpp:13:26: error: xmlrpc_abyss.h: No such file or directory
../main_standalone.cpp: In function 'int main(int, char**)':
../main_standalone.cpp:70: error: 'XMLRPC_SERVER_ABYSS_NO_FLAGS' was not declared in this scope
../main_standalone.cpp:70: error: 'xmlrpc_server_abyss_init' was not declared in this scope
../main_standalone.cpp:81: error: 'xmlrpc_server_abyss_add_method_w_doc' was not declared in this scope
../main_standalone.cpp:85: error: 'xmlrpc_server_abyss_run' was not declared in this scope
make[2]: *** [main_standalone.o] Error 1
make[2]: Leaving directory `/usr/local/EPICS/extensions/src/ChannelArchiver/XMLRPCServer/O.linux-x86'
make[1]: *** [install.linux-x86] Error 2
make[1]: Leaving directory `/usr/local/EPICS/extensions/src/ChannelArchiver/XMLRPCServer'
make: *** [XMLRPCServer.install] Error 2
*---------------------------------------------------------
David
>>> Kay-Uwe Kasemir <[email protected]> 3/16/2007 8:50 AM >>>
Hi:
> Lets try emailing this again-
When did you try first?
> I'm trying to compile the Channel Archiver program, and it fails with
> this error stream:
>
> make[4]: Entering directory
> `/usr/local/EPICS/extensions/src/ChannelArchiver/LibIO/O.linux-x86'
> /usr/bin/g++ -c -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS
> -D_XOPEN_SOURCE=500 -D_X86_ -DUNIX -D_BSD_SOURCE -Dlinux
> -D_REENTRANT -ansi -g -Wall -D ARCH_VERSION=2 -D
> ARCH_RELEASE=9 -D
> ARCH_PATCH=2 -D ARCH_VERSION_TXT=\"2.9.2\" -IOME/include
> -I/usr/local/EPICS/base/include -I/usr/local/EPICS/base/include/os/
> Linux
> -I/usr/local/xerces-c-src2_4_0/include -g -fPIC -I. -I..
> -I/usr/local/EPICS/include/os/Linux -I/usr/local/EPICS/include
> -I/usr/local/EPICS/base/include/os/Linux -I/usr/local/EPICS/base/
> include
> -I/usr/local/EPICS/include/os/Linux -I/usr/local/EPICS/include
> ../DataFile.cpp
What's the "-IOME/include"?
Different OS etc., but for what it's worth, this is what I get:
/usr/bin/c++ -c -DUNIX -Ddarwin -ansi -g -Wall -D
ARCH_VERSION=2 -D ARCH_RELEASE=12 -D ARCH_PATCH=0 -D ARCH_VERSION_TXT=
\"2.12.0\" -I/Kram/epics/R3.14.8.2/base/include -I/Kram/epics/
R3.14.8.2/base/include/os/Darwin -I/usr/local/include -fno-common
-fPIC -I. -I.. -I../../../../include/os/Darwin -I../../../../include -
I/Kram/epics/R3.14.8.2/base/include/os/Darwin -I/Kram/epics/R3.14.8.2/
base/include -I../../../../include/os/Darwin -I../../../../
include -I/opt/local/include -I/sw/include ../DataFile.cpp
So I don't get the equivalent to "-IOME".
You probable added an "-I$HOME/..." instead of "-I$(HOME)/..." to
some config file.
> ../DataFile.h:130: error: 'DataHeaderIterator' does not name a type
> ../DataFile.h:138: error: 'DataHeaderIterator' has not been declared
The DataFile and DataHeaderIterator classes refer to each other,
so it's a chicken and egg kind of problem.
What compiler are you using?
With g++ 3.2.3 and 4.0 I see no such problems.
What if you change the Datafile.h line 130 from
DataHeaderIterator addHeader(
to
class DataHeaderIterator addHeader(
?
Or move the
friend class DataHeaderIterator
from line 141 to just before line 130?
-Kay
BEGIN:VCARD
VERSION:2.1
X-GWTYPE:USER
FN:David Dudley
TEL;WORK:880-3740
ORG:;MIS
TEL;PREF;FAX:880-3741
EMAIL;WORK;PREF;NGW:[email protected]
N:Dudley;David
END:VCARD
- Navigate by Date:
- Prev:
Problem with compiling Channel Archiver David Dudley
- Next:
Re: Problem with compiling Channel Archiver Kay-Uwe Kasemir
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
<2007>
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Problem with compiling Channel Archiver David Dudley
- Next:
Re: Problem with compiling Channel Archiver Kay-Uwe Kasemir
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
<2007>
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|