Hi,<br> This problem is now resolved, my tool chain already had a definition for RINT which was causing the problem, but cmake was unable to detect it. I commented out this part from my_global.h file which solved the problem.<br>
<br>With Regards,<br>Niranjan<br><br><div class="gmail_quote">On Wed, Mar 20, 2013 at 6:03 PM, Niranjan M <span dir="ltr"><<a href="mailto:studywireless@gmail.com" target="_blank">studywireless@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Brad,<br> I figured out the problem. I was passing some compilation flags for my C compiler via CMAKE which was preventing the .bin from being generated. Now I have a new problem but I am not sure if this is the correct forum to discuss it as its related to application (mysqlclient).<br>
<br>After CMAKE is done, I do a make and below is the error.<br><br><i>[ 0%] Building C object vio/CMakeFiles/vio.dir/vio.c.o<br>In file included from DIR/mysql-connector-c-6.0.2/vio/vio_priv.h:19,<br> from </i><i><i>DIR</i>/mysql-connector-c-6.0.2/vio/vio.c:23:<br>
</i><i><i>DIR</i>/mysql-connector-c-6.0.2/include/my_global.h:1583: error: static declaration of 'rint' follows non-static declaration<br>make[2]: *** [vio/CMakeFiles/vio.dir/vio.c.o] Error 1<br>make[1]: *** [vio/CMakeFiles/vio.dir/all] Error 2<br>
make: *** [all] Error 2<br></i><br>There is a single declaration of the function rint as shown below<br>
<p style="margin-bottom:0in"><font face="Courier New, monospace">#ifndef
HAVE_RINT<br></font></p><p style="margin-bottom:0in"><font face="Courier New, monospace">/**<br> All integers up to this number can be
represented exactly as double precision<br> values
(DBL_MANT_DIG == 53 for IEEE 754 hardware).<br>*/</font></p><p style="margin-bottom:0in"><font face="Courier New, monospace">#define
MAX_EXACT_INTEGER ((1LL << DBL_MANT_DIG) - 1)<br><br>/**<br>
rint(3) implementation for platforms that do not have it.<br>
Always rounds to the nearest integer with ties being rounded to the
nearest<br> even integer to mimic glibc's rint() behavior in
the "round-to-nearest"<br> FPU mode.
Hardware-specific optimizations are possible (frndint on x86).<br>
Unlike this implementation, hardware will also honor the FPU rounding
mode.<br>*/<br><br>static inline double rint(double x)
--> line 1583<br>{<br> double f, i;<br> f = modf(x,
&i);<br><br> /*<br> All doubles with
absolute values > MAX_EXACT_INTEGER are even anyway,<br>
no need to check it.<br> */<br> if (x > 0.0)<br>
i += (double) ((f > 0.5) || (f == 0.5
&&<br>
i <= (double) MAX_EXACT_INTEGER
&&<br>
(longlong) i % 2));<br> else<br> i -=
(double) ((f < -0.5) || (f == -0.5
&&<br>
i >= (double) -MAX_EXACT_INTEGER
&&<br>
(longlong) i % 2));<br> return i;<br>}<br>#endif /* HAVE_RINT
*/ </font>
</p>
<br>With Regards,<br>Niranjan<div class="HOEnZb"><div class="h5"><br><br><div class="gmail_quote">On Wed, Mar 20, 2013 at 2:18 PM, Niranjan M <span dir="ltr"><<a href="mailto:studywireless@gmail.com" target="_blank">studywireless@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Brad,<br> Thanks for the help. I uninstalled my older CMAKE 2.8.7 ans installed the latest CMAKE which is 2.8.10.2.<br>
<br>I am still getting the same error. I think the executable is not being generated as shown by the below lines<br>
<br><i><div>-- Detecting C compiler ABI info<br></div>CMake Error at /net/dslabfs/dsl01/users/nmahabaleshwar/NewDataBaseStuff/cmake/cmake-2.8.10.2-Linux-i386/share/cmake-2.8/Modules/CMakeDetermineCompilerABI.cmake:31 (try_compile):<div>
<br>
<br><b>Cannot copy output executable</b><br> ''<br> to destination specified by COPY_FILE:<br></div>.<br>.<br>.<br></i>Below is the line where the problem occurs in the file CMakeDetermineCompilerABI.cmake line 31<br>
<br><b>try_compile(CMAKE_${lang}_ABI_COMPILED</b> <b> --> ERROR</b><br> ${CMAKE_BINARY_DIR} ${src}<br> CMAKE_FLAGS "${CMAKE_FLAGS}"<br> "-DCMAKE_${lang}_STANDARD_LIBRARIES="<br>
# We need ignore these warnings because some platforms need<br> # CMAKE_${lang}_STANDARD_LIBRARIES to link properly and we<br> # don't care when we are just determining the ABI.<br>
"--no-warn-unused-cli"<br> OUTPUT_VARIABLE OUTPUT<br> COPY_FILE "${BIN}"<br> )<br><br>Does it mean the file is not being compiled. I checked in a couple of other posts and found that if a custom compiler is used <i>try_compile</i> uses information provided in CMakePlatformTests.txt file to get more information about the custom compiler to generate the executable. Should I provide additional information ? When I setup my tool chain the compiler is available at shell (ppc_4xx-gcc and ppc_4xx-g++). This problem is specific to my tool chain, cmake works fine for gcc and g++ in my environment.<br>
<br>Another thing to note is that the problem is only for <b>ppc_4xx-gcc</b> which is my C compiler, I am not getting similar problem for <b>ppc_4xx-g++</b> which is my C++ compiler.<br><br>I am attaching the new build file.<br>
<br>With Regards,<br>Niranjan<div><div><br><br><div class="gmail_quote">On Wed, Mar 20, 2013 at 1:24 PM, Brad King <span dir="ltr"><<a href="mailto:brad.king@kitware.com" target="_blank">brad.king@kitware.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 3/19/2013 5:51 PM, Niranjan M wrote:<br>
> --debug-trycompile<br>
...<br>
<div>> -- Detecting C compiler ABI info<br>
</div><div>> Unable to find the executable at any of:<br>
><br>
> DIR/mysql-connector-c-6.0.2/CMakeFiles/CMakeTmp/cmTryCompileExec<br>
> DIR/mysql-connector-c-6.0.2/CMakeFiles/CMakeTmp/Debug/cmTryCompileExec<br>
> DIR/mysql-connector-c-6.0.2/CMakeFiles/CMakeTmp/Development/cmTryCompileExec<br>
<br>
</div>This means CMake cannot find any executable produced by the<br>
compiler after building a small test project. CMake wants<br>
to find the executable to read information about its ABI as<br>
produced by the compiler toolchain.<br>
<br>
The problem is either that the executable really isn't being<br>
produced or that the toolchain names it something other than<br>
what CMake thinks. Before we spend too much time on this<br>
please test with a more recent CMake version.<br>
<span><font color="#888888"><br>
-Brad<br>
</font></span></blockquote></div><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>