[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gambas-devel
Subject:    Re: [Gambas-devel] What about cmake?
From:       Sebastian Kulesz <sebikul () gmail ! com>
Date:       2013-10-31 21:37:01
Message-ID: CAAkQKUZSvk=FZL5t=TwxQpsrdJaeo-fg6=voMxqxVWeUpuL-Fw () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


After a lot of struggle i managed to create a somewhat generic set of
macros to build and install the needed components. Although the runtime
installs just fine, i'm having trouble when running the Gambas informer to
create the .info files. I tried reading the gbi.c file but found nothing
wrong with components are installed. There is one difference with the
autoconf setup though; libtool is not supported by cmake, so gcc is called
directly, not through the libtool file.
I'm think this last point might be the problem. If it is, is there any fix,
or is libtool absolutely necessary?


On Sun, Oct 13, 2013 at 5:49 PM, Benoît Minisini <
gambas@users.sourceforge.net> wrote:

> Le 13/10/2013 22:43, Sebastian Kulesz a écrit :
> > Both bugs have been fixed. Thanks for the feedback. Cmake now checks to
> > see if the .svn folder exists, not only if the svn binary exists within
> > PATH. PostgreSQL was one of the first modules i moved so contained some
> > bugs regarding inclusion paths passed to the compiler.
> >
> > I will start implementing the installation macros. I can't do much
> > without gbx compiling, this is the error i get:
> >
> > [ 10%] Building C object main/gbx/CMakeFiles/gbx.dir/gbx_replace.c.o
> > In file included from
> > /home/sebi/Builds/gambas3-cmake/main/share/gb_replace_temp.h:24:0,
> >                   from
> > /home/sebi/Builds/gambas3-cmake/main/gbx/gbx_replace.c:24:
> > /home/sebi/Builds/gambas3-cmake/main/share/gb_replace.h:36:6: error:
> > tipos en conflicto para ‘unsetenv’
> >   void unsetenv(const char *name);
> >        ^
> > In file included from
> > /home/sebi/Builds/gambas3-cmake/main/share/gb_common.h:43:0,
> >                   from
> > /home/sebi/Builds/gambas3-cmake/main/share/gb_replace.h:28,
> >                   from
> > /home/sebi/Builds/gambas3-cmake/main/share/gb_replace_temp.h:24,
> >                   from
> > /home/sebi/Builds/gambas3-cmake/main/gbx/gbx_replace.c:24:
> > /usr/include/stdlib.h:588:12: nota: la declaración previa de ‘unsetenv’
> > estaba aquí
> >   extern int unsetenv (const char *__name) __THROW __nonnull ((1));
> >              ^
> > In file included from
> > /home/sebi/Builds/gambas3-cmake/main/gbx/gbx_replace.c:24:0:
> > /home/sebi/Builds/gambas3-cmake/main/share/gb_replace_temp.h:67:6:
> > error: tipos en conflicto para ‘unsetenv’
> >   void unsetenv(const char *name)
> >        ^
> > In file included from
> > /home/sebi/Builds/gambas3-cmake/main/share/gb_common.h:43:0,
> >                   from
> > /home/sebi/Builds/gambas3-cmake/main/share/gb_replace.h:28,
> >                   from
> > /home/sebi/Builds/gambas3-cmake/main/share/gb_replace_temp.h:24,
> >                   from
> > /home/sebi/Builds/gambas3-cmake/main/gbx/gbx_replace.c:24:
> > /usr/include/stdlib.h:588:12: nota: la declaración previa de ‘unsetenv’
> > estaba aquí
> >   extern int unsetenv (const char *__name) __THROW __nonnull ((1));
> >              ^
> > main/gbx/CMakeFiles/gbx.dir/build.make:218: recipe for target
> > 'main/gbx/CMakeFiles/gbx.dir/gbx_replace.c.o' failed
> > make[2]: *** [main/gbx/CMakeFiles/gbx.dir/gbx_replace.c.o] Error 1
> > CMakeFiles/Makefile2:223: recipe for target
> > 'main/gbx/CMakeFiles/gbx.dir/all' failed
> > make[1]: *** [main/gbx/CMakeFiles/gbx.dir/all] Error 2
> > Makefile:136: recipe for target 'all' failed
> > make: *** [all] Error 2
> >
>
>
> You are compiling functions that must be compiled only if the system
> libc does not provide them.
>
> You must implement all tests located in acinclude.m4 file.
>
> In that specific case, this is:
>
> AC_CHECK_FUNCS(setenv unsetenv getdomainname getpt cfmakeraw)
>
> Do you know autoconf enough to implement the corresponding tests with
> cmake? If not, I suggest you read carefully the autoconf documentation.
>
> Regards,
>
> --
> Benoît Minisini
>
>
> ------------------------------------------------------------------------------
> October Webinars: Code for Performance
> Free Intel webinars can help you accelerate application performance.
> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
> from
> the latest Intel processors and coprocessors. See abstracts and register >
> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
> _______________________________________________
> Gambas-devel mailing list
> Gambas-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-devel
>

[Attachment #5 (text/html)]

<div dir="ltr">After a lot of struggle i managed to create a somewhat generic set of \
macros to build and install the needed components. Although the runtime installs just \
fine, i&#39;m having trouble when running the Gambas informer to create the .info \
files. I tried reading the gbi.c file but found nothing wrong with components are \
installed. There is one difference with the autoconf setup though; libtool is not \
supported by cmake, so gcc is called directly, not through the libtool file. <div>

I&#39;m think this last point might be the problem. If it is, is there any fix, or is \
libtool absolutely necessary?</div></div><div class="gmail_extra"><br><br><div \
class="gmail_quote">On Sun, Oct 13, 2013 at 5:49 PM, Benoît Minisini <span \
dir="ltr">&lt;<a href="mailto:gambas@users.sourceforge.net" \
target="_blank">gambas@users.sourceforge.net</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex">Le 13/10/2013 22:43, Sebastian Kulesz a écrit :<br> <div><div \
class="h5">&gt; Both bugs have been fixed. Thanks for the feedback. Cmake now checks \
to<br> &gt; see if the .svn folder exists, not only if the svn binary exists \
within<br> &gt; PATH. PostgreSQL was one of the first modules i moved so contained \
some<br> &gt; bugs regarding inclusion paths passed to the compiler.<br>
&gt;<br>
&gt; I will start implementing the installation macros. I can&#39;t do much<br>
&gt; without gbx compiling, this is the error i get:<br>
&gt;<br>
&gt; [ 10%] Building C object main/gbx/CMakeFiles/gbx.dir/gbx_replace.c.o<br>
&gt; In file included from<br>
&gt; /home/sebi/Builds/gambas3-cmake/main/share/gb_replace_temp.h:24:0,<br>
&gt;                   from<br>
&gt; /home/sebi/Builds/gambas3-cmake/main/gbx/gbx_replace.c:24:<br>
&gt; /home/sebi/Builds/gambas3-cmake/main/share/gb_replace.h:36:6: error:<br>
&gt; tipos en conflicto para ‘unsetenv’<br>
&gt;   void unsetenv(const char *name);<br>
&gt;        ^<br>
&gt; In file included from<br>
&gt; /home/sebi/Builds/gambas3-cmake/main/share/gb_common.h:43:0,<br>
&gt;                   from<br>
&gt; /home/sebi/Builds/gambas3-cmake/main/share/gb_replace.h:28,<br>
&gt;                   from<br>
&gt; /home/sebi/Builds/gambas3-cmake/main/share/gb_replace_temp.h:24,<br>
&gt;                   from<br>
&gt; /home/sebi/Builds/gambas3-cmake/main/gbx/gbx_replace.c:24:<br>
&gt; /usr/include/stdlib.h:588:12: nota: la declaración previa de ‘unsetenv’<br>
&gt; estaba aquí<br>
&gt;   extern int unsetenv (const char *__name) __THROW __nonnull ((1));<br>
&gt;              ^<br>
&gt; In file included from<br>
&gt; /home/sebi/Builds/gambas3-cmake/main/gbx/gbx_replace.c:24:0:<br>
&gt; /home/sebi/Builds/gambas3-cmake/main/share/gb_replace_temp.h:67:6:<br>
&gt; error: tipos en conflicto para ‘unsetenv’<br>
&gt;   void unsetenv(const char *name)<br>
&gt;        ^<br>
&gt; In file included from<br>
&gt; /home/sebi/Builds/gambas3-cmake/main/share/gb_common.h:43:0,<br>
&gt;                   from<br>
&gt; /home/sebi/Builds/gambas3-cmake/main/share/gb_replace.h:28,<br>
&gt;                   from<br>
&gt; /home/sebi/Builds/gambas3-cmake/main/share/gb_replace_temp.h:24,<br>
&gt;                   from<br>
&gt; /home/sebi/Builds/gambas3-cmake/main/gbx/gbx_replace.c:24:<br>
&gt; /usr/include/stdlib.h:588:12: nota: la declaración previa de ‘unsetenv’<br>
&gt; estaba aquí<br>
&gt;   extern int unsetenv (const char *__name) __THROW __nonnull ((1));<br>
&gt;              ^<br>
&gt; main/gbx/CMakeFiles/gbx.dir/build.make:218: recipe for target<br>
&gt; &#39;main/gbx/CMakeFiles/gbx.dir/gbx_replace.c.o&#39; failed<br>
&gt; make[2]: *** [main/gbx/CMakeFiles/gbx.dir/gbx_replace.c.o] Error 1<br>
&gt; CMakeFiles/Makefile2:223: recipe for target<br>
&gt; &#39;main/gbx/CMakeFiles/gbx.dir/all&#39; failed<br>
&gt; make[1]: *** [main/gbx/CMakeFiles/gbx.dir/all] Error 2<br>
&gt; Makefile:136: recipe for target &#39;all&#39; failed<br>
&gt; make: *** [all] Error 2<br>
&gt;<br>
<br>
<br>
</div></div>You are compiling functions that must be compiled only if the system<br>
libc does not provide them.<br>
<br>
You must implement all tests located in acinclude.m4 file.<br>
<br>
In that specific case, this is:<br>
<br>
AC_CHECK_FUNCS(setenv unsetenv getdomainname getpt cfmakeraw)<br>
<br>
Do you know autoconf enough to implement the corresponding tests with<br>
cmake? If not, I suggest you read carefully the autoconf documentation.<br>
<br>
Regards,<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Benoît Minisini<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
------------------------------------------------------------------------------<br>
October Webinars: Code for Performance<br>
Free Intel webinars can help you accelerate application performance.<br>
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from<br>
the latest Intel processors and coprocessors. See abstracts and register &gt;<br>
<a href="http://pubads.g.doubleclick.net/gampad/clk?id=60134071&amp;iu=/4140/ostg.clktrk" \
target="_blank">http://pubads.g.doubleclick.net/gampad/clk?id=60134071&amp;iu=/4140/ostg.clktrk</a><br>
 _______________________________________________<br>
Gambas-devel mailing list<br>
<a href="mailto:Gambas-devel@lists.sourceforge.net">Gambas-devel@lists.sourceforge.net</a><br>
 <a href="https://lists.sourceforge.net/lists/listinfo/gambas-devel" \
target="_blank">https://lists.sourceforge.net/lists/listinfo/gambas-devel</a><br> \
</div></div></blockquote></div><br></div>

--089e013a29084ca4fb04ea104149--


["log.tar.gz" (application/x-gzip)]

------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk

_______________________________________________
Gambas-devel mailing list
Gambas-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic