Octave and ROOT

Hi,

is it possible to use the ACLiC-compiler with octave functions ?
Respectively is there somewhere any information about Octave and Cern ROOT (at least the last session of octave was at Cern) ?

Thanks!

Octave seems to have its own scripting language. ACLIC compiles C++ code and allows to use this compiled code inside ROOT which has C++ as basic “scripting” language. I do not see how these two worlds can be compatible. [quote=“Progressive, post:1, topic:24568”]
is it possible to use the ACLiC-compiler with octave functions ?
[/quote]

  • If you mean using octave functions from ROOT C++ macros I think the answer is clearly No
  • If you mean using Aclic (C++) function from an Octave script, then you should ask the Octave developpers.

May be clarify a bit what you want to do…

Thanks!

From my horizon: ACLiC compiles C++ and Octave is usable in C++. So I thought this should be applicable somehow ?!

If not per ACLiC then it should be possible via g++ because there it can compile Octave and Root ?

Ok … but I do not know how… may be octave has some .so avaialable ? you can try to load them in with .L …

Yes it is possible to link with ROOT libraries and make your own ROOT application. IF Octave offers the same things you can surely make an app using both.

Ok, I got into contact with the developers, they helped me to adjust my makefile. I can now run it both simultaneously.

If someone somewhen needs the same solution, here’s my makefile: http://paste.lisp.org/display/345276

I copy your Makefile here in order it is still available even if lisp.org is not available anymore. I hope it is not a problem.

[code]CXX = g++
CXXFLAGS = -g -Wall root-config --cflags --libs -fPIC -O3

LD = g++
LDFLAGS = -g

SOURCES=$(wildcard *.cpp)
OBJECTS=$(SOURCES:.cpp=.o)
HEADERS=$(SOURCES:.cpp=.h)
OCTAVE=$(mkoctfile --link-stand-alone)
EXECUTABLE=test_octave
OCTAVE_INCLUDE=/usr/include/octave-4.0.2/octave

CXXFLAGS += $(shell root-config --cflags)
LIBS = $(shell root-config --libs)
NGLIBS = $(shell root-config --glibs)
GLIBS = $(filter-out -lNew, $(NGLIBS))

.SUFFIXES: .cpp

================================================================================

all: $(SOURCES) $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS) $(OCTAVE)
$(CXX) $(CXXFLAGS) $(OBJECTS) -I$(OCTAVE_INCLUDE)octave -o $@ $(LIBS)

.cpp.o: $(SOURCES) $(HEADERS)
$(CXX) -c -I$(OCTAVE_INCLUDE) $(CXXFLAGS) $< -o $@ -I$(PWD)

clean:
rm -f $(EXECUTABLE) *.o [/code]

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.