| Newsgroups |
gmane.comp.lang.eiffel.gobo.general |
| Message-ID |
<[email protected]> |
--------------8CF8E1EA6244C60F5AC13BE6
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable
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:10=
20:6:
> error: redefinition of =E2=80=98connect_callback=E2=80=99
> =C2=A01020 | void connect_callback (Ihandle* ih, const char *name,
> 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:10=
20:6:
> note: previous definition of =E2=80=98connect_callback=E2=80=99 was h=
ere
> =C2=A01020 | void connect_callback (Ihandle* ih, const char *name,
> 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/conf=
iguration-1-20-0"
> =C2=A0=C2=A0=C2=A0 xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-inst=
ance"
> =C2=A0=C2=A0=C2=A0
> xsi:schemaLocation=3D"http://www.eiffel.com/developers/xml/configurat=
ion-1-20-0
> http://www.eiffel.com/developers/xml/configuration-1-20-0.xsd"
> =C2=A0=C2=A0=C2=A0 name=3D"eiffel-iup"
> =C2=A0=C2=A0=C2=A0 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 Library"
> =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
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 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">
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <description=
>IUP Library</description>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </external_library>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=3D"$=
{IUP_LIBS}/libiupcd.so">
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <description=
>IUP Library</description>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </external_library>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=3D"$=
{IUP_LIBS}/libcd.so">
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <description=
>IUP Library</description>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </external_library>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=3D"$=
{IUP_LIBS}/libiupcontrols.so">
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <description=
>IUP Library</description>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </external_library>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=3D"$=
{IUP_LIBS}/libiupgl.so">
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <description=
>IUP Library</description>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </external_library>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=3D"$=
{IUP_LIBS}/libiupglcontrols.so">
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <description=
>IUP Library</description>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </external_library>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=3D"$=
{IUP_LIBS}/libiupim.so">
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <description=
>IUP Library</description>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </external_library>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=3D"$=
{IUP_LIBS}/libim.so">
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <description=
>IUP Library</description>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </external_library>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=3D"$=
{IUP_LIBS}/libiupimglib.so">
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <description=
>IUP Library</description>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </external_library>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <external_library location=3D"$=
{IUP_LIBS}/libcdcontextplus.so">
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <description=
>IUP Library</description>
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </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-iup" lo=
cation=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 Sto=
p.
>>>
>>> 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 environmen=
t
>>> 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
--------------8CF8E1EA6244C60F5AC13BE6
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"> </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>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:</p>
<p>"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)."</p>
<p><br>
</p>
<p>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:</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><br>
</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:<br>
</div>
<div><br>
</div>
<div>warning: implicit declaration of function .....<br>
</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++. Any advice?</p>
<p>Thanks</p>
<p><br>
</p>
<div class=3D"moz-cite-prefix">On 5/15/20 1:46 PM, 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]=
u">
=20=20=20=20=20=20
<span>=C2=A0</span>
=20=20=20=20=20=20
<div id=3D"ygrp-text">
<p>
</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" <--- 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) && (_MSC_VER >=
=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_declarations_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++ that might be needed if some C++ code is
involved.</div>
</div>
</div>
</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:german=
[email protected]">[email protected]</a> [gobo-eiffel]
<a class=3D"moz-txt-link-rfc2396E" href=3D"mailto:gobo-eiff=
[email protected]"><[email protected]></a>:<br>
=C2=A0
<div id>
<div class=3D"js-helper js-readmsg-msg">
<div>
<div id=3D"style_15895705160941543087_BODY">
<div class=3D"class_1589601901"><br>
=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:<b=
r>
/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_callback (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_callback (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><?xml version=3D"1.0"
encoding=3D"ISO-8859-1"?><br>
<system<br>
=C2=A0=C2=A0=C2=A0 xmlns=3D<a class=3D"moz-txt-=
link-rfc2396E_mailru_css_attribute_postfix" href=3D"http://www.eiffel.com/d=
evelopers/xml/configuration-1-20-0" rel=3D"noopener noreferrer" target=3D"_=
blank" moz=3D"true">"http://www.eiffel.com/developers/xml/configuration-1-2=
0-0"</a><br>
=C2=A0=C2=A0=C2=A0 xmlns:xsi=3D<a class=3D"moz-=
txt-link-rfc2396E_mailru_css_attribute_postfix" href=3D"http://www.w3.org/2=
001/XMLSchema-instance" rel=3D"noopener
noreferrer" target=3D"_blank" moz=3D"true">"h=
ttp://www.w3.org/2001/XMLSchema-instance"</a><br>
=C2=A0=C2=A0=C2=A0 xsi:schemaLocation=3D<a clas=
s=3D"moz-txt-link-rfc2396E_mailru_css_attribute_postfix" href=3D"http://www=
..eiffel.com/developers/xml/configuration-1-20-0http://www.eiffel.com/develo=
pers/xml/configuration-1-20-0.xsd" rel=3D"noopener noreferrer" target=3D"_b=
lank" moz=3D"true">"http://www.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"eiffel-iup"<br>
=C2=A0=C2=A0=C2=A0 library_target=3D"eiffel-iup=
"<br>
=C2=A0=C2=A0=C2=A0
uuid=3D"3C312C2A-398E-4A0E-B834-1663DF82359F"<b=
r>
><br>
<br>
=C2=A0=C2=A0=C2=A0 <description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 descripti=
on: "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 </description><br>
<br>
=C2=A0=C2=A0=C2=A0 <target name=3D"eiffel-iu=
p"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <root =
all_classes=3D"true"/><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <file_=
rule><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0
<exclude>/\.svn$</exclude><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0
<exclude>/\.git$</exclude><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0
<exclude>/EIFGENs$</exclude><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </file=
_rule><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <optio=
n warning=3D"true"/><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <exter=
nal_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}"/><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <exter=
nal_library
location=3D"${IUP_LIBS}/libiup.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0 <description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </exte=
rnal_library>=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 <exter=
nal_library
location=3D"${IUP_LIBS}/libiupcd.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0 <description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </exte=
rnal_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <exter=
nal_library
location=3D"${IUP_LIBS}/libcd.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0 <description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </exte=
rnal_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <exter=
nal_library
location=3D"${IUP_LIBS}/libiupcontrols.so"><=
br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0 <description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </exte=
rnal_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <exter=
nal_library
location=3D"${IUP_LIBS}/libiupgl.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0 <description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </exte=
rnal_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <exter=
nal_library
location=3D"${IUP_LIBS}/libiupglcontrols.so">=
;<br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0 <description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </exte=
rnal_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <exter=
nal_library
location=3D"${IUP_LIBS}/libiupim.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0 <description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </exte=
rnal_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <exter=
nal_library
location=3D"${IUP_LIBS}/libim.so"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0 <description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </exte=
rnal_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <exter=
nal_library
location=3D"${IUP_LIBS}/libiupimglib.so"><br=
>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0 <description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </exte=
rnal_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <exter=
nal_library
location=3D"${IUP_LIBS}/libcdcontextplus.so">=
;<br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0 <description>IUP
Library</description><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </exte=
rnal_library><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <libra=
ry name=3D"base"
location=3D"$ISE_LIBRARY/library/base/base.ecf"=
/><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 <clust=
er name=3D"eiffel-iup"
location=3D"./" recursive=3D"true"><br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 </clus=
ter><br>
=C2=A0=C2=A0=C2=A0 </target><br>
</system></p>
<p>=C2=A0</p>
<p>Where is the problem?</p>
<p>Thanks</p>
<p>=C2=A0</p>
<div class=3D"moz-cite-prefix_mailru_css_attribut=
e_postfix">On
5/15/20 1:11 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_postf=
ix">
<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-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"><[email protected]></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_15895686471961104927=
_BODY_mailru_css_attribute_postfix">
<div class=3D"class_1589593025_mail=
ru_css_attribute_postfix">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.
<p>Regards</p>
<div class=3D"moz-cite-prefix_mai=
lru_css_attribute_postfix_mailru_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" href=
=3D"http://e.mail.ru/compose/?mailto=3Dmailto%[email protected]" rel=3D"=
noopener noreferrer" target=3D"_blank" moz=3D"true">[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>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 Stop.<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-txt-link-fr=
eetext_mailru_css_attribute_postfix_mailru_css_attribute_postfix" href=3D"h=
ttps://notabug.org/GermanGT/eiffel-iup" rel=3D"noopener noreferrer" target=
=3D"_blank" moz=3D"true">https://notabug.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>=C2=A0</div>
</div>
</blockquote>
=C2=A0</div>
</div>
</div>
</div>
</div>
</blockquote>
<div>=C2=A0</div>
</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 <germanandre@gm=
x.es> <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/1914;_ylc=3DX3oDMTJwdXY1cWVnBF9TAzk3MzU5NzE0BGdycElkAzE1MjIyNzAEZ3Jwc=
3BJZAMxNzA1MDA2NzY0BG1zZ0lkAzE5MTQEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxNTg5NjA4=
Mjcy?act=3Dreply&messageNum=3D1914">Reply via web post</a>
</td>
<td>•</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>•</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>•</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=3DX3oDMTJlOWRhbThlBF9TAzk3MzU5NzE0BGdycElkAzE1MjIyN=
zAEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTU4OTYwODI3Mg--=
" style=3D"text-decoration: none; color: #2D50FD">Start a New Topic</a>
</td>
<td>•</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=3DX3oDMTM0OWF1Nm1jBF9TAzk3MzU5Nz=
E0BGdycElkAzE1MjIyNzAEZ3Jwc3BJZAMxNzA1MDA2NzY0BG1zZ0lkAzE5MTQEc2VjA2Z0cgRzb=
GsDdnRwYwRzdGltZQMxNTg5NjA4MjcyBHRwY0lkAzE5MDk-" style=3D"text-decoration: =
none; color: #2D50FD;">Messages in this topic</a>
(6)
</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: [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=3DX3oDMTJldDNqbnE2BF9TAzk3MzU5NzE0BGdycElkAzE1MjIyNzAEZ3Jwc3BJZ=
AMxNzA1MDA2NzY0BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTU4OTYwODI3Mg--" 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=3DX3oDMTJkbmRvN2hnBF9TAzk3ND=
c2NTkwBGdycElkAzE1MjIyNzAEZ3Jwc3BJZAMxNzA1MDA2NzY0BHNlYwNmdHIEc2xrA2dmcARzd=
GltZQMxNTg5NjA4Mjcy" 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;"> • <a href=3D"https://i=
nfo.yahoo.com/privacy/us/yahoo/groups/details.html" style=3D"text-decoratio=
n: none;">Privacy</a> • <a href=3D"mailto:gobo-eiffel-unsubscribe@yaho=
ogroups.com?subject=3DUnsubscribe" style=3D"text-decoration: none;">Unsubsc=
ribe</a> • <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=3D1914/stime=3D1589608272" 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 -->
--------------8CF8E1EA6244C60F5AC13BE6--