Re: Problem with Makefile using EiffelStudio

"Germán Arias [email protected] [gobo-eiffel]" <[email protected]> Sat, 16 May 2020 20:59:40 -0600
Newsgroups gmane.comp.lang.eiffel.gobo.general
Message-ID <[email protected]>
--------------E90D9FCB04B6939D29F351AC
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Hi,

The current code at repository compiles with GOBO. I will try it on
Windows, but not sure what compiler is supposed to be used with the bin
package. But I tried some time ago with Liberty Eiffel on Windows 10 and
it worked.

I get errors like:


In file included from big_file_C6_c.c:37:
cd184.c: In function =E2=80=98inline_F184_4944=E2=80=99:
cd184.c:127:53: error: request for member =E2=80=98arg7=E2=80=99 in somethi=
ng not a
structure or union
 =C2=A0 127 |=C2=A0 cdfCanvasSector (arg1, arg2, arg3, arg4, arg5, arg6. ar=
g7);
 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^
cd184.c:127:2: error: too few arguments to function =E2=80=98cdfCanvasSecto=
r=E2=80=99
 =C2=A0 127 |=C2=A0 cdfCanvasSector (arg1, arg2, arg3, arg4, arg5, arg6. ar=
g7);
 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 ^~~~~~~~~~~~~~~
In file included from
/home/german/Desarrollo/eiffel-dev/eiffel-iup/library/eiffel-iup.h:36,
 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 from cd192.c:58,
 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 from big_file_C6_c.c:10:


In file included from big_file_C6_c.c:40:
iu197.c: In function =E2=80=98inline_F197_5505=E2=80=99:
iu197.c:584:31: error: expected =E2=80=98;=E2=80=99 before =E2=80=98:=E2=80=
=99 token
 =C2=A0 584 |=C2=A0 return IupAppend (arg1, arg2):
 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^
 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;
iu197.c: In function =E2=80=98inline_F197_5530=E2=80=99:
iu197.c:784:15: error: =E2=80=98$wht=E2=80=99 undeclared (first use in this=
 function)
 =C2=A0 784 |=C2=A0 IupSetFloat ($wht, arg2, arg3);
 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~~~

iu197.c: In function =E2=80=98inline_F197_5559=E2=80=99:
iu197.c:1016:9: error: void value not ignored as it ought to be
 =C2=A01016 |=C2=A0 return iup_isshift (arg1);
 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 ^

Thanks.


On 5/16/20 1:08 AM, Alexander Kogtenkov kwaxer-JGs/[email protected] [gobo-eiffel] wrote:
>
> The warning you mention means that for some reason the required header
> file was not included. If the updated code still compiles with Gobo,
> could you commit your changes so that we can see what could be wrong?
> BTW, does your code work with Gobo on Windows? It might be easier to
> check it in this case.
> Also, what kind of errors do you get?
> Alexander Kogtenkov
>
>     Germ=C3=A1n Arias [email protected] [gobo-eiffel]
>     <[email protected]>:
>
>     Thanks, that solve the problem. But now I have other problem.
>     Eiffel-IUP don't have C++ code, but the library IM (a dependency
>     of IUP library) have C++ code. The IM documentation say:
>
>     "Even if your application is only in C, you must link with a C++
>     capable linker. Using Tecmake set "LINKER :=3D g++" in your
>     "config.mak" when compiling with gcc (UNIX and Windows)."
>
>     With Liberty Eiffel I link with the library "libstdc++" and this
>     solve the problem. With GOBO this library is automatically linked
>     (I don't know why). But now seems that "ec" is compiling it in
>     pure C, even if I add the libstdc++ library. The IM header file
>     have a section:
>
>     # =C2=A0 ifdef __cplusplus
>     =C2=A0 =C2=A0 =C2=A0 =C2=A0 extern "C" {
>     # =C2=A0 endif
>     =C2=A0 =C2=A0 =C2=A0 =C2=A0 some_declarations_here
>
>     # =C2=A0 ifdef __cplusplus
>     =C2=A0 =C2=A0 =C2=A0 =C2=A0 }
>     # =C2=A0 endif
>     I don't know if this section should be compiled, but the functions
>     inside this section are precisely those mentioned in the warnings:
>     warning: implicit declaration of function .....
>
>     at the end I get a lot of warnings and errors. I don't have to
>     much experience with C and none with C++. Any advice?
>
>     Thanks
>
>     On 5/15/20 1:46 PM, Alexander Kogtenkov kwaxer-JGs/[email protected]
>     [gobo-eiffel] wrote:
>>
>>     To improve efficiency of C compilation, EiffelStudio combines
>>     code generated for several classes in one large compilation unit.
>>     Schematically this looks like
>>     #includes for class A
>>     code for class A
>>     #includes for class B
>>     code for class B
>>     As a result, if classes refer to the same header file, the
>>     references may appear in the large compilation unit more than once:
>>     #include "library_x.h"
>>     code for A
>>     #include "library_x.h" <--- This causes the problem.
>>     code for B
>>     Unfortunately, C compilers do not like when the same
>>     function/structure/etc. are declared more than once. Fortunately,
>>     there is a simple workaround. Suppose, C header file
>>     "library_x.h" looks like
>>     /* Begin */
>>     #include "something.h"
>>     #include "something_else.h"
>>     some_declarations_here
>>     /* End */
>>     Adding include guards in the header file fixes multiple inclusion
>>     issue:
>>     /* Begin */
>>     #ifndef _library_x_h
>>     # =C2=A0 define _library_x_h
>>     # =C2=A0 if defined(_MSC_VER) && (_MSC_VER >=3D 1020)
>>     # =C2=A0 =C2=A0 =C2=A0pragma once
>>     # =C2=A0 endif
>>     # =C2=A0=C2=A0include "something.h"
>>     # =C2=A0 include "something_else.h"
>>     # =C2=A0 ifdef __cplusplus
>>     =C2=A0 =C2=A0 =C2=A0 =C2=A0 extern "C" {
>>     # =C2=A0 endif
>>     =C2=A0 =C2=A0 =C2=A0 =C2=A0 some_declarations_here
>>
>>     # =C2=A0 ifdef __cplusplus
>>     =C2=A0 =C2=A0 =C2=A0 =C2=A0 }
>>     # =C2=A0 endif
>>     #endif
>>     /* End */
>>     Note that the code above now compiles also with C++ that might be
>>     needed if some C++ code is involved.
>>     Alexander Kogtenkov
>>
>>         Germ=C3=A1n Arias [email protected] [gobo-eiffel]
>>         <[email protected]>:
>>
>>         No, now I get errors about duplication of C function. There
>>         is only one C file "eiffel-iup.h" at library directory
>>         (EIFFEL_IUP variable), but I get:
>>
>>         In file included from iu263.c:59,
>>         =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 from big_file_C8_c.c:53:
>>         /home/german/Desarrollo/eiffel-dev/eiffel-iup/library/eiffel-iup=
..h:1020:6:
>>         error: redefinition of =E2=80=98connect_callback=E2=80=99
>>         =C2=A01020 | void connect_callback (Ihandle* ih, const char *nam=
e,
>>         const char *type, int operation) {
>>         =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^=
~~~~~~~~~~~~~~~
>>         In file included from iu259.c:47,
>>         =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 from big_file_C8_c.c:2:
>>         /home/german/Desarrollo/eiffel-dev/eiffel-iup/library/eiffel-iup=
..h:1020:6:
>>         note: previous definition of =E2=80=98connect_callback=E2=80=99 =
was here
>>         =C2=A01020 | void connect_callback (Ihandle* ih, const char *nam=
e,
>>         const char *type, int operation) {
>>         =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^=
~~~~~~~~~~~~~~~
>>
>>         my es-library.ecf is:
>>
>>         <?xml version=3D"1.0" encoding=3D"ISO-8859-1"?>
>>         <system
>>         =C2=A0=C2=A0=C2=A0
>>         xmlns=3D"http://www.eiffel.com/developers/xml/configuration-1-20=
-0"
>>         =C2=A0=C2=A0=C2=A0 xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema=
-instance"
>>         =C2=A0=C2=A0=C2=A0
>>         xsi:schemaLocation=3D"http://www.eiffel.com/developers/xml/confi=
guration-1-20-0
>>         http://www.eiffel.com/developers/xml/configuration-1-20-0.xsd"
>>         =C2=A0=C2=A0=C2=A0 name=3D"eiffel-iup"
>>         library_target=3D"eiffel-iup"
>>         uuid=3D"3C312C2A-398E-4A0E-B834-1663DF82359F"
>>         >
>>
>>         =C2=A0=C2=A0=C2=A0 <description>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 description: "ECF file for=
 the Eiffel-IUP Library"
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 library: "Eiffel-IUP Libra=
ry"
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 copyright: "Copyright (c) =
2016-2020, German Arias"
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 license: "MIT License"
>>         =C2=A0=C2=A0=C2=A0 </description>
>>
>>         =C2=A0=C2=A0=C2=A0 <target name=3D"eiffel-iup">
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <root all_classes=3D"true"=
/>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <file_rule>
>>         <exclude>/\.svn$</exclude>
>>         <exclude>/\.git$</exclude>
>>         <exclude>/EIFGENs$</exclude>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </file_rule>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <option warning=3D"true"/>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_cflag
>>         value=3D"-I${EIFFEL_IUP}"/>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=
=3D"${IUP_LIBS}/libiup.so">
>>         <description>IUP Library</description>
>>         </external_library>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=
=3D"${IUP_LIBS}/libiupcd.so">
>>         <description>IUP Library</description>
>>         </external_library>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=
=3D"${IUP_LIBS}/libcd.so">
>>         <description>IUP Library</description>
>>         </external_library>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library
>>         location=3D"${IUP_LIBS}/libiupcontrols.so">
>>         <description>IUP Library</description>
>>         </external_library>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=
=3D"${IUP_LIBS}/libiupgl.so">
>>         <description>IUP Library</description>
>>         </external_library>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library
>>         location=3D"${IUP_LIBS}/libiupglcontrols.so">
>>         <description>IUP Library</description>
>>         </external_library>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=
=3D"${IUP_LIBS}/libiupim.so">
>>         <description>IUP Library</description>
>>         </external_library>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=
=3D"${IUP_LIBS}/libim.so">
>>         <description>IUP Library</description>
>>         </external_library>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=
=3D"${IUP_LIBS}/libiupimglib.so">
>>         <description>IUP Library</description>
>>         </external_library>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library
>>         location=3D"${IUP_LIBS}/libcdcontextplus.so">
>>         <description>IUP Library</description>
>>         </external_library>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <library name=3D"base"
>>         location=3D"$ISE_LIBRARY/library/base/base.ecf"/>
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <cluster name=3D"eiffel-iu=
p" location=3D"./"
>>         recursive=3D"true">
>>         =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </cluster>
>>         =C2=A0=C2=A0=C2=A0 </target>
>>         </system>
>>
>>         Where is the problem?
>>
>>         Thanks
>>
>>         On 5/15/20 1:11 PM, Alexander Kogtenkov kwaxer-JGs/[email protected]
>>         [gobo-eiffel] wrote:
>>>
>>>         Thank you for the update. Does it mean that the application
>>>         can now be compiled with EiffelStudio and runs as expected?
>>>         Regards,
>>>         Alexander Kogtenkov
>>>
>>>             Germ=C3=A1n Arias [email protected] [gobo-eiffel]
>>>             <[email protected]>:
>>>             Sorry for the noise. I found the problem. At file
>>>             library.ecf of eiffel-iup I include the headers from
>>>             GOBO, otherwise it doesn't compile. Removing this line
>>>             solves the problem.
>>>
>>>             Regards
>>>
>>>             On 5/15/20 2:19 AM, Germ=C3=A1n Arias [email protected]
>>>             [gobo-eiffel] wrote:
>>>>
>>>>             Hi,
>>>>
>>>>             Not sure if this is an specific problem of EiffelStudio
>>>>             or something in
>>>>             my ecf files or maybe a bad command line arguments. But
>>>>             when I try to
>>>>             compile a project with Eiffel Compiler at command line
>>>>             using:
>>>>
>>>>             ec -freeze -c_compile -config es-system.ecf
>>>>
>>>>             I get this error:
>>>>
>>>>             [german@localhost example5 (master)]$ ec -freeze
>>>>             -c_compile -config
>>>>             es-system.ecf
>>>>             Eiffel Compilation Manager
>>>>             Version 19.05.10.3187 GPL Edition - linux-x86-64
>>>>
>>>>             Degree 6: Examining System
>>>>             Degree 5: Parsing Classes
>>>>             Degree 4: Analyzing Inheritance
>>>>             Degree 3: Checking Types
>>>>             Degree 2: Generating Byte Code
>>>>             Freezing System Changes
>>>>             Degree -1: Generating Code
>>>>             System Recompiled.
>>>>             Preparing C compilation
>>>>             Makefile:2: *** recipe commences before first target.=C2=
=A0
>>>>             Stop.
>>>>
>>>>             My system is PCLinuxOS with GCC 9.3.0 and GNU Make 4.3
>>>>
>>>>             You can test with the code from git repository:
>>>>
>>>>             https://notabug.org/GermanGT/eiffel-iup
>>>>
>>>>             but you should install the IUP libraries and set the
>>>>             environment
>>>>             variables EIFFEL_IUP to the IUP "library" directory and
>>>>             IUP_LIBS to the
>>>>             directory with IUP libraries. You should use
>>>>             "es-system.ecf" files with
>>>>             EiffelStudio compiler.
>>>>
>>>>             Regards
>>>>
>=20

--------------E90D9FCB04B6939D29F351AC
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/htm=
l4/strict.dtd">
<html>
<head>
</head>






=20
<body style=3D"background-color: #fff;">
<span style=3D"display:none">&nbsp;</span>

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id=3D"ygrp-mlmsg" style=3D"position:relative;">
  <div id=3D"ygrp-msg" style=3D"z-index: 1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id=3D"ygrp-text" >
=20=20=20=20=20=20
=20=20=20=20=20=20
      <p>
=20=20
=20=20
    <p>Hi, <br>
    </p>
    <p>The current code at repository compiles with GOBO. I will try it
      on Windows, but not sure what compiler is supposed to be used with
      the bin package. But I tried some time ago with Liberty Eiffel on
      Windows 10 and it worked.<br>
    </p>
    <p>I get errors like:</p>
    <p><br>
    </p>
    <p>In file included from big_file_C6_c.c:37:<br>
      cd184.c: In function =E2=80=98inline_F184_4944=E2=80=99:<br>
      cd184.c:127:53: error: request for member =E2=80=98arg7=E2=80=99 in s=
omething not
      a structure or union<br>
      =C2=A0 127 |=C2=A0 cdfCanvasSector (arg1, arg2, arg3, arg4, arg5, arg=
6.
      arg7);<br>
      =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^<br>
      cd184.c:127:2: error: too few arguments to function
      =E2=80=98cdfCanvasSector=E2=80=99<br>
      =C2=A0 127 |=C2=A0 cdfCanvasSector (arg1, arg2, arg3, arg4, arg5, arg=
6.
      arg7);<br>
      =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 ^~~~~~~~~~~~~~~<br>
      In file included from
      /home/german/Desarrollo/eiffel-dev/eiffel-iup/library/eiffel-iup.h:36=
,<br>
      =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from cd192.c:58,<br>
      =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from big_file_C6_c.c:10:</p>
    <p><br>
    </p>
    <p>In file included from big_file_C6_c.c:40:<br>
      iu197.c: In function =E2=80=98inline_F197_5505=E2=80=99:<br>
      iu197.c:584:31: error: expected =E2=80=98;=E2=80=99 before =E2=80=98:=
=E2=80=99 token<br>
      =C2=A0 584 |=C2=A0 return IupAppend (arg1, arg2):<br>
      =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^<br>
      =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;<br>
      iu197.c: In function =E2=80=98inline_F197_5530=E2=80=99:<br>
      iu197.c:784:15: error: =E2=80=98$wht=E2=80=99 undeclared (first use i=
n this
      function)<br>
      =C2=A0 784 |=C2=A0 IupSetFloat ($wht, arg2, arg3);<br>
      =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~~~<br>
      <br>
    </p>
    <p>iu197.c: In function =E2=80=98inline_F197_5559=E2=80=99:<br>
      iu197.c:1016:9: error: void value not ignored as it ought to be<br>
      =C2=A01016 |=C2=A0 return iup_isshift (arg1);<br>
      =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 ^<br>
      <br>
    </p>
    <p>Thanks.<br>
    </p>
    <p><br>
    </p>
    <div class=3D"moz-cite-prefix">On 5/16/20 1:08 AM, Alexander Kogtenkov
      <a class=3D"moz-txt-link-abbreviated" href=3D"mailto:kwaxer-JGs/[email protected]">=
kwaxer-JGs/[email protected]</a> [gobo-eiffel] wrote:<br>
    </div>
    <blockquote type=3D"cite" cite=3D"mid:[email protected]=
ru">
=20=20=20=20=20=20
      <span>=C2=A0</span>
=20=20=20=20=20=20
          <div id=3D"ygrp-text">
            <p>
            </p>
            <div>The warning you mention means that for some reason the
              required header file was not included. If the updated code
              still compiles with Gobo, could you commit your changes so
              that we can see what could be wrong?</div>
            <div>=C2=A0</div>
            <div>BTW, does your code work with Gobo on Windows? It might
              be easier to check it in this case.</div>
            <div>=C2=A0</div>
            <div>Also, what kind of errors do you get?</div>
            <div>=C2=A0</div>
            <div data=3D"container">
              <div data=3D"content">
                <div>
                  <div>Alexander Kogtenkov</div>
                </div>
              </div>
            </div>
            <div>=C2=A0</div>
            <div>=C2=A0</div>
            <blockquote style=3D"border-left:1px solid
              #0857A6;margin:10px;padding:0 0 0 10px;">Germ=C3=A1n Arias
              <a class=3D"moz-txt-link-abbreviated" href=3D"mailto:germanan=
[email protected]">[email protected]</a> [gobo-eiffel]
              <a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:gobo-eiffel=
@yahoogroups.com">&lt;[email protected]&gt;</a>:<br>
              =C2=A0
              <div id>
                <div class=3D"js-helper js-readmsg-msg">
                  <div>
                    <div id=3D"style_15896082770181005214_BODY">
                      <div class=3D"class_1589616296"><br>
                        =C2=A0
                        <p>Thanks, that solve the problem. But now I
                          have other problem. Eiffel-IUP don't have C&#43;+
                          code, but the library IM (a dependency of IUP
                          library) have C&#43;+ code. The IM documentation
                          say:</p>
                        <p>"Even if your application is only in C, you
                          must link with a C&#43;+ capable linker. Using
                          Tecmake set "LINKER :=3D g&#43;+" in your
                          "config.mak" when compiling with gcc (UNIX and
                          Windows)."</p>
                        <p>=C2=A0</p>
                        <p>With Liberty Eiffel I link with the library
                          "libstdc&#43;+" and this solve the problem. With
                          GOBO this library is automatically linked (I
                          don't know why). But now seems that "ec" is
                          compiling it in pure C, even if I add the
                          libstdc&#43;+ library. The IM header file have a
                          section:</p>
                        <div># =C2=A0 ifdef __cplusplus<br>
                          =C2=A0 =C2=A0 =C2=A0 =C2=A0 extern "C" {<br>
                          # =C2=A0 endif</div>
                        <div>=C2=A0</div>
                        <div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 some_declarations_=
here</div>
                        <div><br>
                          # =C2=A0 ifdef __cplusplus<br>
                          =C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
                          # =C2=A0 endif</div>
                        <div>=C2=A0</div>
                        <div>I don't know if this section should be
                          compiled, but the functions inside this
                          section are precisely those mentioned in the
                          warnings:</div>
                        <div>=C2=A0</div>
                        <div>warning: implicit declaration of function
                          .....</div>
                        <p>at the end I get a lot of warnings and
                          errors. I don't have to much experience with C
                          and none with C&#43;+. Any advice?</p>
                        <p>Thanks</p>
                        <p>=C2=A0</p>
                        <div class=3D"moz-cite-prefix_mailru_css_attribute_=
postfix">On
                          5/15/20 1:46 PM, Alexander Kogtenkov <a class=3D"=
moz-txt-link-abbreviated_mailru_css_attribute_postfix" href=3D"//e.mail.ru/=
compose/?mailto=3Dmailto%3akwaxer-JGs/[email protected]" rel=3D"noopener
                            noreferrer" moz=3D"true">kwaxer-JGs/[email protected]</a>
                          [gobo-eiffel] wrote:</div>
                        <blockquote type=3D"cite"><span>=C2=A0</span>
                          <div id=3D"ygrp-text_mailru_css_attribute_postfix=
">
                            <p>=C2=A0</p>
                            <div>To improve efficiency of C compilation,
                              EiffelStudio combines code generated for
                              several classes in one large compilation
                              unit. Schematically this looks like</div>
                            <div>
                              <div>=C2=A0</div>
                              <div>#includes for class A</div>
                              <div>code for class A</div>
                              <div>#includes for class B</div>
                              <div>code for class B</div>
                            </div>
                            <div>=C2=A0</div>
                            <div>As a result, if classes refer to the
                              same header file, the references may
                              appear in the large compilation unit more
                              than once:</div>
                            <div>=C2=A0</div>
                            <div>#include "library_x.h"</div>
                            <div>code for A<br>
                              #include "library_x.h" &lt;--- This causes
                              the problem.</div>
                            <div>code for B<br>
                              =C2=A0</div>
                            <div>Unfortunately, C compilers do not like
                              when the same function/structure/etc. are
                              declared more than once. Fortunately,
                              there is a simple workaround. Suppose, C
                              header file "library_x.h" looks like</div>
                            <div>=C2=A0</div>
                            <div>/* Begin */</div>
                            <div>#include "something.h"
                              <div>#include "something_else.h"</div>
                              <div>=C2=A0</div>
                              <div>some_declarations_here</div>
                              <div>/* End */</div>
                              =C2=A0
                              <div>Adding include guards in the header
                                file fixes multiple inclusion issue:</div>
                              <div>=C2=A0</div>
                              <div>/* Begin */</div>
                              <div>
                                <div>#ifndef _library_x_h<br>
                                  # =C2=A0 define _library_x_h<br>
                                  # =C2=A0 if defined(_MSC_VER) &amp;&amp;
                                  (_MSC_VER &gt;=3D 1020)<br>
                                  # =C2=A0 =C2=A0 =C2=A0pragma once<br>
                                  # =C2=A0 endif</div>
                                <div>
                                  <div>=C2=A0</div>
                                  <div># =C2=A0=C2=A0include "something.h"<=
/div>
                                  <div># =C2=A0 include "something_else.h"<=
/div>
                                </div>
                                <div>=C2=A0</div>
                                <div># =C2=A0 ifdef __cplusplus<br>
                                  =C2=A0 =C2=A0 =C2=A0 =C2=A0 extern "C" {<=
br>
                                  # =C2=A0 endif</div>
                                <div>=C2=A0</div>
                                <div>
                                  <div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 some_dec=
larations_here</div>
                                  <div>
                                    <div><br>
                                      # =C2=A0 ifdef __cplusplus<br>
                                      =C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
                                      # =C2=A0 endif</div>
                                    <div>#endif</div>
                                    <div>/* End */</div>
                                    <div>=C2=A0</div>
                                    <div>Note that the code above now
                                      compiles also with C&#43;+ that might
                                      be needed if some C&#43;+ code is
                                      involved.</div>
                                  </div>
                                </div>
                              </div>
                              <div>=C2=A0</div>
                              <div>
                                <div>
                                  <div>
                                    <div>Alexander Kogtenkov</div>
                                  </div>
                                </div>
                              </div>
                              <div>=C2=A0</div>
                              <div>=C2=A0</div>
                              <blockquote style=3D"border-left:1px solid
                                #0857A6;margin:10px;padding:0 0 0 10px;">Ge=
rm=C3=A1n
                                Arias <a class=3D"moz-txt-link-abbreviated_=
mailru_css_attribute_postfix" href=3D"//e.mail.ru/compose/?mailto=3Dmailto%=
[email protected]" rel=3D"noopener noreferrer" moz=3D"true">germanandre@=
gmx.es</a>
                                [gobo-eiffel] <a class=3D"moz-txt-link-rfc2=
396E_mailru_css_attribute_postfix" href=3D"//e.mail.ru/compose/?mailto=3Dma=
ilto%3agobo%[email protected]" rel=3D"noopener noreferrer" moz=3D"tr=
ue">&lt;[email protected]&gt;</a>:<br>
                                =C2=A0
                                <div id>
                                  <div class=3D"js-helper_mailru_css_attrib=
ute_postfix
js-readmsg-msg_mailru_css_attribute_postfix">
                                    <div>
                                      <div id=3D"style_15895705160941543087=
_BODY_mailru_css_attribute_postfix">
                                        <div class=3D"class_1589601901_mail=
ru_css_attribute_postfix">=C2=A0
                                          <p>No, now I get errors about
                                            duplication of C function.
                                            There is only one C file
                                            "eiffel-iup.h" at library
                                            directory (EIFFEL_IUP
                                            variable), but I get:</p>
                                          <p>=C2=A0</p>
                                          In file included from
                                          iu263.c:59,<br>
                                          =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 from
                                          big_file_C8_c.c:53:<br>
/home/german/Desarrollo/eiffel-dev/eiffel-iup/library/eiffel-iup.h:1020:6:
                                          error: redefinition of
                                          =E2=80=98connect_callback=E2=80=
=99<br>
                                          =C2=A01020 | void connect_callbac=
k
                                          (Ihandle* ih, const char
                                          *name, const char *type, int
                                          operation) {<br>
                                          =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~~~~~~~~~~~~~~~<br>
                                          In file included from
                                          iu259.c:47,<br>
                                          =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 from
                                          big_file_C8_c.c:2:<br>
/home/german/Desarrollo/eiffel-dev/eiffel-iup/library/eiffel-iup.h:1020:6:
                                          note: previous definition of
                                          =E2=80=98connect_callback=E2=80=
=99 was here<br>
                                          =C2=A01020 | void connect_callbac=
k
                                          (Ihandle* ih, const char
                                          *name, const char *type, int
                                          operation) {<br>
                                          =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~~~~~~~~~~~~~~~
                                          <p>=C2=A0</p>
                                          <p>my es-library.ecf is:</p>
                                          <p>=C2=A0</p>
                                          <p>&lt;?xml version=3D"1.0"
                                            encoding=3D"ISO-8859-1"?&gt;<br=
>
                                            &lt;system<br>
                                            =C2=A0=C2=A0=C2=A0 xmlns=3D<a c=
lass=3D"moz-txt-link-rfc2396E_mailru_css_attribute_postfix_mailru_css_attri=
bute_postfix" href=3D"http://www.eiffel.com/developers/xml/configuration-1-=
20-0" rel=3D"noopener noreferrer" target=3D"_blank" moz=3D"true">"http://ww=
w.eiffel.com/developers/xml/configuration-1-20-0"</a><br>
                                            =C2=A0=C2=A0=C2=A0 xmlns:xsi=3D=
<a class=3D"moz-txt-link-rfc2396E_mailru_css_attribute_postfix_mailru_css_a=
ttribute_postfix" href=3D"http://www.w3.org/2001/XMLSchema-instance" rel=3D=
"noopener
                                              noreferrer" target=3D"_blank"=
 moz=3D"true">"http://www.w3.org/2001/XMLSchema-instance"</a><br>
                                            =C2=A0=C2=A0=C2=A0 xsi:schemaLo=
cation=3D<a class=3D"moz-txt-link-rfc2396E_mailru_css_attribute_postfix_mai=
lru_css_attribute_postfix" href=3D"http://www.eiffel.com/developers/xml/con=
figuration-1-20-0http://www..eiffel.com/developers/xml/configuration-1-20-0=
..xsd" rel=3D"noopener noreferrer" target=3D"_blank" moz=3D"true">"http://ww=
w.eiffel.com/developers/xml/configuration-1-20-0
http://www.eiffel.com/developers/xml/configuration-1-20-0.xsd"</a><br>
                                            =C2=A0=C2=A0=C2=A0 name=3D"eiff=
el-iup"<br>
                                            =C2=A0=C2=A0=C2=A0
                                            library_target=3D"eiffel-iup"<b=
r>
                                            =C2=A0=C2=A0=C2=A0
                                            uuid=3D"3C312C2A-398E-4A0E-B834=
-1663DF82359F"<br>
                                            &gt;<br>
                                            <br>
                                            =C2=A0=C2=A0=C2=A0 &lt;descript=
ion&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 description: "ECF
                                            file for the Eiffel-IUP
                                            Library"<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 library: "Eiffel-IUP
                                            Library"<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 copyright:
                                            "Copyright (c) 2016-2020,
                                            German Arias"<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 license: "MIT
                                            License"<br>
                                            =C2=A0=C2=A0=C2=A0 &lt;/descrip=
tion&gt;<br>
                                            <br>
                                            =C2=A0=C2=A0=C2=A0 &lt;target
                                            name=3D"eiffel-iup"&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;root
                                            all_classes=3D"true"/&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;file_rule&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
                                            &lt;exclude&gt;/\.svn$&lt;/excl=
ude&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
                                            &lt;exclude&gt;/\.git$&lt;/excl=
ude&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
                                            &lt;exclude&gt;/EIFGENs$&lt;/ex=
clude&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;/file_rule&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;option
                                            warning=3D"true"/&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;external_cflag<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
                                            value=3D"-I${EIFFEL_IUP}"/&gt;<=
br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;external_library
location=3D"${IUP_LIBS}/libiup.so"&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
                                            &lt;description&gt;IUP
                                            Library&lt;/description&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
                                            &lt;/external_library&gt;=C2=A0=
=C2=A0=C2=A0
                                            =C2=A0=C2=A0=C2=A0<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;external_library
location=3D"${IUP_LIBS}/libiupcd.so"&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
                                            &lt;description&gt;IUP
                                            Library&lt;/description&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
                                            &lt;/external_library&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;external_library
location=3D"${IUP_LIBS}/libcd.so"&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
                                            &lt;description&gt;IUP
                                            Library&lt;/description&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
                                            &lt;/external_library&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;external_library
location=3D"${IUP_LIBS}/libiupcontrols.so"&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
                                            &lt;description&gt;IUP
                                            Library&lt;/description&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
                                            &lt;/external_library&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;external_library
location=3D"${IUP_LIBS}/libiupgl.so"&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
                                            &lt;description&gt;IUP
                                            Library&lt;/description&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
                                            &lt;/external_library&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;external_library
location=3D"${IUP_LIBS}/libiupglcontrols.so"&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
                                            &lt;description&gt;IUP
                                            Library&lt;/description&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
                                            &lt;/external_library&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;external_library
location=3D"${IUP_LIBS}/libiupim.so"&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
                                            &lt;description&gt;IUP
                                            Library&lt;/description&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
                                            &lt;/external_library&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;external_library
location=3D"${IUP_LIBS}/libim.so"&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
                                            &lt;description&gt;IUP
                                            Library&lt;/description&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
                                            &lt;/external_library&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;external_library
location=3D"${IUP_LIBS}/libiupimglib.so"&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
                                            &lt;description&gt;IUP
                                            Library&lt;/description&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
                                            &lt;/external_library&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;external_library
location=3D"${IUP_LIBS}/libcdcontextplus.so"&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0
                                            &lt;description&gt;IUP
                                            Library&lt;/description&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0
                                            &lt;/external_library&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;library
                                            name=3D"base"
                                            location=3D"$ISE_LIBRARY/librar=
y/base/base.ecf"/&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;cluster
                                            name=3D"eiffel-iup"
                                            location=3D"./"
                                            recursive=3D"true"&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0 &lt;/cluster&gt;<br>
                                            =C2=A0=C2=A0=C2=A0 &lt;/target&=
gt;<br>
                                            &lt;/system&gt;</p>
                                          <p>=C2=A0</p>
                                          <p>Where is the problem?</p>
                                          <p>Thanks</p>
                                          <p>=C2=A0</p>
                                          <div class=3D"moz-cite-prefix_mai=
lru_css_attribute_postfix_mailru_css_attribute_postfix">On
                                            5/15/20 1:11 PM, Alexander
                                            Kogtenkov <a class=3D"moz-txt-l=
ink-abbreviated_mailru_css_attribute_postfix_mailru_css_attribute_postfix" =
href=3D"http://e.mail.ru/compose/?mailto=3Dmailto%3akwaxer-JGs/[email protected]" rel=3D"=
noopener noreferrer" target=3D"_blank" moz=3D"true">kwaxer-JGs/[email protected]</a>
                                            [gobo-eiffel] wrote:</div>
                                          <blockquote type=3D"cite"> <span>=
=C2=A0</span>
                                            <div id=3D"ygrp-text_mailru_css=
_attribute_postfix_mailru_css_attribute_postfix">
                                              <p>=C2=A0</p>
                                              <div>Thank you for the
                                                update. Does it mean
                                                that the application can
                                                now be compiled with
                                                EiffelStudio and runs as
                                                expected?</div>
                                              <div>=C2=A0</div>
                                              <div>Regards,</div>
                                              <div>
                                                <div>
                                                  <div>
                                                    <div>Alexander
                                                      Kogtenkov</div>
                                                  </div>
                                                </div>
                                              </div>
                                              <div>=C2=A0</div>
                                              <div>=C2=A0</div>
                                              <blockquote style=3D"border-l=
eft:1px
                                                solid
                                                #0857A6;margin:10px;padding=
:0
                                                0 0 10px;">Germ=C3=A1n Aria=
s
                                                <a class=3D"moz-txt-link-ab=
breviated_mailru_css_attribute_postfix_mailru_css_attribute_postfix" href=
=3D"http://e.mail.ru/compose/?mailto=3Dmailto%[email protected]" rel=3D"=
noopener
                                                  noreferrer" target=3D"_bl=
ank" moz=3D"true">[email protected]</a>
                                                [gobo-eiffel] <a class=3D"m=
oz-txt-link-rfc2396E_mailru_css_attribute_postfix_mailru_css_attribute_post=
fix" href=3D"http://e.mail.ru/compose/?mailto=3Dmailto%3agobo%2deiffel@yaho=
ogroups.com" rel=3D"noopener
                                                  noreferrer" target=3D"_bl=
ank" moz=3D"true">&lt;[email protected]&gt;</a>:<br>
                                                =C2=A0
                                                <div id>
                                                  <div class=3D"js-helper_m=
ailru_css_attribute_postfix_mailru_css_attribute_postfix
js-readmsg-msg_mailru_css_attribute_postfix_mailru_css_attribute_postfix">
                                                    <div>
                                                      <div id=3D"style_1589=
5686471961104927_BODY_mailru_css_attribute_postfix_mailru_css_attribute_pos=
tfix">
                                                        <div class=3D"class=
_1589593025_mailru_css_attribute_postfix_mailru_css_attribute_postfix">Sorr=
y
                                                          for the noise.
                                                          I found the
                                                          problem. At
                                                          file
                                                          library.ecf of
                                                          eiffel-iup I
                                                          include the
                                                          headers from
                                                          GOBO,
                                                          otherwise it
                                                          doesn't
                                                          compile.
                                                          Removing this
                                                          line solves
                                                          the problem.
                                                          <p>Regards</p>
                                                          <div class=3D"moz=
-cite-prefix_mailru_css_attribute_postfix_mailru_css_attribute_postfix_mail=
ru_css_attribute_postfix">On
                                                          5/15/20 2:19
                                                          AM, Germ=C3=A1n
                                                          Arias <a class=3D=
"moz-txt-link-abbreviated_mailru_css_attribute_postfix_mailru_css_attribute=
_postfix_mailru_css_attribute_postfix" href=3D"http://e.mail.ru/compose/?ma=
ilto=3Dmailto%[email protected]" rel=3D"noopener
                                                          noreferrer" targe=
t=3D"_blank" moz=3D"true">[email protected]</a> [gobo-eiffel] wrote:</div>
                                                          <blockquote type=
=3D"cite"><span>=C2=A0</span>
                                                          <div id=3D"ygrp-t=
ext_mailru_css_attribute_postfix_mailru_css_attribute_postfix_mailru_css_at=
tribute_postfix">
                                                          <p>Hi,<br>
                                                          <br>
                                                          Not sure if
                                                          this is an
                                                          specific
                                                          problem of
                                                          EiffelStudio
                                                          or something
                                                          in<br>
                                                          my ecf files
                                                          or maybe a bad
                                                          command line
                                                          arguments. But
                                                          when I try to<br>
                                                          compile a
                                                          project with
                                                          Eiffel
                                                          Compiler at
                                                          command line
                                                          using:<br>
                                                          <br>
                                                          ec -freeze
                                                          -c_compile
                                                          -config
                                                          es-system.ecf<br>
                                                          <br>
                                                          I get this
                                                          error:<br>
                                                          <br>
[german@localhost example5 (master)]$ ec -freeze -c_compile -config<br>
                                                          es-system.ecf<br>
                                                          Eiffel
                                                          Compilation
                                                          Manager<br>
                                                          Version
                                                          19.05.10.3187
                                                          GPL Edition -
                                                          linux-x86-64<br>
                                                          <br>
                                                          Degree 6:
                                                          Examining
                                                          System<br>
                                                          Degree 5:
                                                          Parsing
                                                          Classes<br>
                                                          Degree 4:
                                                          Analyzing
                                                          Inheritance<br>
                                                          Degree 3:
                                                          Checking Types<br=
>
                                                          Degree 2:
                                                          Generating
                                                          Byte Code<br>
                                                          Freezing
                                                          System Changes<br=
>
                                                          Degree -1:
                                                          Generating
                                                          Code<br>
                                                          System
                                                          Recompiled.<br>
                                                          Preparing C
                                                          compilation<br>
                                                          Makefile:2:
                                                          *** recipe
                                                          commences
                                                          before first
                                                          target.=C2=A0 Sto=
p.<br>
                                                          <br>
                                                          My system is
                                                          PCLinuxOS with
                                                          GCC 9.3.0 and
                                                          GNU Make 4.3<br>
                                                          <br>
                                                          You can test
                                                          with the code
                                                          from git
                                                          repository:<br>
                                                          <br>
                                                          <a class=3D"moz-t=
xt-link-freetext_mailru_css_attribute_postfix_mailru_css_attribute_postfix_=
mailru_css_attribute_postfix" href=3D"https://notabug.org/GermanGT/eiffel-i=
up" rel=3D"noopener noreferrer" target=3D"_blank" moz=3D"true">https://nota=
bug.org/GermanGT/eiffel-iup</a><br>
                                                          <br>
                                                          but you should
                                                          install the
                                                          IUP libraries
                                                          and set the
                                                          environment<br>
                                                          variables
                                                          EIFFEL_IUP to
                                                          the IUP
                                                          "library"
                                                          directory and
                                                          IUP_LIBS to
                                                          the<br>
                                                          directory with
                                                          IUP libraries.
                                                          You should use
"es-system.ecf" files with<br>
                                                          EiffelStudio
                                                          compiler.<br>
                                                          <br>
                                                          Regards<br>
                                                          =C2=A0</p>
                                                          </div>
                                                          </blockquote>
                                                        </div>
                                                      </div>
                                                    </div>
                                                  </div>
                                                </div>
                                              </blockquote>
                                            </div>
                                          </blockquote>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </blockquote>
                            </div>
                          </div>
                        </blockquote>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </blockquote>
            <div>=C2=A0</div>
          </div>
=20=20=20=20=20=20=20=20=20=20
=20=20=20=20=20=20
=20=20=20=20=20=20
=20=20=20=20=20=20
      <!-- end group email -->
    </blockquote>
=20=20

</p>

    </div>
=20=20=20=20=20

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <div style=3D"color: #fff; height: 0;">__._,_.___</div>

=20=20=20=20=20=20=20=20=20=20
=20=20
=20

=20=20=20=20
    <div style=3D"clear:both"> </div>

    <div id=3D"fromDMARC" style=3D"margin-top: 10px;">
        <hr style=3D"height:2px ; border-width:0; color:#E3E3E3; background=
-color:#E3E3E3;">
        Posted by: =3D?UTF-8?Q?Germ=3Dc3=3Da1n_Arias?=3D &lt;germanandre@gm=
x.es&gt;        <hr style=3D"height:2px ; border-width:0; color:#E3E3E3; ba=
ckground-color:#E3E3E3;">
     </div>
    <div style=3D"clear:both"> </div>

    <table cellspacing=3D4px style=3D"margin-top: 10px; margin-bottom: 10px=
; color: #2D50FD;">
      <tbody>
        <tr>
          <td style=3D"font-size: 12px; font-family: arial; font-weight: bo=
ld; padding: 7px 5px 5px;"  >
                          <a style=3D"text-decoration: none; color: #2D50FD=
" href=3D"https://groups.yahoo.com/neo/groups/gobo-eiffel/conversations/mes=
sages/1916;_ylc=3DX3oDMTJwcHFsYnZ2BF9TAzk3MzU5NzE0BGdycElkAzE1MjIyNzAEZ3Jwc=
3BJZAMxNzA1MDA2NzY0BG1zZ0lkAzE5MTYEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxNTg5Njg0=
MjA3?act=3Dreply&messageNum=3D1916">Reply via web post</a>
                      </td>
          <td>&bull;</td>
          <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p=
x 5px;" >
            <a href=3D"mailto:[email protected]?subject=3DRe%3A%20%5Bgobo-=
eiffel%5D%20Problem%20with%20Makefile%20using%20EiffelStudio" style=3D"text=
-decoration: none; color: #2D50FD;">
               Reply to sender            </a>
          </td>
          <td>&bull;</td>
          <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p=
x 5px;">
            <a href=3D"mailto:[email protected]?subject=3DRe%3A%2=
0%5Bgobo-eiffel%5D%20Problem%20with%20Makefile%20using%20EiffelStudio" styl=
e=3D"text-decoration: none; color: #2D50FD">
              Reply to group            </a>
          </td>
          <td>&bull;</td>
          <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p=
x 5px;" >
            <a href=3D"https://groups.yahoo.com/neo/groups/gobo-eiffel/conv=
ersations/newtopic;_ylc=3DX3oDMTJlNWdpaWF2BF9TAzk3MzU5NzE0BGdycElkAzE1MjIyN=
zAEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTU4OTY4NDIwNw--=
" style=3D"text-decoration: none; color: #2D50FD">Start a New Topic</a>
          </td>
          <td>&bull;</td>
          <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p=
x 5px;color: #2D50FD;" >
                            <a href=3D"https://groups.yahoo.com/neo/groups/=
gobo-eiffel/conversations/topics/1909;_ylc=3DX3oDMTM0MWpyNnJpBF9TAzk3MzU5Nz=
E0BGdycElkAzE1MjIyNzAEZ3Jwc3BJZAMxNzA1MDA2NzY0BG1zZ0lkAzE5MTYEc2VjA2Z0cgRzb=
GsDdnRwYwRzdGltZQMxNTg5Njg0MjA3BHRwY0lkAzE5MDk-" style=3D"text-decoration: =
none; color: #2D50FD;">Messages in this topic</a>
                (8)
                      </td>
        </tr>
      </tbody>
    </table>

=20=20=20=20=20=20=20=20

<!------- Start Nav Bar ------>
<!-- |**|begin egp html banner|**| -->
<!-- |**|end egp html banner|**| -->


    <div id=3D"ygrp-grfd" style=3D"font-family: Verdana; font-size: 12px; p=
adding: 15px 0;">
=20=20=20=20=20=20
<!-- |**|begin egp html banner|**| -->

      To Post a message, send it to:&nbsp;&nbsp; [email protected]<BR=
>
To Unsubscribe, send a blank message to: gobo-eiffel-unsubscribe-B11MqFFcr06IwRZHo2/[email protected]=
m=20=20=20=20=20=20
<!-- |**|end egp html banner|**| -->

    </div>
=20=20

=20

<!-- |**|begin egp html banner|**| -->
<div id=3D"ygrp-vital" style=3D"background-color: #f2f2f2; font-family: Ver=
dana; font-size: 10px; margin-bottom: 10px; padding: 10px;">

    <span id=3D"vithd" style=3D"font-weight: bold; color: #333; text-transf=
orm: uppercase; "><a href=3D"https://groups.yahoo.com/neo/groups/gobo-eiffe=
l/info;_ylc=3DX3oDMTJlbm1ndnZhBF9TAzk3MzU5NzE0BGdycElkAzE1MjIyNzAEZ3Jwc3BJZ=
AMxNzA1MDA2NzY0BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTU4OTY4NDIwNw--" style=3D"t=
ext-decoration: none;">Visit Your Group</a></span>

     <ul style=3D"list-style-type: none; margin: 0; padding: 0; display: in=
line;">
                                                    </ul>
  </div>


<div id=3D"ft" style=3D"font-family: Arial; font-size: 11px; margin-top: 5p=
x; padding: 0 2px 0 0; clear: both;">
  <a href=3D"https://groups.yahoo.com/neo;_ylc=3DX3oDMTJkZWFkbzh0BF9TAzk3ND=
c2NTkwBGdycElkAzE1MjIyNzAEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwNmdHIEc2xrA2dmcARzd=
GltZQMxNTg5Njg0MjA3" style=3D"float: left;"><img src=3D"https://s.yimg.com/=
ru/0.9.12/min/css/yahoo_en-US_f_pw_101x21.png" height=3D"21" width=3D"101" =
alt=3D"Yahoo! Groups" style=3D"border: 0;"/></a>
  <div style=3D"color: #747575; float: right;"> &bull; <a href=3D"https://i=
nfo.yahoo.com/privacy/us/yahoo/groups/details.html" style=3D"text-decoratio=
n: none;">Privacy</a> &bull; <a href=3D"mailto:gobo-eiffel-unsubscribe@yaho=
ogroups.com?subject=3DUnsubscribe" style=3D"text-decoration: none;">Unsubsc=
ribe</a> &bull; <a href=3D"https://info.yahoo.com/legal/us/yahoo/utos/terms=
/" style=3D"text-decoration: none;">Terms of Use</a> </div>
</div>
<br>

<!-- |**|end egp html banner|**| -->

  </div> <!-- ygrp-msg -->

=20
  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id=3D"ygrp-sponsor" style=3D"width:160px; float:right; clear:none; m=
argin:0 0 25px 0; background: #fff;">

<!-- Start Recommendations -->
<div id=3D"ygrp-reco">
     </div>
<!-- End Recommendations -->



  </div>   <!-- |**|end egp html banner|**| -->

  <div style=3D"clear:both; color: #FFF; font-size:1px;">.</div>
</div>

  <img src=3D"http://geo.yahoo.com/serv?s=3D97359714/grpId=3D1522270/grpspI=
d=3D1705006764/msgId=3D1916/stime=3D1589684207" width=3D"1" height=3D"1"> <=
br>

<img src=3D"http://y.analytics.yahoo.com/fpc.pl?ywarid=3D515FB27823A7407E&a=
=3D10001310322279&js=3Dno&resp=3Dimg" width=3D"1" height=3D"1">=20

<div style=3D"color: #fff; height: 0;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->

</body>

<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
  <style type=3D"text/css">
  <!--
  #ygrp-mkp {
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 10px 0;
  padding: 0 10px;
}

#ygrp-mkp hr {
  border: 1px solid #d8d8d8;
}

#ygrp-mkp #hd {
  color: #628c2a;
  font-size: 85%;
  font-weight: 700;
  line-height: 122%;
  margin: 10px 0;
}

#ygrp-mkp #ads {
  margin-bottom: 10px;
}

#ygrp-mkp .ad {
  padding: 0 0;
}

#ygrp-mkp .ad p {
  margin: 0;
}

#ygrp-mkp .ad a {
  color: #0000ff;
  text-decoration: none;
}
  #ygrp-sponsor #ygrp-lc {
  font-family: Arial;
}

#ygrp-sponsor #ygrp-lc #hd {
  margin: 10px 0px;
  font-weight: 700;
  font-size: 78%;
  line-height: 122%;
}

#ygrp-sponsor #ygrp-lc .ad {
  margin-bottom: 10px;
  padding: 0 0;
}

  #actions {
    font-family: Verdana;
    font-size: 11px;
    padding: 10px 0;
  }

  #activity {
    background-color: #e0ecee;
    float: left;
    font-family: Verdana;
    font-size: 10px;
    padding: 10px;
  }

  #activity span {
    font-weight: 700;
  }

  #activity span:first-child {
    text-transform: uppercase;
  }

  #activity span a {
    color: #5085b6;
    text-decoration: none;
  }

  #activity span span {
    color: #ff7900;
  }

  #activity span .underline {
    text-decoration: underline;
  }

  .attach {
    clear: both;
    display: table;
    font-family: Arial;
    font-size: 12px;
    padding: 10px 0;
    width: 400px;
  }

  .attach div a {
    text-decoration: none;
  }

  .attach img {
    border: none;
    padding-right: 5px;
  }

  .attach label {
    display: block;
    margin-bottom: 5px;
  }

  .attach label a {
    text-decoration: none;
  }
=20=20
  blockquote {
    margin: 0 0 0 4px;
  }

  .bold {
    font-family: Arial;
    font-size: 13px;
    font-weight: 700;
  }

  .bold a {
    text-decoration: none;
  }

  dd.last p a {
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span {
    margin-right: 10px;
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span.yshortcuts {
    margin-right: 0;
  }

  div.attach-table div div a {
    text-decoration: none;
  }

  div.attach-table {
    width: 400px;
  }

  div.file-title a, div.file-title a:active, div.file-title a:hover, div.fi=
le-title a:visited {
    text-decoration: none;
  }

  div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div=
..photo-title a:visited {
    text-decoration: none;
  }

  div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
  }

  .green {
    color: #628c2a;
  }

  .MsoNormal {
    margin: 0 0 0 0;
  }

  o {
    font-size: 0;
  }

  #photos div {
    float: left;
    width: 72px;
  }

  #photos div div {
    border: 1px solid #666666;
    height: 62px;
    overflow: hidden;
    width: 62px;
  }

  #photos div label {
    color: #666666;
    font-size: 10px;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    width: 64px;
  }

  #reco-category {
    font-size: 77%;
  }

  #reco-desc {
    font-size: 77%;
  }

  .replbq {
    margin: 4px;
  }

  #ygrp-actbar div a:first-child {
   /* border-right: 0px solid #000;*/
    margin-right: 2px;
    padding-right: 5px;
  }

  #ygrp-mlmsg {
    font-size: 13px;
    font-family: Arial, helvetica,clean, sans-serif;
    *font-size: small;
    *font: x-small;
  }

  #ygrp-mlmsg table {
    font-size: inherit;
    font: 100%;
  }

  #ygrp-mlmsg select, input, textarea {
    font: 99% Arial, Helvetica, clean, sans-serif;
  }

  #ygrp-mlmsg pre, code {
    font:115% monospace;
    *font-size:100%;
  }

  #ygrp-mlmsg * {
    line-height: 1.22em;
  }

  #ygrp-mlmsg #logo {
    padding-bottom: 10px;
  }


  #ygrp-msg p a {
    font-family: Verdana;
  }

  #ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: 700;
  }

  #ygrp-reco #reco-head {
    color: #ff7900;
    font-weight: 700;
  }

  #ygrp-reco {
    margin-bottom: 20px;
    padding: 0px;
  }

  #ygrp-sponsor #ov li a {
    font-size: 130%;
    text-decoration: none;
  }

  #ygrp-sponsor #ov li {
    font-size: 77%;
    list-style-type: square;
    padding: 6px 0;
  }=20

  #ygrp-sponsor #ov ul {
    margin: 0;
    padding: 0 0 0 8px;
  }

  #ygrp-text {
    font-family: Georgia;
  }

  #ygrp-text p {
    margin: 0 0 1em 0;
  }

  #ygrp-text tt {
    font-size: 120%;
  }

  #ygrp-vital ul li:last-child {
    border-right: none !important;=20
  }=20
  -->
  </style>
</head>

<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->


--------------E90D9FCB04B6939D29F351AC--