Hi,
Thank you for your help. Your method worked nicely and I no longer get
errors because of the glkp library.
Unluckily now I get another "undefined symbol" error message when I run
the app (the code compiles without errors). I think this one might be
caused because of the "hash" template which is defined in the hash.hh
header file. It seems that is complaining about somewhat related to an
operator.
The message error I get is this:
00068|nox|ERR:Cannot change the state of 'elastictree' to INSTALLED:
'elastictree' ran into an error:
Can't open a dynamic library:
'nox/netapps/elastictree/elastictree.so: cannot open shared object file:
No such file or directory' or
'nox/netapps/elastictree/.libs/elastictree.so: undefined symbol:
std::tr1::hash<vigil::Link>::operator()(vigil::Link) const'
I can't determinate what exactly is causing this error but I can give
you some hints:
In my app I use several hash_map and hash_set objects and I have
included both header files in my app's header file.
I also created a struct named Link whose definition is as follows:
struct Link {
datapathid src_dpid, dst_dpid;
uint16_t src_port, dst_port;
};
And the operators "==" and "!=" are defined as:
bool operator==(const Link &a, const Link &b) {
return ((a.src_dpid == b.src_dpid) && (a.dst_dpid == b.dst_dpid)
&& (a.src_port == b.src_port) && (a.dst_port == b.dst_port));
}
bool operator!=(const Link &a, const Link &b) {
return !(a == b);
}
I would be very grateful you if you could give me some hints about what
is likely to be causing this error.
Thanks in advance.
El 23/09/11 06:49, Murphy McCauley escribió:
In src/Makefile.am, around line 46 is something like:
nox_core_LDFLAGS = \
Throw -lglpk in there too:
nox_core_LDFLAGS = -lglpk \
Then re-run boot.sh in the top directory, and hopefully that'll do it.
-- Murphy
On Sep 22, 2011, at 8:33 AM, Sergio Jiménez Feijóo wrote:
Hi everybody,
I've spent the last months developping a NOX application.
The goal of my app is to dynamically calculate the optimum layer 2 path of
OpenFlow switches for a flow between a source PC and a destination PC.
The criteria which determines which path should be picked could be anything you
want. In my case the criteria is to minimize the total power consumption of all
the OpenFlow switches and links of the network.
In order find a propper solution which accomplishes the selected criteria I
need to use a Linear Programming solver. The GNU Linear Programming Kit (GLPK)
library works like a charm for this purpose.
I've included the glpk.h library in my header file and the NOX app compiles without errors but when
I try to run the app I get an "undefined symbol" error when the code reaches the glpk
library function calls. I think this might be caused because the gcc linker is running without the
"-lglpk" flag.
How could I modify the app's makefile to add this missing flag?
Thanks for your help.
_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev
_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev