<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jan 16, 2019 at 12:15 AM BERTRAND Joël <<a href="mailto:joel.bertrand@systella.fr">joel.bertrand@systella.fr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Jonathan Busby a écrit :<br>
> <br>
> <br>
> On Mon, Jan 14, 2019 at 11:45 AM BERTRAND Joël<br>
> <<a href="mailto:joel.bertrand@systella.fr" target="_blank">joel.bertrand@systella.fr</a> <mailto:<a href="mailto:joel.bertrand@systella.fr" target="_blank">joel.bertrand@systella.fr</a>>> wrote:<br>
> <br>
> <br>
>             No idea. If you want to debug, please re-run unmodified<br>
>     <a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> <<a href="http://configure.ac" rel="noreferrer" target="_blank">http://configure.ac</a>><br>
>     (./autogen.sh will rebuild regular configure script) and check error in<br>
>     config.log.<br>
> <br>
> <br>
> I deleted the build directory, untared the source again, and ran<br>
> configure with the "--enable-rplcas" option. I get the same error, which<br>
> can be found in config.log<br>
> <br>
> "<br>
> configure:7464: checking for main in -lm<br>
> configure:7483: gcc -o conftest -g -O2  -O2 -fno-strict-overflow <br>
> -pthread conftest.c -lm  -lcurl >&5<br>
> /usr/bin/ld: cannot find -lcurl<br>
> collect2: error: ld returned 1 exit status<br>
> configure:7483: $? = 1<br>
> configure: failed program was:<br>
> | /* confdefs.h */<br>
> | #define PACKAGE_NAME "rpl"<br>
> | #define PACKAGE_TARNAME "rpl"<br>
> | #define PACKAGE_VERSION "4.1.29"<br>
> | #define PACKAGE_STRING "rpl 4.1.29"<br>
> | #define PACKAGE_BUGREPORT ""<br>
> | #define PACKAGE_URL ""<br>
> | #define PACKAGE "rpl"<br>
> | #define VERSION "4.1.29"<br>
> | #define HAVE_INLINE 1<br>
> | /* end confdefs.h.  */<br>
> |<br>
> |<br>
> | int<br>
> | main ()<br>
> | {<br>
> | return main ();<br>
> |   ;<br>
> |   return 0;<br>
> | }<br>
> configure:7492: result: no<br>
> configure:7502: error: Can not find libm !<br>
> "<br>
>  <br>
> The " usr/bin/ld: cannot find -lcurl" is strange since I have curl and<br>
> libcurl installed. I have a feeling that the failure to link / find<br>
> libcurl is the problem.<br>
<br>
        Libcurl is mandatory to build RPL/CAS. I could modify <a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> to<br>
check if curl is available on build system.<br></blockquote><div><br></div><div>The above would be a good idea as I didn't know that the problem with finding libm was the missing libcurl dev files. There should be a separate test for libcurl. </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> EDIT 1 : Indeed, for some reason, the GNU autotools link against libcurl<br>
> ( in the autoconf generated " gcc -o conftest -g -O2  -O2<br>
> -fno-strict-overflow  -pthread conftest.c -lm  -lcurl >&5 " ) and after<br>
> I installed the development files for libcurl, the build "succeeded", in<br>
> a way.<br>
> <br>
> After, starting the build again, when the motif source was being built,<br>
> I received the build error :<br>
> <br>
> "<br>
> Making install in Mrm<br>
> make[4]: Entering directory<br>
> '/home/jdb2/src/rpl2/rpl-4.1.29/tools/motif-2.3.8/lib/Mrm'<br>
> make  install-am<br>
> make[5]: Entering directory<br>
> '/home/jdb2/src/rpl2/rpl-4.1.29/tools/motif-2.3.8/lib/Mrm'<br>
> make[6]: Entering directory<br>
> '/home/jdb2/src/rpl2/rpl-4.1.29/tools/motif-2.3.8/lib/Mrm'<br>
>  /bin/mkdir -p<br>
> '/home/jdb2/src/rpl2/rpl-4.1.29/tools/motif-2.3.8/install/lib'<br>
>  /bin/bash ../../libtool   --mode=install /usr/bin/install -c  <br>
> libMrm.la '/home/jdb2/src/rpl2/rpl-4.1.29/tools/motif-2.3.8/install/lib'<br>
> libtool:   error: error: cannot install 'libMrm.la' to a directory not<br>
> ending in /usr/lib<br>
> Makefile:435: recipe for target 'install-libLTLIBRARIES' failed<br>
> make[6]: *** [install-libLTLIBRARIES] Error 1<br>
> make[6]: Leaving directory<br>
> '/home/jdb2/src/rpl2/rpl-4.1.29/tools/motif-2.3.8/lib/Mrm'<br>
> Makefile:656: recipe for target 'install-am' failed<br>
> make[5]: *** [install-am] Error 2<br>
> make[5]: Leaving directory<br>
> '/home/jdb2/src/rpl2/rpl-4.1.29/tools/motif-2.3.8/lib/Mrm'<br>
> Makefile:650: recipe for target 'install' failed<br>
> make[4]: *** [install] Error 2<br>
> make[4]: Leaving directory<br>
> '/home/jdb2/src/rpl2/rpl-4.1.29/tools/motif-2.3.8/lib/Mrm'<br>
> Makefile:396: recipe for target 'install-recursive' failed<br>
> make[3]: *** [install-recursive] Error 1<br>
> make[3]: Leaving directory<br>
> '/home/jdb2/src/rpl2/rpl-4.1.29/tools/motif-2.3.8/lib'<br>
> Makefile:453: recipe for target 'install-recursive' failed<br>
> make[2]: *** [install-recursive] Error 1<br>
> make[2]: Leaving directory<br>
> '/home/jdb2/src/rpl2/rpl-4.1.29/tools/motif-2.3.8'<br>
> Makefile:1215: recipe for target 'tools/motif-2.3.8/install/lib/libXm.a'<br>
> failed<br>
> make[1]: *** [tools/motif-2.3.8/install/lib/libXm.a] Error 2<br>
> make[1]: Leaving directory '/home/jdb2/src/rpl2/rpl-4.1.29'<br>
> Makefile:964: recipe for target 'all' failed<br>
> make: *** [all] Error 2<br>
> "<br>
> <br>
> After I typed "make" again, this time the build completed successfully. :)<br>
<br>
        configure process is very complex as ./tools and ./rplcas directories<br>
contain all libraries required for basic RPL/2 (./tools) and RPL/CAS<br>
(./rplcas). Some libraries are often available on modern Unix systems<br>
but RPL/2 can be built on non Unix systems without these basic libraries<br>
(OpenSSL, ncurses...). They don't use autoconf nor automake. Thus,<br>
dependencies are not checked by autoconf/automake but only by Makefile's<br>
and, in cas of build error, you should run make purge and configure again.<br></blockquote><div><br></div><div>Well, I can't really run "make purge" as, to get the build to succeed on an Ubuntu / Linux Mint based system, I have to edit the GNU autotools scripts and definition files so that Motif is built with "-ffat-lto-objects" and zlib is built with "-fPIC". If I run "make purge" then these changes will be lost and the build will fail.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> The problem I'm having now is that basic tests are failing. For example,<br>
> if I untar tests/tests.tar.gz and run "rpl arith.rpl" I get the error :<br>
<br>
        test directory is only for me ;-)<br></blockquote><div><br></div><div>Oh, heh ;)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> "<br>
> +++Error : Undefined implicit name [92178]<br>
> "<br>
<br>
        arith.rpl has to abort with this error. If you want to run arith.rpl,<br>
you have to add "all" implicit after first '<<'. But there is a bug,<br>
arith.rpl aborts with "access violation" error. I'll fix this bug as<br>
soon as possible.<br>
<br></blockquote><div><br></div><div>I tried placing an "all" as you described ( "ARITH all << ..." ) but I now just receive a "+++Fatal : Invalid definition name [20637]" error. I don't know if I'm doing something stupid or not.<br><br></div><div>Thanks :)</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> Also, when I run "rpl --help" I get an error after the license text that<br>
> reads :<br>
> <br>
> "<br>
> +++Error : Any executable definition<br>
> "<br>
<br>
        What do you expect ? If you want to obtain a prompt, you have to start<br>
RPL/2 with rpl -i. </blockquote><div><br></div><div>Well, RPL/2's command line behavior needs to be modified to correspond with common Unix command line conventions. That is, if I type "cp --version", I don't receive an error. Running "rpl  -v" should behave the same way. In addition, I had no idea what the error message was indicating -- it should be changed to something such as "Error : No RPL/2 program found" or something like that. If one just runs "rpl" then the command line syntax is indicated by "rpl [-options] [program]", which, in Unix based systems, means that both "options" and "program" are optional. I think it should be changed to something like <br></div><div>"</div><div>Usage : rpl [OPTIONS] FILE</div><div>With no FILE, or when FILE is -, read standard input<br></div><div>"<br></div><div><br></div><div>But, all the above is just my opinion, and you'd probably have to do some recoding and it could break compatibility... I just think that the error messages are not very understandable...<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">If not, you should add a script name (or a shebang in<br>
script like !#/usr/local/bin/rpl -csp<br></blockquote><div><br></div><div>Thanks for the tip! :)</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
        Best regards,<br>
<br>
        JKB<br>
_______________________________________________<br>
RPL2 mailing list<br>
<a href="mailto:RPL2@rayleigh.systella.fr" target="_blank">RPL2@rayleigh.systella.fr</a><br>
<a href="https://www.systella.fr/cgi-bin/mailman/listinfo/rpl2" rel="noreferrer" target="_blank">https://www.systella.fr/cgi-bin/mailman/listinfo/rpl2</a><br>
<a href="http://www.rpl2.net" rel="noreferrer" target="_blank">http://www.rpl2.net</a><br></blockquote><div><br></div><div>Thanks and regards,</div><div><br></div><div>Jonathan<br></div></div></div></div></div></div></div>