For some reason, the existent and user+group+world-executable cpp program on my Linux box will not be run by rootcint. Also, rootcint -? doesnt explain what -p or +P does. Therefore, where are these options explained? ===== using -p When using +P, it appears that instead of specifying the directory in which the include files exist, I must specify the directory and the include file itself. Ie, rootcint MyDict.C -c +P -I/usr/include/g++/builtin.h -I/felix/brannon/rs/VisionMagick/terry/String.Defs.h String.Vec.h LinkDef.h This doesn't appear to be the case with -p. However, the class still is not accepted: brannon@palm ~/rs/VisionMagick/terry : rm MyDict.? brannon@palm ~/rs/VisionMagick/terry : rootcint MyDict.C -c -p -I/usr/include/g++ -I/felix/brannon/rs/VisionMagick/terry paramVec.h LinkDef.h gcc: installation problem, cannot exec `/usr/lib/gcc-lib/i486-linux/2.7.2.1/cpp': No such file or directory gcc: installation problem, cannot exec `/usr/lib/gcc-lib/i486-linux/2.7.2.1/cpp': No such file or directory gcc: installation problem, cannot exec `/usr/lib/gcc-lib/i486-linux/2.7.2.1/cpp': No such file or directory gcc: installation problem, cannot exec `/usr/lib/gcc-lib/i486-linux/2.7.2.1/cpp': No such file or directory Note: operator new() masked c Note: operator delete() masked c brannon@palm ~/rs/VisionMagick/terry : ls -l /usr/lib/gcc-lib/i486-linux/2.7.2.1/cpp -rwxr-xr-x 1 root root 75996 May 9 13:07 /usr/lib/gcc-lib/i486-linux/2.7.2.1/cpp brannon@palm ~/rs/VisionMagick/terry : file /usr/lib/gcc-lib/i486-linux/2.7.2.1/cpp /usr/lib/gcc-lib/i486-linux/2.7.2.1/cpp: ELF 32-bit LSB executable, Intel 80386, version 1, stripped brannon@palm ~/rs/VisionMagick/terry : === using +P The suggested command line also fails: brannon@palm ~/rs/VisionMagick/terry : rm MyDict.? brannon@palm ~/rs/VisionMagick/terry : rootcint MyDict.C -c +P -I/usr/include/g++ -I/felix/brannon/rs/VisionMagick/terry paramVec.h LinkDef.h Error: source file "-I/usr/include/g++" cannot open FILE: LINE:0 brannon@palm ~/rs/VisionMagick/terry : rootcint MyDict.C -c +P -I/usr/include/g++/builtin.h -I/felix/brannon/rs/VisionMagick/terry paramVec.h LinkDef.h Output file MyDict.C already exists brannon@palm ~/rs/VisionMagick/terry : rm MyDict.? brannon@palm ~/rs/VisionMagick/terry : rootcint MyDict.C -c +P -I/usr/include/g++/builtin.h -I/felix/brannon/rs/VisionMagick/terry paramVec.h LinkDef.h gcc: installation problem, cannot exec `/usr/lib/gcc-lib/i486-linux/2.7.2.1/cpp': No such file or directory Error: source file "-I/felix/brannon/rs/VisionMagick/terry" cannot open FILE: LINE:0 brannon@palm ~/rs/VisionMagick/terry : rm MyDict.? brannon@palm ~/rs/VisionMagick/terry : rootcint MyDict.C -c +P -I/usr/include/g++/builtin.h -I/felix/brannon/rs/VisionMagick/terry/param.defs.h paramVec.h LinkDef.h gcc: installation problem, cannot exec `/usr/lib/gcc-lib/i486-linux/2.7.2.1/cpp': No such file or directory gcc: installation problem, cannot exec `/usr/lib/gcc-lib/i486-linux/2.7.2.1/cpp': No such file or directory Error: source file "-I/oscar/public/root/include" cannot open FILE: LINE:0 brannon@palm ~/rs/VisionMagick/terry : == the "trouble file" :-) here is paramVec.h // This may look like C code, but it is really -*- C++ -*- /* Copyright (C) 1988 Free Software Foundation written by Doug Lea (dl@rocky.oswego.edu) This file is part of the GNU C++ Library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _paramVec_h #ifdef __GNUG__ #pragma interface #endif #define _paramVec_h 1 #include <builtin.h> #include "param.defs.h" #ifndef _param_typedefs #define _param_typedefs 1 typedef void (*paramProcedure)(param&); typedef param (*paramMapper)(param&); typedef param (*paramCombiner)(param&, param&); typedef int (*paramPredicate)(param&); typedef int (*paramComparator)(param&, param&); #endif class paramVec { protected: int len; param *s; paramVec(int l, param* d); public: paramVec (); paramVec (int l); paramVec (int l, param& fill_value); paramVec (const paramVec&); ~paramVec (); paramVec & operator = (const paramVec & a); paramVec at(int from = 0, int n = -1); int capacity() const; void resize(int newlen); param& operator [] (int n); param& elem(int n); friend paramVec concat(paramVec & a, paramVec & b); friend paramVec map(paramMapper f, paramVec & a); friend paramVec merge(paramVec & a, paramVec & b, paramComparator f); friend paramVec combine(paramCombiner f, paramVec & a, paramVec & b); friend paramVec reverse(paramVec & a); void reverse(); void sort(paramComparator f); void fill(param& val, int from = 0, int n = -1); void apply(paramProcedure f); param reduce(paramCombiner f, param& base); int index(param& targ); friend int operator == (paramVec& a, paramVec& b); friend int operator != (paramVec& a, paramVec& b); void error(const char* msg); void range_error(); }; extern void default_paramVec_error_handler(const char*); extern one_arg_error_handler_t paramVec_error_handler; extern one_arg_error_handler_t set_paramVec_error_handler(one_arg_error_handler_t f); inline paramVec::paramVec() { len = 0; s = 0; } inline paramVec::paramVec(int l) { s = new param [len = l]; } inline paramVec::paramVec(int l, param* d) :len(l), s(d) {} inline paramVec::~paramVec() { delete [] s; } inline param& paramVec::operator [] (int n) { if ((unsigned)n >= (unsigned)len) range_error(); return s[n]; } inline param& paramVec::elem(int n) { return s[n]; } inline int paramVec::capacity() const { return len; } inline int operator != (paramVec& a, paramVec& b) { return !(a == b); } #endif -- Terrence Brannon * brannon@quake.usc.edu * http://quake.usc.edu/~brannon *** This message was produced with 100% recycled electrons! ***
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:26:19 MET