FLTK logo

STR #3253

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 Home  |  Articles & FAQs  |  Bugs & Features  |  Documentation  |  Download  |  Screenshots  ]
 

Return to Bugs & Features | Roadmap 1.3 | SVN ⇄ GIT ]

STR #3253

Application:FLTK Library
Status:1 - Closed w/Resolution
Priority:3 - Moderate, e.g. unable to compile the software
Scope:2 - Specific to an operating system
Subsystem:Build Files
Summary:Link error on Win7 with MSVC Community
Version:1.3-current
Created By:szukw000
Assigned To:AlbrechtS
Fix Version:1.3.4 (SVN: v11866)
Update Notification:

Receive EMails Don't Receive EMails

Trouble Report Files:


Name/Time/Date Filename/Size  
 
#1 szukw000
17:56 Sep 19, 2015
fltk-1.3.x-r10861-orig-compile.txt.gz
9k
 
 
#2 szukw000
11:46 Nov 14, 2015
error-shared.txt.gz
5k
 
 
#3 szukw000
08:38 Aug 12, 2016
FLTK_WIN7.tar.xz
3k
 
     

Trouble Report Comments:


Name/Time/Date Text  
 
#1 szukw000
08:20 Aug 22, 2015
I now use MSVC Community with

 Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23026 for x64
 Copyright (C) Microsoft Corporation.  All rights reserved.

I get link errors with FLTK:

forms_timer.cxx
[ 91%] Linking CXX shared library ..\lib\libfltk_forms.dll
   Creating library ..\lib\fltk_forms.lib and object ..\lib\fltk_forms.exp

forms_pixmap.cxx.obj : error LNK2001: unresolved external symbol "private: static int Fl::use_high_res_GL_" (?use_high_res_GL_@Fl@@0HA)

forms_timer.cxx.obj : error LNK2001: unresolved external symbol "public: static int Fl::e_number" (?e_number@Fl@@2HA)

forms_pixmap.cxx.obj : error LNK2001: unresolved external symbol "public: static int Fl::e_x" (?e_x@Fl@@2HA)

etc.

winfried
 
 
#2 szukw000
03:26 Sep 15, 2015
There are missing initializations in 'Fl.cxx' (see below).

And it SEEMS that 'forms_compatability.cxx' should be included
into 'fltk_forms'.

Do you agree?

winfried

--- fltk-1.3.x-r10861/fluid/CMakeLists.txt.orig 2015-09-13 23:24:32.000000000 +0000
+++ fltk-1.3.x-r10861/fluid/CMakeLists.txt  2015-09-13 23:54:12.000000000 +0000
@@ -36,6 +36,7 @@
     template_panel.cxx
     undo.cxx
     widget_panel.cxx
+   ../src/forms_compatability.cxx
 )

 if(APPLE)
--- fltk-1.3.x-r10861/src/Fl.cxx.orig   2015-09-13 22:07:52.000000000 +0000
+++ fltk-1.3.x-r10861/src/Fl.cxx    2015-09-13 22:14:08.000000000 +0000
@@ -82,23 +82,23 @@
 const char *Fl_Mac_App_Menu::quit = "Quit %@";
 #endif // __APPLE__
 #ifndef FL_DOXYGEN
-Fl_Widget  *Fl::belowmouse_,
-       *Fl::pushed_,
-       *Fl::focus_,
-       *Fl::selection_owner_;
-int        Fl::damage_,
-       Fl::e_number,
-       Fl::e_x,
-       Fl::e_y,
-       Fl::e_x_root,
-       Fl::e_y_root,
-       Fl::e_dx,
-       Fl::e_dy,
-       Fl::e_state,
-       Fl::e_clicks,
-       Fl::e_is_click,
-       Fl::e_keysym,
-                Fl::e_original_keysym,
+Fl_Widget  *Fl::belowmouse_ = NULL,
+       *Fl::pushed_ = NULL,
+       *Fl::focus_ = NULL,
+       *Fl::selection_owner_ = NULL;
+int        Fl::damage_ = 0,
+       Fl::e_number = 0,
+       Fl::e_x = 0,
+       Fl::e_y = 0,
+       Fl::e_x_root = 0,
+       Fl::e_y_root = 0,
+       Fl::e_dx = 0,
+       Fl::e_dy = 0,
+       Fl::e_state = 0,
+       Fl::e_clicks = 0,
+       Fl::e_is_click = 0,
+       Fl::e_keysym = 0,
+                Fl::e_original_keysym = 0,
        Fl::scrollbar_size_ = 16;

 char       *Fl::e_text = (char *)"";
 
 
#3 AlbrechtS
05:23 Sep 18, 2015
Thanks for the report, but I have some questions:

Please tell us more about what you did to find these linker errors. According to your comment #2 you seem to be using CMake. Did you generate a VC project with CMake, or did you use the provided IDE files? If the latter, which IDE files?

With "MSVC Community" you mean ... "Visual Studio 2015 Community"? What exactly did you install?

When do the linker errors appear? Is this when linking libfltk_forms.dll (as your post #1 seems to suggest), or is it something else?

Why do you think that the mentioned variables should be initialized explicitly? Did the explicit initialization fix (some of) the linker errors? In general static variables are initialized implicitly to 0 (NULL), so the explicit initialization would be redundant.

You wrote:
> And it SEEMS that 'forms_compatability.cxx' should be included
> into 'fltk_forms'.

 ... but your (CMake) patch adds it to fluid.

Finally: did you successfully build the lib with your suggested patch(es)?
 
 
#4 szukw000
10:52 Sep 18, 2015
I used cmake-3.3.0-rc4, 'cl' and 'Visual Studio Community 2015'.

I got a lot of error reports for 'LNK2001: unresolved external symbol':

-----------------------------------------------------------
[ 69%] Linking CXX shared library ..\lib\libfltk_forms.dll
   Creating library ..\lib\fltk_forms.lib and object ..\lib\fltk_forms.exp
forms_pixmap.cxx.obj : error LNK2001: unresolved external symbol "private: static int Fl::use_high_res_GL_" (?use_high_res_GL_@Fl@@0HA)
-----------------------------------------------------------

I looked around for 'LNK2001: unresolved external symbol' and
found at 'stackoverflow' the following:

-----------------------------------------------------------
C++: undefined reference to static class member

Q:
==
If I have a class/struct like this

// header file
class Foo
{
   public:
   static int bar;
   int baz;
   int adder();
};

// implementation
int Foo::adder()
{
   return baz + bar;
}

This doesn't work. I get an "undefined reference to `Foo::bar'"
error. How do I access static class variables in C++?

A:
==
You must add the following line in the implementation file:

int Foo::bar = you_initial_value_here;

This is required so the compiler has a place for the static
variable.
-----------------------------------------------------------
Then I searched for

int Fl::use_high_res_GL_

etc. and found them uninitialized in 'Fl.cxx'. I now initialized
them and the 'LNK2001: unresolved external symbol' disappeared
for these variables.

But then this error report appeared:

-----------------------------------------------------------
[ 52%] Linking CXX executable ..\bin\fluid.exe
file.cxx.obj : error LNK2019: unresolved external symbol "public: void __cdecl Fl_Group::forms_end(void)" (?forms_end@Fl_Group@@QEAAXXZ) referenced in function "void __cdecl read_fdesign(void)" (?read_fdesign@@YAXXZ)
..\bin\fluid.exe : fatal error LNK1120: 1 unresolved externals
LINK failed. with 1120
-----------------------------------------------------------

'Fl_Group::forms_end()' I found in 'forms_compatibility.cxx'.
Including this file SEEMED to help.

But I suppose this file should or must be included into the
'libfltk_forms' library because of this line in the fluid
'CMakeLists.txt':

 target_link_libraries(fluid fltk fltk_images fltk_forms)

'libfltk_forms' is used elsewhere, especially in the file
'test/CMakeLists.txt':

CREATE_EXAMPLE(forms "../src/forms_compatability.cxx;../src/forms_bitmap.cxx;../src/forms_timer.cxx;f
orms.cxx" "fltk;fltk_forms")

Crude. But worked.

I used this 'build-cmake-fltk.bat':

-----------------------------------------------------------
cmake -DFL_ABI_VERSION:string="10304" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:path=="C:/Users/Public" -DOPTION_BUILD_SHARED_LIBS=on -DOPTION_USE_THREADS=on -DOPTION_LARGE_FILE=on -DOPTION_USE_SYSTEM_ZLIB=on -DOPTION_USE_SYSTEM_LIBJPEG=on -DOPTION_USE_SYSTEM_LIBPNG=on -DOPTION_USE_XFT=off -DOPTION_USE_XDBE=off .
-----------------------------------------------------------

Success with MSVC Express 2010. But now with Community 2015: no
success at all.

>Finally: did you successfully build the lib with your suggested patch(es)?

See below.

winfried

[ 97%] Linking CXX shared library ..\lib\libfltk_forms.dll
   Creating library ..\lib\fltk_forms.lib and object ..\lib\fltk_forms.exp
Fl.cxx.obj : error LNK2019: unresolved external symbol "void __cdecl fl_cleanup_pens(void)" (?fl_cleanup_pens@@YAXXZ) referenced in function "public: __cdecl Fl_Win32_At_Exit::~Fl_Win32_At_Exit(void)" (??1Fl_Win32_At_Exit@@QEAA@XZ)
Fl.cxx.obj : error LNK2019: unresolved external symbol "struct HPALETTE__ * __cdecl fl_select_palette(void)" (?fl_select_palette@@YAPEAUHPALETTE__@@XZ) referenced in function "__int64 __cdecl WndProc(struct HWND__ *,unsigned int,unsigned __int64,__int64)" (?WndProc@@YA_JPEAUHWND__@@I_K_J@Z)

Fl.cxx.obj : error LNK2019: unresolved external symbol "void __cdecl fl_save_pen(void)" (?fl_save_pen@@YAXXZ) referenced in function "__int64 __cdecl WndProc(struct HWND__ *,unsigned int,unsigned __int64,__int64)" (?WndProc@@YA_JPEAUHWND__@@I_K_J@Z)

Fl.cxx.obj : error LNK2019: unresolved external symbol "void __cdecl fl_restore_pen(void)" (?fl_restore_pen@@YAXXZ) referenced in function "__int64 __cdecl WndProc(struct HWND__ *,unsigned int,unsigned __int64,__int64)" (?WndProc@@YA_JPEAUHWND__@@I_K_J@Z)

Fl.cxx.obj : error LNK2019: unresolved external symbol "int FL_NORMAL_SIZE" (?FL_NORMAL_SIZE@@3HA) referenced in function "public: static int __cdecl Fl_Tooltip::size(void)" (?size@Fl_Tooltip@@SAHXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "public: static int Fl::compose_state" (?compose_state@Fl@@2HA) referenced in function "__int64 __cdecl WndProc(struct HWND__ *,unsigned int,unsigned __int64,__int64)" (?WndProc@@YA_JPEAUHWND__@@I_K_J@Z)

Fl.cxx.obj : error LNK2019: unresolved external symbol "public: static int Fl::awake_ring_head_" (?awake_ring_head_@Fl@@2HA) referenced in function "int __cdecl fl_wait(double)" (?fl_wait@@YAHN@Z)

Fl.cxx.obj : error LNK2019: unresolved external symbol "public: static int Fl::awake_ring_tail_" (?awake_ring_tail_@Fl@@2HA) referenced in function "int __cdecl fl_wait(double)" (?fl_wait@@YAHN@Z)

Fl.cxx.obj : error LNK2019: unresolved external symbol "public: static char const * const Fl::scheme_" (?scheme_@Fl@@2PEBDEB) referenced in function "public: static int __cdecl Fl::is_scheme(char const *)" (?is_scheme@Fl@@SAHPEBD@Z)

Fl.cxx.obj : error LNK2019: unresolved external symbol "public: static class Fl_Image * Fl::scheme_bg_" (?scheme_bg_@Fl@@2PEAVFl_Image@@EA) referenced in function "public: virtual void __cdecl Fl_Window::show(void)" (?show@Fl_Window@@UEAAXXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "public: static void (__cdecl* Fl::fatal)(char const *,...)" (?fatal@Fl@@2P6AXPEBDZZEA) referenced in function "__int64 __cdecl WndProc(struct HWND__ *,unsigned int,unsigned __int64,__int64)" (?WndProc@@YA_JPEAUHWND__@@I_K_J@Z)

Fl.cxx.obj : error LNK2019: unresolved external symbol "public: static void (__cdecl* Fl::atclose)(class Fl_Window *,void *)" (?atclose@Fl@@2P6AXPEAVFl_Window@@PEAX@ZEA) referenced in function "public: static void __cdecl Fl::set_atclose(void (__cdecl*)(class Fl_Window *,void *))" (?set_atclose@Fl@@SAXP6AXPEAVFl_Window@@PEAX@Z@Z)

Fl.cxx.obj : error LNK2019: unresolved external symbol "private: static unsigned __int64 Fl_RGB_Image::max_size_" (?max_size_@Fl_RGB_Image@@0_KA) referenced in function "public: static void __cdecl Fl_RGB_Image::max_size(unsigned __int64)" (?max_size@Fl_RGB_Image@@SAX_K@Z)

Fl.cxx.obj : error LNK2019: unresolved external symbol "private: static float Fl_Tooltip::delay_" (?delay_@Fl_Tooltip@@0MA) referenced in function "public: static float __cdecl Fl_Tooltip::delay(void)" (?delay@Fl_Tooltip@@SAMXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "private: static float Fl_Tooltip::hoverdelay_" (?hoverdelay_@Fl_Tooltip@@0MA) referenced in function "public: static float __cdecl Fl_Tooltip::hoverdelay(void)" (?hoverdelay@Fl_Tooltip@@SAMXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "private: static unsigned int Fl_Tooltip::color_" (?color_@Fl_Tooltip@@0IA) referenced in function "public: static unsigned int __cdecl Fl_Tooltip::color(void)" (?color@Fl_Tooltip@@SAIXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "private: static unsigned int Fl_Tooltip::textcolor_" (?textcolor_@Fl_Tooltip@@0IA) referenced in function "public: static unsigned int __cdecl Fl_Tooltip::textcolor(void)" (?textcolor@Fl_Tooltip@@SAIXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "private: static int Fl_Tooltip::font_" (?font_@Fl_Tooltip@@0HA) referenced in function "public: static int __cdecl Fl_Tooltip::font(void)" (?font@Fl_Tooltip@@SAHXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "private: static int Fl_Tooltip::size_" (?size_@Fl_Tooltip@@0HA) referenced in function "public: static int __cdecl Fl_Tooltip::size(void)" (?size@Fl_Tooltip@@SAHXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "private: static class Fl_Widget * Fl_Tooltip::widget_" (?widget_@Fl_Tooltip@@0PEAVFl_Widget@@EA) referenced in function "public: static class Fl_Widget * __cdecl Fl_Tooltip::current(void)" (?current@Fl_Tooltip@@SAPEAVFl_Widget@@XZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "private: static int Fl_Tooltip::margin_width_" (?margin_width_@Fl_Tooltip@@0HA) referenced in function "public: static int __cdecl Fl_Tooltip::margin_width(void)" (?margin_width@Fl_Tooltip@@SAHXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "private: static int Fl_Tooltip::margin_height_" (?margin_height_@Fl_Tooltip@@0HA) referenced in function "public: static int __cdecl Fl_Tooltip::margin_height(void)" (?margin_height@Fl_Tooltip@@SAHXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "private: static int Fl_Tooltip::wrap_width_" (?wrap_width_@Fl_Tooltip@@0HA) referenced in function "public: static int __cdecl Fl_Tooltip::wrap_width(void)" (?wrap_width@Fl_Tooltip@@SAHXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "class Fl_Graphics_Driver * fl_graphics_driver" (?fl_graphics_driver@@3PEAVFl_Graphics_Driver@@EA) referenced in function "void __cdecl fl_clip_region(struct HRGN__ *)" (?fl_clip_region@@YAXPEAUHRGN__@@@Z)

Fl.cxx.obj : error LNK2019: unresolved external symbol "public: static char const * const Fl_Device::class_id" (?class_id@Fl_Device@@2PEBDEB) referenced in function "public: virtual char const * __cdecl Fl_Device::class_name(void)" (?class_name@Fl_Device@@UEAAPEBDXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "public: static char const * const Fl_Graphics_Driver::class_id" (?class_id@Fl_Graphics_Driver@@2PEBDEB) referenced in function "public: virtual char const * __cdecl Fl_Graphics_Driver::class_name(void)" (?class_name@Fl_Graphics_Driver@@UEAAPEBDXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "public: static char const * const Fl_GDI_Graphics_Driver::class_id" (?class_id@Fl_GDI_Graphics_Driver@@2PEBDEB) referenced in function "public: virtual char const * __cdecl Fl_GDI_Graphics_Driver::class_name(void)" (?class_name@Fl_GDI_Graphics_Driver@@UEAAPEBDXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "public: static char const * const Fl_GDI_Printer_Graphics_Driver::class_id" (?class_id@Fl_GDI_Printer_Graphics_Driver@@2PEBDEB) referenced in function "public: virtual char const * __cdecl Fl_GDI_Printer_Graphics_Driver::class_name(void)" (?class_name@Fl_GDI_Printer_Graphics_Driver@@UEAAPEBDXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "private: static class Fl_Surface_Device * Fl_Surface_Device::_surface" (?_surface@Fl_Surface_Device@@0PEAV1@EA) referenced in function "struct HRGN__ * __cdecl XRectangleRegion(int,int,int,int)" (?XRectangleRegion@@YAPEAUHRGN__@@HHHH@Z)

Fl.cxx.obj : error LNK2019: unresolved external symbol "public: static char const * const Fl_Surface_Device::class_id" (?class_id@Fl_Surface_Device@@2PEBDEB) referenced in function "public: virtual char const * __cdecl Fl_Surface_Device::class_name(void)" (?class_name@Fl_Surface_Device@@UEAAPEBDXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "public: static char const * const Fl_Display_Device::class_id" (?class_id@Fl_Display_Device@@2PEBDEB) referenced in function "public: virtual char const * __cdecl Fl_Display_Device::class_name(void)" (?class_name@Fl_Display_Device@@UEAAPEBDXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "public: static char const * const Fl_Paged_Device::class_id" (?class_id@Fl_Paged_Device@@2PEBDEB) referenced in function "public: virtual char const * __cdecl Fl_Paged_Device::class_name(void)" (?class_name@Fl_Paged_Device@@UEAAPEBDXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "struct Fl_Fontdesc * fl_fonts" (?fl_fonts@@3PEAUFl_Fontdesc@@EA) referenced in function "void __cdecl fl_free_fonts(void)" (?fl_free_fonts@@YAXXZ)

Fl.cxx.obj : error LNK2019: unresolved external symbol "struct IDropTarget * flIDropTarget" (?flIDropTarget@@3PEAUIDropTarget@@EA) referenced in function "public: static class Fl_X * __cdecl Fl_X::make(class Fl_Window *)" (?make@Fl_X@@SAPEAV1@PEAVFl_Window@@@Z)

Fl.cxx.obj : error LNK2019: unresolved external symbol "unsigned int fl_codepage" (?fl_codepage@@3IA) referenced in function "void __cdecl fl_get_codepage(void)" (?fl_get_codepage@@YAXXZ)
..\lib\libfltk_forms.dll : fatal error LNK1120: 35 unresolved externals
LINK failed. with 1120
 
 
#5 szukw000
17:57 Sep 19, 2015
The 'fltk-1.3.x-r10861-orig-compile.txt' was the impetus to search,
change and recompile the library.

winfried
 
 
#6 AlbrechtS
06:32 Nov 10, 2015
Winfried, sorry for the long delay. I just took a look at the forms_compatability.cxx issue. Note that I don't have VC++ 2015 installed, so I need your help. You wrote:

-- begin --
'Fl_Group::forms_end()' I found in 'forms_compatibility.cxx'.
Including this file SEEMED to help.

But I suppose this file should or must be included into the
'libfltk_forms' library because of this line in the fluid
'CMakeLists.txt':

 target_link_libraries(fluid fltk fltk_images fltk_forms)

'libfltk_forms' is used elsewhere, especially in the file
'test/CMakeLists.txt':

CREATE_EXAMPLE(forms "../src/forms_compatability.cxx;../src/forms_bitmap.cxx;../src/forms_timer.cxx;f

orms.cxx" "fltk;fltk_forms")

Crude. But worked.
-- end --

This looks like a shared library link order issue. Can you please try to change ONLY the following two lines and try to link again?

fluid/CMakelists.txt line #49:
-target_link_libraries(fluid fltk fltk_images fltk_forms)
+target_link_libraries(fluid fltk_images fltk_forms fltk)

test/CMakeLists.txt line #43:
-CREATE_EXAMPLE(forms forms.cxx "fltk;fltk_forms")
+CREATE_EXAMPLE(forms forms.cxx "fltk_forms;fltk")

The only changes are the order of the (shared) libraries in both lines.


(1) Does this change anything, particularly related to linking fluid and test/forms? Are there less undefined references?


(2) What happens if you switch to static linking instead, i.e. remove "-DOPTION_BUILD_SHARED_LIBS=on" from your command line (or replace "on" with "off")?


Note: now that I'm thinking about it ISTR that building with shared libs didn't work (yet) with CMake -> Windows IDE builds, although static builds seemed to work. I wonder how you managed to make your given command line work with "MSVC Express 2010" (or why it worked for you although it was reported not to work - maybe with other MSVC versions - I can't tell).
 
 
#7 szukw000
09:02 Nov 14, 2015
With and without changing the order of the libraries:

1. static works always.

2. shared never works.

winfried
 
 
#8 AlbrechtS
09:57 Nov 14, 2015
Thanks for the tests and for reporting the results. There seem to be general issues with the shared library (which I assumed anyway) that need more research. I won't be able to do that anytime soon, but I'll keep an eye on it.  
 
#9 szukw000
11:49 Nov 14, 2015
After some changes I got the error-shared.txt file.

It seems that some *\.cxx files are not used.

winfried
 
 
#10 AlbrechtS
08:27 Aug 08, 2016
After long investigation and tests I believe that I fixed the shared library build errors when using CMake to build Visual Studio IDE solution files.

The problem was that the generated library file names were not unique so that the static lib (something like fltk.lib) was overwritten by the shared import lib (same name) during the build process so that later linker commands could not find the symbols. I hope that this fixes the issue for you. I tested the build and found that I could link test programs (hello.cxx and pixmap_browser.cxx) against the generated dll files.

The fix is in svn r11865 and modified for another reason in r11866

Please test your build with svn current (r11866 or later) or the next snapshot on Friday (Aug 12, 2016) or pull the current version from git at https://github.com/fltk/test-only and report if this fixes your build and if you can successfully link your programs with the built libfltk dlls. TIA.
 
 
#11 szukw000
08:42 Aug 12, 2016
FLTK_WIN7.tar.xz shows all for showing SUCCESS.

Thank you.

winfried
 
 
#12 AlbrechtS
06:53 Aug 13, 2016
Thanks for confirmation. I'm glad it worked for you.

Closing this STR now.
 
     

Return to Bugs & Features ]

 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.