Please check 2 things:
1. ls $ROOTSYS/lib/*Image.* should delivery
libAfterImage.a
libASImage.so
2. grep Image $ROOTSYS/etc/system.rootrc
Plugin.TPaletteEditor: * TASPaletteEditor ASImage
"TASPaletteEditor(TAttImage*,UInt_t,UInt_t)"
Plugin.TImage: * TASImage ASImage
"TASImage()"
Hope this helps.
----
Best regards
Valeri
> -----Original Message-----
> From: owner-roottalk@pcroot.cern.ch
[mailto:owner-roottalk@pcroot.cern.ch] On
> Behalf Of Bernd Reinhold
> Sent: Tuesday, April 13, 2004 5:23 PM
> To: roottalk@pcroot.cern.ch
> Subject: [ROOT] TImage, ASImage does not exist in... (the 2nd)
>
> Hi!
>
> [I sent it accidentally a bit too early, so please ignore the first
email. (And
> perhaps to the wrong address)]
>
> My program (see below for the source!) compiles without error. the
executable
> creates the following output:
>
> (...)
> before1
> Error in <TUnixSystem::DynamicPathName>: ASImage[.so | .sl | .dl | .a]
does not
> exist in .:/usr/local//lib/root
> after1
>
> *** Break *** segmentation violation
> Generating stack trace...
> 0x42029188 in <unknown> from analysis_root_mysql
> 0x42017589 in __libc_start_main + 0x95 from analysis_root_mysql
> 0x080546b1 in __eh_alloc + 0x49 from analysis_root_mysql
> Abort
>
> In the code this is:
> cout << "before1" << endl;
> TImage *img = TImage::Create();
> cout << "after1" << endl;
> gSystem->ProcessEvents();
> img->FromPad(c1);
>
> Is there a problem with TImage? ASImage IS not there, but why is it
not?
> Is this a problem of my installation of root?
> I have 3.10.02. (Compiled from source with gcc 2.96)
> configure linux --prefix=/usr/local/ --disable-shared --enable-alien
> --enable-table --enable-ldap; gmake; gmake install;
> I have CERN RedHat 7.3.4
>
> (The program is trying to integrate ROOT and mysql++ (to explain the
headers))
>
> 2 other (minor) issues:
> 1. There is a segmentation violation if I uncomment gROOT... and
gDebug...
> int main(...)
> // gROOT->Reset();
> // gDebug=7;
> 2. the compiler complains about the 'kJpeg'. Can you tell me the
correct syntax?
> img->WriteImage(p.str(), kJpeg);
>
> Thank you for your help. It is highly appreciated.
>
> Bernd.
>
> --------appendix--------
> 1. the program
> 2. the makefile (for this program)
>
> #include <iostream>
> #include <sqlplus.hh>
> //root-includes
> #include <TSystem.h>
> #include <TROOT.h>
> #include <TPad.h>
> #include <TH1.h>
> #include <TImage.h>
> #include <TCanvas.h>
> //had them included in the other root-script, executed in CINT
> #include <sstream>
> #include "string"
> #include "Riostream.h"
> #include "vector"
>
>
> int main (int argc, char *argv[]) {
> // gROOT->Reset();
> // gDebug=7;
> string SQLstring;
> Connection connection(use_exceptions);
> Int_t nlines=0;
> try { // the entire main block is one big try block;
> connection.connect("localdb", "hmmm", "lala",
"oufff");
> if (argc == 1){
> SQLstring="SELECT pullforce FROM pt_main as M,
pt_rawdata as R
> WHERE M.ID=R.ID and M.status=R.status and M.batch like '%HSA%' and
M.status=1";
> } else if (argc == 2){
> SQLstring= argv[1];
> } else {
> //the SQL-query as argument
> cerr << "The program expects either 2 or 1
argument(s). But it
> found " << argc << " argument(s)." << endl;
> return -1;
> }
> // create a new object and connect based on any (if any)
arguments
> // passed to main();
>
> Query query = connection.query(); // create a new query
object
>
> // ignore any errors here
> // I hope to make this simpler soon, comment by Sinisa
Milosevic
> query << SQLstring.c_str();
> Result res = query.store();
> if(res.empty()) throw BadQuery("the query was empty");
>
> cout << "query: " << query.preview() << endl;
> cout << "records found: " << res.size() << endl << endl;
>
>
>
> //now populate the histogram; here is where root-objects are used for
the first
> time...
> //assume only one column (row[0])
>
> TH1D *h1 = new TH1D("h1", SQLstring.c_str(), 100,0,20);
> TCanvas *c1 = new TCanvas("c1", "thecanvas", 600, 400);
> Row row;
> Result::iterator i;
> for(i=res.begin(); i!=res.end(); i++){
> row=*i;
> // cout << row[0] << endl;
> h1->Fill((double)row[0]);
> nlines++;
> }
>
> h1->Draw();
> c1->Update();
> ostringstream p;
> p << "/home/reinhold_pcepcmt35/analysis/results/" <<
> res.names(0).c_str() <<".jpg" << ends;
>
>
> cout << "before1" << endl;
> TImage *img = TImage::Create();
> cout << "after1" << endl;
> gSystem->ProcessEvents();
> img->FromPad(c1);
> cout << "after2" << endl;
> // img->WriteImage(p.str(), kJpeg);
> cout << "the jpg-image was stored in the following absolute
path: "<<
> p.str() << endl;
>
> delete h1;
> delete c1;
> delete img;
>
> return 0;
>
> } catch (BadQuery &er) { // handle any connection or
> // query errors that may come up
> #ifdef USE_STANDARD_EXCEPTION
> cerr << "Error: " << er.what() << endl;
> #else
> cerr << "Error: " << er.error << endl;
> #endif
> return -1;
> } catch (BadConversion &er) { // handle bad conversions
> cerr << "lines so far: " << nlines << endl;
> #ifdef USE_STANDARD_EXCEPTION
> cerr << "Error: " << er.what() << "\"." << endl
> << "retrieved data size: " << er.retrieved
> << " actual data size: " << er.actual_size << endl;
> #else
> cerr << "Error: Tried to convert \"" << er.data << "\" to a \""
> << er.type_name << "\"." << endl;
> #endif
> return -1;
> #ifdef USE_STANDARD_EXCEPTION
> } catch (exception &er) {
> cerr << "Error: " << er.what() << endl;
> return -1;
> #endif
> }
>
> }
>
> ---makefile---
>
> analysis_root_mysql: analysis_root_mysql.o
> g++ -oanalysis_root_mysql analysis_root_mysql.o \
> -L/usr/local/mysql//lib/mysql \
> $(shell root-config --libs) \
> -lmysqlclient -lz \
> -L/usr/src/mysql++-1.7.9_patched/sqlplusint/ \
> -lsqlplus
>
> analysis_root_mysql.o: analysis_root_mysql.cpp
> g++ -c analysis_root_mysql.cpp
-I/usr/local/mysql//include/mysql \
> -I/usr/src/mysql++-1.7.9_patched/sqlplusint \
> -I/usr/local/include/root
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:07 MET