This is the mail archive of the ecos-maintainers@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fwd: configtool for linux building problems.


Hi there,

I've been trying to look for this email chain in your mailing list
archives, as I had to rbuild configtool, but funnily enough, the
search returned 0 results all the time, I've tried several ways, my
name+surname, the subject line, etc.

I guess that will cause several repeated questions to go into the
list, so you might want to look into this.

Just searching with the subject "configtool for linux building
problems" in ecos-discuss archives, like
(http://sourceware.org/cgi-bin/search.cgi?wm=wrd&form=extended&m=all&s=D&ul=%2Fml%2Fecos-discuss%2F%25&q=configtool%20for%20linux%20building%20problems)
gives nothing.

Luckyly, this time I could salvage it from my local email archives.

Regards.
David Fernandez


Forwarded conversation
Subject: configtool for linux building problems.
------------------------

From: David Fernandez <david.fernandez.work@googlemail.com>
Date: Wed, Jun 20, 2012 at 5:21 PM
To: ecos-discuss@ecos.sourceware.org


Hi there,

This is probably a deja-vu, as I think I run into this the last time I
try it some time ago...

I have wxGTK-devel 2.8.12 from my Fedora 15 distribution...

I get the following output:

$ sudo make -f ${ECOSTOOLSPREFIX}/src/tools/configtool/standalone/wxwin/makefile.gnu
install WXDIR=/usr INSTALLDIR=$ECOSTOOLSPREFIX OSTYPE=linux-gnu
c++ -O2 -c -ITCLDIR_use_system/include -I/usr/local/include
-I/usr/local/src/tools/configtool/common/common
-I/usr/local/src/tools/Utils/common
-I/usr/local/src/tools/ecostest/common -DecUSE_EXPERIMENTAL_CODE=1
`/usr/bin/wx-config --cppflags` -o
/home/wifi/builds/ecos-wxwin/aboutdlg.o
/usr/local/src/tools/configtool/standalone/wxwin/aboutdlg.cpp
In file included from /usr/local/src/tools/Utils/common/eCosStd.h:122:0,
                 from /usr/local/src/tools/Utils/common/Collections.h:55,
                 from /usr/local/src/tools/ecostest/common/eCosTest.h:48,
                 from
/usr/local/src/tools/configtool/standalone/wxwin/appsettings.h:49,
                 from
/usr/local/src/tools/configtool/standalone/wxwin/configtool.h:57,
                 from
/usr/local/src/tools/configtool/standalone/wxwin/ecpch.h:69,
                 from
/usr/local/src/tools/configtool/standalone/wxwin/aboutdlg.cpp:47:
/usr/local/src/tools/Utils/common/wcharunix.h:289:0: warning: "_T"
redefined [enabled by default]
/usr/include/wx-2.8/wx/wxchar.h:271:0: note: this is the location of
the previous definition
In file included from
/usr/local/src/tools/configtool/standalone/wxwin/appsettings.h:47:0,
                 from
/usr/local/src/tools/configtool/standalone/wxwin/configtool.h:57,
                 from
/usr/local/src/tools/configtool/standalone/wxwin/ecpch.h:69,
                 from
/usr/local/src/tools/configtool/standalone/wxwin/aboutdlg.cpp:47:
/usr/local/src/tools/configtool/standalone/wxwin/filename.h: In
constructor ‘ecFileName::ecFileName(const unsigned char*)’:
/usr/local/src/tools/configtool/standalone/wxwin/filename.h:87:54:
error: call of overloaded ‘wxString(const unsigned char*&)’ is
ambiguous
/usr/local/src/tools/configtool/standalone/wxwin/filename.h:87:54:
note: candidates are:
/usr/include/wx-2.8/wx/string.h:722:3: note: wxString::wxString(const
wxWCharBuffer&) <near match>
/usr/include/wx-2.8/wx/string.h:722:3: note:   no known conversion for
argument 1 from ‘const unsigned char*’ to ‘const wxWCharBuffer&’
/usr/include/wx-2.8/wx/string.h:692:3: note:
wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.8/wx/string.h:692:3: note:   no known conversion for
argument 1 from ‘const unsigned char*’ to ‘wxChar {aka wchar_t}’
/usr/include/wx-2.8/wx/string.h:690:3: note: wxString::wxString(const
wxString&) <near match>
/usr/include/wx-2.8/wx/string.h:690:3: note:   no known conversion for
argument 1 from ‘const unsigned char*’ to ‘const wxString&’
/usr/include/wx-2.8/wx/string.h:682:3: note: wxString::wxString(int)
<near match>
/usr/include/wx-2.8/wx/string.h:682:3: note:   no known conversion for
argument 1 from ‘const unsigned char*’ to ‘int’
/usr/local/src/tools/configtool/standalone/wxwin/aboutdlg.cpp: In
member function ‘bool ecAboutDialog::AddControls(wxWindow*)’:
/usr/local/src/tools/configtool/standalone/wxwin/aboutdlg.cpp:94:53:
error: cannot convert ‘wxChar* {aka wchar_t*}’ to ‘char*’ in
initialization
/usr/local/src/tools/configtool/standalone/wxwin/aboutdlg.cpp:107:68:
error: no matching function for call to ‘wxString::Replace(const
wchar_t [10], const char [6])’
/usr/local/src/tools/configtool/standalone/wxwin/aboutdlg.cpp:107:68:
note: candidate is:
/usr/include/wx-2.8/wx/string.h:1173:10: note: size_t
wxString::Replace(const wxChar*, const wxChar*, bool)
/usr/include/wx-2.8/wx/string.h:1173:10: note:   no known conversion
for argument 2 from ‘const char [6]’ to ‘const wxChar* {aka const
wchar_t*}’
/usr/local/src/tools/configtool/standalone/wxwin/aboutdlg.cpp:108:45:
error: no matching function for call to ‘wxString::Replace(const
wchar_t [7], const char [12])’
/usr/local/src/tools/configtool/standalone/wxwin/aboutdlg.cpp:108:45:
note: candidate is:
/usr/include/wx-2.8/wx/string.h:1173:10: note: size_t
wxString::Replace(const wxChar*, const wxChar*, bool)
/usr/include/wx-2.8/wx/string.h:1173:10: note:   no known conversion
for argument 2 from ‘const char [12]’ to ‘const wxChar* {aka const
wchar_t*}’
/usr/local/src/tools/configtool/standalone/wxwin/aboutdlg.cpp:132:101:
error: conversion from ‘const char [4]’ to ‘const wxString’ is
ambiguous
/usr/local/src/tools/configtool/standalone/wxwin/aboutdlg.cpp:132:101:
note: candidates are:
/usr/include/wx-2.8/wx/string.h:692:3: note:
wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.8/wx/string.h:692:3: note:   no known conversion for
argument 1 from ‘const char [4]’ to ‘wxChar {aka wchar_t}’
/usr/include/wx-2.8/wx/string.h:682:3: note: wxString::wxString(int)
<near match>
/usr/include/wx-2.8/wx/string.h:682:3: note:   no known conversion for
argument 1 from ‘const char [4]’ to ‘int’
/usr/include/wx-2.8/wx/gtk/button.h:21:5: error:   initializing
argument 3 of ‘wxButton::wxButton(wxWindow*, wxWindowID, const
wxString&, const wxPoint&, const wxSize&, long int, const
wxValidator&, const wxString&)’
make: *** [/home/wifi/builds/ecos-wxwin/aboutdlg.o] Error 1

Sure you know what is wrong, as I couldn't get a reasonable search set
from the list archives.

Cheers

----------
From: David Fernandez <david.fernandez.work@googlemail.com>
Date: Wed, Jun 20, 2012 at 8:59 PM
To: ecos-discuss@ecos.sourceware.org


Using the linked wxGTK-2.8.8 in the ecoscentric web site, the problem is:

$ su -c 'make -f
/home/davidfc/ecos/host/tools/configtool/standalone/wxwin/makefile.gnu
install WXDIR=/usr/local ECOSSRCDIR=/home/davidfc/ecos/host
INSTALLDIR=/usr/local'
Password:
c++ -O2 -c -ITCLDIR_use_system/include -I/usr/local/include
-I/home/davidfc/ecos/host/tools/configtool/common/common
-I/home/davidfc/ecos/host/tools/Utils/common
-I/home/davidfc/ecos/host/tools/ecostest/common
-DecUSE_EXPERIMENTAL_CODE=1 `/usr/local/bin/wx-config --cppflags` -o
/home/davidfc/rpmbuild/BUILDROOT/ecos/configtool/aboutdlg.o
/home/davidfc/ecos/host/tools/configtool/standalone/wxwin/aboutdlg.cpp
In file included from
/home/davidfc/ecos/host/tools/configtool/standalone/wxwin/ecpch.h:69:0,
                 from
/home/davidfc/ecos/host/tools/configtool/standalone/wxwin/aboutdlg.cpp:47:
/home/davidfc/ecos/host/tools/configtool/standalone/wxwin/configtool.h:55:33:
fatal error: wx/gizmos/splittree.h: No such file or directory
compilation terminated.
make: *** [/home/davidfc/rpmbuild/BUILDROOT/ecos/configtool/aboutdlg.o]
Error 1

The folder "gizmos" does not exist inside /usr/local/include/wx-2.8/wx/,
that leaves me quite confused :( When this problem gets solved,
something should definitely be put in the ecos.sourceware.org web about
it...

Cheers

----------
From: David Fernandez <david.fernandez.work@googlemail.com>
Date: Thu, Jun 21, 2012 at 11:57 PM
To: ecos-discuss@ecos.sourceware.org


As people is quite busy these days, I eventually find the answer myself:

The best ecos help page for configtool and host tools in general is
http://www.ecoscentric.com/devzone/configtool.shtml, the README.txt in
ecos/host/tools/configtool/standalone/wxwin gives a make recipe that is
less flexible then the one indicated in the web page.

1.- The link to wxGTK-2.8.8 sources in the above, or any other
wxGTK-2.8.x sources are ok, but require a few tricks. After configuring,
building, and installing, as indicated in the eCosCentric web page for
configtool, while in the wxGTK build folder (not the sources one) do:
    cd contrib/src/gizmos
    make
    sudo make install
This should get the gizmos library and headers installed, which do not
seem to install by default.

2.- Edit the makefile.gnu in ecos/host/tools/configtool/standalone, and
add to the line EXTRALDFLAGS, at the end, after leaving a space, -lX11

3.- Build configtool as indicated in
http://www.ecoscentric.com/devzone/configtool.shtml
    sudo make -f
<path-to>/ecos/host/tools/configtool/standalone/wxwin/makefile.gnu \
                        install WXDIR=<wxgtk-install-prefix>
ECOSSRCDIR=<path-to>/ecos/host \
                        INSTALLDIR=<configtool-install-prefix>
The makefile.gnu has the full possible options, but if your tcl is
properly installed, only the ones shown above will be necessary.

N.B. wxGTK-2.9 has either integrated gizmos into normal wxGTK source
folders, or moved part of it to "wxCode" (perhaps an additional package
to configure --with-wxcode, but not sure).

Hopefully I'll be able to find this the next time... Although it would
be good to update the ecos.sourceware.org pages with this info, perhaps
the eCosCentric ones too.

By the way, if John Dallaway, or any other maintainer for configtool
could confirm its maintenance status, and if what I've put above is the
best way to solve the configtool build problems, that would be great.

Cheers

----------
From: John Dallaway <john@dallaway.org.uk>
Date: Fri, Jun 22, 2012 at 8:54 AM
To: David Fernandez <david.fernandez.work@googlemail.com>
Cc: eCos Discussion <ecos-discuss@ecos.sourceware.org>


Hi David

On 21/06/12 23:57, David Fernandez wrote:

> 1.- The link to wxGTK-2.8.8 sources in the above, or any other
> wxGTK-2.8.x sources are ok, but require a few tricks. After configuring,
> building, and installing, as indicated in the eCosCentric web page for
> configtool, while in the wxGTK build folder (not the sources one) do:
>     cd contrib/src/gizmos
>     make
>     sudo make install
> This should get the gizmos library and headers installed, which do not
> seem to install by default.

That is what I do to install gizmos.

> 2.- Edit the makefile.gnu in ecos/host/tools/configtool/standalone, and
> add to the line EXTRALDFLAGS, at the end, after leaving a space, -lX11

I have not found -lX11 to be necessary. The invocation of wx-config
within makefile.gnu should return all the flags necessary to link with
the X window system. Which Linux distro and version are you using? Can
you forward the link-time error you observe without this change
(including all the command-line arguments) please?

John Dallaway
eCos maintainer
http://www.dallaway.org.uk/john

----------
From: Alex Schuilenburg <alexs@ecoscentric.com>
Date: Fri, Jun 22, 2012 at 10:18 AM
To: David Fernandez <david.fernandez.work@googlemail.com>
Cc: ecos-discuss@ecos.sourceware.org


Hi David,

On 2012-06-21 23:57, David Fernandez wrote:
> As people is quite busy these days, I eventually find the answer myself:
>
> The best ecos help page for configtool and host tools in general is
> http://www.ecoscentric.com/devzone/configtool.shtml, the README.txt in
> ecos/host/tools/configtool/standalone/wxwin gives a make recipe that is
> less flexible then the one indicated in the web page.
>
> 1.- The link to wxGTK-2.8.8 sources in the above, or any other
> wxGTK-2.8.x sources are ok, but require a few tricks. After configuring,

Just a word of warning.  If you use versions of wxGTK above 2.8.8,
including the 2.9.x series (although I have not tried the latest 2.9.3
yet), you will find that there are a few things which are broken within
the configtool. As far as I am aware, there has been no work within
anoncvs to move the configtool to newer wxGTK libraries and
unfortunately, as you mentioned, we have been too busy to contribute our
updates to the configtool for this and 64 bit support (we have local
unrelated customizations and MinGW native windows support).

We therefore recommend that you stick with wxGTK 2.8.8 until the
configtool is updated in anoncvs.

-- Alex

----------
From: David Fernandez <david.fernandez.work@googlemail.com>
Date: Fri, Jun 22, 2012 at 7:26 PM
To: John Dallaway <john@dallaway.org.uk>
Cc: eCos Discussion <ecos-discuss@ecos.sourceware.org>



>> 2.- Edit the makefile.gnu in ecos/host/tools/configtool/standalone, and
>> add to the line EXTRALDFLAGS, at the end, after leaving a space, -lX11
> I have not found -lX11 to be necessary. The invocation of wx-config
> within makefile.gnu should return all the flags necessary to link with
> the X window system. Which Linux distro and version are you using? Can
> you forward the link-time error you observe without this change
> (including all the command-line arguments) please?
>
>
Hi John,

This is the "simplified" output:

c++ -o configtool <lots-of-files.o>  -LTCLDIR_use_system/lib -L/usr/local/lib
-l<other-libs>... -ltcl `/usr/local/bin/wx-config --libs std,gizmos`
/usr/bin/ld: /usr/local/lib/libwx_gtk2_core-2.8.a(corelib_utilsx11.o):
undefined reference to symbol 'XGetWindowAttributes'
/usr/bin/ld: note: 'XGetWindowAttributes' is defined in DSO
/usr/lib/libX11.so.6 so try adding it to the linker command line
/usr/lib/libX11.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make: *** [/<my-build -folder>] Error 1

I compiled this in Fedora14+wxGTK-2.8.12 and Fedora15+wxGTK-2.8.8, and I
get the same problem in both of them (both wxGTK were compiled from
sources and installed in /usr/local, I know that /usr/local/bin is in
the PATH, but my LD_LIBRARY_PATH is empty, as I rely in the config
scripts for wx and tcl).

If you want the full link command (two or three screens), let me know,
and I'll recompile.

Cheers

----------
From: John Dallaway <john@dallaway.org.uk>
Date: Fri, Jun 22, 2012 at 8:34 PM
To: David Fernandez <david.fernandez.work@googlemail.com>


Hi David

On 22/06/12 19:26, David Fernandez wrote:

>>> 2.- Edit the makefile.gnu in ecos/host/tools/configtool/standalone, and
>>> add to the line EXTRALDFLAGS, at the end, after leaving a space, -lX11
>>>
>> I have not found -lX11 to be necessary. The invocation of wx-config
>> within makefile.gnu should return all the flags necessary to link with
>> the X window system. Which Linux distro and version are you using? Can
>> you forward the link-time error you observe without this change
>> (including all the command-line arguments) please?
>
> This is the "simplified" output:
>
> c++ -o configtool <lots-of-files.o>  -LTCLDIR_use_system/lib -L/usr/local/lib
> -l<other-libs>... -ltcl `/usr/local/bin/wx-config --libs std,gizmos`
> /usr/bin/ld: /usr/local/lib/libwx_gtk2_core-2.8.a(corelib_utilsx11.o):
> undefined reference to symbol 'XGetWindowAttributes'
> /usr/bin/ld: note: 'XGetWindowAttributes' is defined in DSO
> /usr/lib/libX11.so.6 so try adding it to the linker command line
> /usr/lib/libX11.so.6: could not read symbols: Invalid operation
> collect2: ld returned 1 exit status
> make: *** [/<my-build -folder>] Error 1
>
> I compiled this in Fedora14+wxGTK-2.8.12 and Fedora15+wxGTK-2.8.8, and I
> get the same problem in both of them (both wxGTK were compiled from
> sources and installed in /usr/local, I know that /usr/local/bin is in
> the PATH, but my LD_LIBRARY_PATH is empty, as I rely in the config
> scripts for wx and tcl).

This is almost certainly due to recent Fedora builds of GNU ld using
different DSO-linking semanics. Ref:

  http://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking

Specifying -lX11 explictly for Linux builds seems reasonable and should
be safe for other users.

I've attached a patch at:

  http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001613

Thank you for reporting this.

----------
From: John Dallaway <john@dallaway.org.uk>
Date: Fri, Jun 22, 2012 at 8:41 PM
To: David Fernandez <david.fernandez.work@googlemail.com>
Cc: eCos Discussion <ecos-discuss@ecos.sourceware.org>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]