Build on Fedora ARM stops with missing iosenum.h

Hello:

I have now three times tried to build ROOT, latest tar ball, on a Cubieboard, running Fedora 18 Beta arm release compiled for Pandaboard, with Cubieboard specific booting programs installed. It stops at the generation of a cint dictionary with the error that it can not find
iosenum.h.
I looked in the directory and it is not there. Reading the file from my x86 Scientific Linux 6.3 compilation, I discover that iosenum.cxx is compiled, run, and iosenum.h is generated for chip specific IO.

So I realize that I can not just copy the iosenum.h from my x86 compilation to the ARM device.

Is there a way around this?

I had thought that the compilers could not find but now realize the problem. Unable to compile ROOT or llvm, I have now compiled netCDF-3.6.3, run make test and make install and all of that worked. So these are ROOT and llvm specific problems.

It is gcc-4.7.2-8.

Sorry to have posted with out trying more things. This morning I compiled ROOT on a Cubieboard A10 Allwinner ARM chip, running Fedora 18 Beta.

I had been missing readline-devel; something I discovered by running ./configure in the /root/cint directory. With readline-devel installed, it compiled and ran iosenum.cxx, producing iosenum.h used to make the dictionary for IO. It then stopped due to needing fPIC; I had hoped to compile a stand alone cint. I saved the iosenum.h file, erased the source, and re-untarred, ./configured, and then put the iosenum.h into the /root/cint/include directory.

It proceeded to compile to completion. I tested it, then compiled /root/test, and played a game of Tetris.

So now I just need to find a way to get the correct source for llvm clang correct version for cling, and hope to compile it.

I figure this should be moved to discussion or what ever, but it is possible to compile and run ROOT on the ARM development boards now becoming popular.

What worked for 5.34.04 does not work for the lastest source.

I compiled ROOT on Fedora 18 Beta ARM using the 5.34.04 source.

The 5.34.05 source results in this error, and after a make clean.
I configured with --build=debug --enable-cling --enable-c++11 --with-llvm-config=/usr/local/bin.

Were there major changes in 05 from 04? Or have I downloaded twice a corrupted file?

g++ -g -Wall -fsigned-char -fPIC -Iinclude -DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO -DG__HAVE_CONFIG -DG__NOMAKEINFO -DG__CINTBODY -I/opt/root/cint/cint/inc -I/opt/root/cint/cint/src -I/opt/root/cint/cint/src/dict -pthread -Icint/cint/lib/stdstrct -I. -o cint/cint/src/dict/stdstrct.o -c cint/cint/src/dict/stdstrct.cxx
bin/rmkdepend -R -fcint/cint/src/dict/gcc4strm.d -Y -w 1000 – -Wall -fsigned-char -fPIC -Iinclude -DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO -DG__HAVE_CONFIG -DG__NOMAKEINFO -DG__CINTBODY -I/opt/root/cint/cint/inc -I/opt/root/cint/cint/src -I/opt/root/cint/cint/src/dict -pthread -Icint/cint/lib/gcc4strm -Wno-strict-aliasing -I. -D__cplusplus – cint/cint/src/dict/gcc4strm.cxx
g++ -g -Wall -fsigned-char -fPIC -Iinclude -DG__REGEXP -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO -DG__HAVE_CONFIG -DG__NOMAKEINFO -DG__CINTBODY -I/opt/root/cint/cint/inc -I/opt/root/cint/cint/src -I/opt/root/cint/cint/src/dict -pthread -Icint/cint/lib/gcc4strm -Wno-strict-aliasing -I. -o cint/cint/src/dict/gcc4strm.o -c cint/cint/src/dict/gcc4strm.cxx
g++ -shared -Wl,-soname,libCint.so -g -o lib/libCint.so cint/cint/src/g__cfunc.o cint/cint/src/config/strlcpy.o cint/cint/src/config/strlcat.o cint/cint/src/config/snprintf.o cint/cint/main/G__setup.o cint/cint/src/cast.o cint/cint/src/global2.o cint/cint/src/bc_autoobj.o cint/cint/src/bc_cfunc.o cint/cint/src/pcode.o cint/cint/src/FastAllocString.o cint/cint/src/bc_assign.o cint/cint/src/dump.o cint/cint/src/rflx_gensrc.o cint/cint/src/end.o cint/cint/src/pragma.o cint/cint/src/shl.o cint/cint/src/scrupto.o cint/cint/src/var.o cint/cint/src/Shadow.o cint/cint/src/Typedf.o cint/cint/src/bc_vtbl.o cint/cint/src/random.o cint/cint/src/bc_parse.o cint/cint/src/input.o cint/cint/src/disp.o cint/cint/src/bc_reader.o cint/cint/src/CallFunc.o cint/cint/src/fread.o cint/cint/src/bc_inst.o cint/cint/src/MethodAr.o cint/cint/src/bc_debug.o cint/cint/src/decl.o cint/cint/src/Type.o cint/cint/src/bc_exec.o cint/cint/src/quote.o cint/cint/src/bc_eh.o cint/cint/src/auxu.o cint/cint/src/debug.o cint/cint/src/DataMbr.o cint/cint/src/bc_type.o cint/cint/src/Class.o cint/cint/src/BaseCls.o cint/cint/src/ifunc.o cint/cint/src/error.o cint/cint/src/gcoll.o cint/cint/src/Token.o cint/cint/src/rflx_tools.o cint/cint/src/pragma_tmp.o cint/cint/src/malloc.o cint/cint/src/macro.o cint/cint/src/sizeof.o cint/cint/src/stub.o cint/cint/src/memtest.o cint/cint/src/Api.o cint/cint/src/newlink.o cint/cint/src/typedef.o cint/cint/src/loadfile.o cint/cint/src/rflx_gendict.o cint/cint/src/global1.o cint/cint/src/func.o cint/cint/src/opr.o cint/cint/src/tmplt.o cint/cint/src/value.o cint/cint/src/inherit.o cint/cint/src/intrpt.o cint/cint/src/bc_item.o cint/cint/src/expr.o cint/cint/src/struct.o cint/cint/src/Method.o cint/cint/src/pause.o cint/cint/src/new.o cint/cint/src/parse.o cint/cint/src/val2a.o cint/cint/src/init.o cint/cint/src/dict/Apiif.o cint/cint/src/dict/stdstrct.o cint/cint/src/dict/gcc4strm.o -ldl
cint/cint/src/pragma_tmp.o: In function G__AppPragma::G__AppPragma(char*, void (*)(char*))': /opt/root/cint/cint/src/pragma_tmp.cxx:21: multiple definition ofG__AppPragma::G__AppPragma(char*, void ()(char))'
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:21: first defined here
cint/cint/src/pragma_tmp.o: In function G__AppPragma::G__AppPragma(char*, void (*)(char*))': /opt/root/cint/cint/src/pragma_tmp.cxx:21: multiple definition ofG__AppPragma::G__AppPragma(char*, void ()(char))'
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:21: first defined here
cint/cint/src/pragma_tmp.o: In function G__addpragma': /opt/root/cint/cint/src/pragma_tmp.cxx:28: multiple definition ofG__addpragma’
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:28: first defined here
cint/cint/src/pragma_tmp.o: In function G__execpragma(char const*, char*)': /opt/root/cint/cint/src/pragma_tmp.cxx:47: multiple definition ofG__execpragma(char const*, char*)'
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:47: first defined here
cint/cint/src/pragma_tmp.o: In function G__AppPragma::~G__AppPragma()': /opt/root/cint/cint/src/pragma_tmp.cxx:67: multiple definition ofG__AppPragma::~G__AppPragma()'
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:67: first defined here
cint/cint/src/pragma_tmp.o: In function G__AppPragma::~G__AppPragma()': /opt/root/cint/cint/src/pragma_tmp.cxx:67: multiple definition ofG__AppPragma::~G__AppPragma()'
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:67: first defined here
cint/cint/src/pragma_tmp.o: In function G__freepragma(G__AppPragma*)': /opt/root/cint/cint/src/pragma_tmp.cxx:72: multiple definition ofG__freepragma(G__AppPragma*)'
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:72: first defined here
cint/cint/src/pragma_tmp.o: In function G__read_setmode': /opt/root/cint/cint/src/pragma_tmp.cxx:82: multiple definition ofG__read_setmode’
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:82: first defined here
cint/cint/src/pragma_tmp.o: In function G__pragma': /opt/root/cint/cint/src/pragma_tmp.cxx:198: multiple definition ofG__pragma’
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:198: first defined here
cint/cint/src/pragma_tmp.o: In function G__getsecuritycode': /opt/root/cint/cint/src/pragma_tmp.cxx:765: multiple definition ofG__getsecuritycode’
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:765: first defined here
cint/cint/src/pragma_tmp.o: In function G__setautoccnames': /opt/root/cint/cint/src/pragma_tmp.cxx:559: multiple definition ofG__setautoccnames’
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:559: first defined here
cint/cint/src/pragma_tmp.o: In function G__appendautocc': /opt/root/cint/cint/src/pragma_tmp.cxx:698: multiple definition ofG__appendautocc’
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:698: first defined here
cint/cint/src/pragma_tmp.o: In function G__security_handle': /opt/root/cint/cint/src/pragma_tmp.cxx:468: multiple definition ofG__security_handle’
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:468: first defined here
cint/cint/src/pragma_tmp.o: In function G__autocc': /opt/root/cint/cint/src/pragma_tmp.cxx:625: multiple definition ofG__autocc’
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:625: first defined here
cint/cint/src/pragma_tmp.o: In function G__isautoccupdate': /opt/root/cint/cint/src/pragma_tmp.cxx:744: multiple definition ofG__isautoccupdate’
cint/cint/src/pragma.o:/opt/root/cint/cint/src/pragma.cxx:744: first defined here
collect2: error: ld returned 1 exit status
make: *** [lib/libCint.so] Error 1

Hi,

[quote]… --enable-cling …[/quote]If you are trying to use cling, do not use v5.34 but rather the master/trunk (whatever is left of cling in v5.34 is ancient and not intended for use).

Cheers,
Philippe.