detect.py: fix the ZMQ version check to the ZMQ version of the buildroot The setup.py script tries to compile a test C program and runs it, to retrieve a version string for the installed ZMQ library, but if the cross compiler links it together, the result cannot be run on the host, due to different architectures and libraries. And if the host compiler would compile/link it, it would not link with the library version inside buildroot but with the library from the host, possibly returning a wrong version number. Instead of trying to run the compiled test program to get the version dynamically, return the version of the buildroot environment. Written by Michael Rommel, modified for version 16.0.2 by Lionel Flandrin. Modified for version 18.0.2 by Asaf Kahlon Signed-off-by: Lionel Flandrin Signed-off-by: Asaf Kahlon --- buildutils/detect.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/buildutils/detect.py b/buildutils/detect.py index d1380fe..4a91351 100644 --- a/buildutils/detect.py +++ b/buildutils/detect.py @@ -120,13 +120,15 @@ def detect_zmq(basedir, compiler=None, **compiler_attrs): cc = get_compiler(compiler=compiler, **compiler_attrs) efile = test_compilation(cfile, compiler=cc, **compiler_attrs) - patch_lib_paths(efile, cc.library_dirs) + #patch_lib_paths(efile, cc.library_dirs) - rc, so, se = get_output_error([efile]) - if rc: - msg = "Error running version detection script:\n%s\n%s" % (so,se) - logging.error(msg) - raise IOError(msg) + #rc, so, se = get_output_error([efile]) + # if rc: + # msg = "Error running version detection script:\n%s\n%s" % (so,se) + # logging.error(msg) + # raise IOError(msg) + + so = "vers: ##ZEROMQ_VERSION##" handlers = {'vers': lambda val: tuple(int(v) for v in val.split('.'))} -- 2.20.1