public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] Problems building ecos sources
@ 2006-02-22 16:49 David Fernandez
  2006-02-22 16:54 ` Andrew Lunn
  0 siblings, 1 reply; 22+ messages in thread
From: David Fernandez @ 2006-02-22 16:49 UTC (permalink / raw)
  To: ecos-discuss


	Hi there,

	I'm trying to configure and make the gcc-2.0 tarball, but gives several
warnings about compiler options not supported for C++, and finally it
stops complaining about undefined dinamic linker symbols.

	I'm using gcc-4.0.2 toolchain, does it support that?

	Any ideas about what could be wrong?

David.


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-22 16:49 [ECOS] Problems building ecos sources David Fernandez
@ 2006-02-22 16:54 ` Andrew Lunn
       [not found]   ` <1140627369.2878.18.camel@software.cct.co.uk>
  0 siblings, 1 reply; 22+ messages in thread
From: Andrew Lunn @ 2006-02-22 16:54 UTC (permalink / raw)
  To: David Fernandez; +Cc: ecos-discuss

On Wed, Feb 22, 2006 at 04:49:42PM +0000, David Fernandez wrote:
> 
> 	Hi there,
> 
> 	I'm trying to configure and make the gcc-2.0 tarball, but gives several
> warnings about compiler options not supported for C++, and finally it
> stops complaining about undefined dinamic linker symbols.
> 
> 	I'm using gcc-4.0.2 toolchain, does it support that?
> 
> 	Any ideas about what could be wrong?

So you are using gcc-4.0.2 to compile gcc-2.0? Why do you want to use
such an old version of gcc?

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
       [not found]   ` <1140627369.2878.18.camel@software.cct.co.uk>
@ 2006-02-22 21:39     ` Andrew Lunn
  2006-02-23 11:33       ` David Fernandez
  0 siblings, 1 reply; 22+ messages in thread
From: Andrew Lunn @ 2006-02-22 21:39 UTC (permalink / raw)
  To: David Fernandez; +Cc: eCos Disuss

On Wed, Feb 22, 2006 at 04:56:09PM +0000, David Fernandez wrote:
> On Wed, 2006-02-22 at 17:53 +0100, Andrew Lunn wrote:
> > On Wed, Feb 22, 2006 at 04:49:42PM +0000, David Fernandez wrote:
> > > 
> > > 	Hi there,
> > > 
> > > 	I'm trying to configure and make the gcc-2.0 tarball, but gives several
> > > warnings about compiler options not supported for C++, and finally it
> > > stops complaining about undefined dinamic linker symbols.
> > > 
> > > 	I'm using gcc-4.0.2 toolchain, does it support that?
> > > 
> > > 	Any ideas about what could be wrong?
> > 
> > So you are using gcc-4.0.2 to compile gcc-2.0? Why do you want to use
> > such an old version of gcc?
> > 
> >         Andrew
> 
> 	Ooops, I meant ecos-2.0...

I've not used the old ecos-2.0 for many years....

I just compiled anonymous cvs using gcc 4.0.3. As you said there are
lots of warning, but it does compile.

I suggest you upgrade to annoncvs.

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-22 21:39     ` Andrew Lunn
@ 2006-02-23 11:33       ` David Fernandez
  2006-02-23 15:02         ` Andrew Lunn
  2006-02-23 17:30         ` Andrew Lunn
  0 siblings, 2 replies; 22+ messages in thread
From: David Fernandez @ 2006-02-23 11:33 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: ecos-discuss

On Wed, 2006-02-22 at 22:39 +0100, Andrew Lunn wrote:
> On Wed, Feb 22, 2006 at 04:56:09PM +0000, David Fernandez wrote:
> > On Wed, 2006-02-22 at 17:53 +0100, Andrew Lunn wrote:
> > > On Wed, Feb 22, 2006 at 04:49:42PM +0000, David Fernandez wrote:
> > > > 
> > > > 	Hi there,
> > > > 
> > > > 	I'm trying to configure and make the gcc-2.0 tarball, but gives several
> > > > warnings about compiler options not supported for C++, and finally it
> > > > stops complaining about undefined dinamic linker symbols.
> > > > 
> > > > 	I'm using gcc-4.0.2 toolchain, does it support that?
> > > > 
> > > > 	Any ideas about what could be wrong?
> > > 
> > > So you are using gcc-4.0.2 to compile gcc-2.0? Why do you want to use
> > > such an old version of gcc?
> > > 
> > >         Andrew
> > 
> > 	Ooops, I meant ecos-2.0...
> 
> I've not used the old ecos-2.0 for many years....
> 
> I just compiled anonymous cvs using gcc 4.0.3. As you said there are
> lots of warning, but it does compile.
> 
> I suggest you upgrade to annoncvs.
> 
>         Andrew

	I've downloaded this time the file ecos-trunk-full.tar.bz2 from
ecoscentric (I don't have cvs access at work, but it is supposed to be a
weekly snapshot from the CVS, right?), Extract it in /opt, made a
$HOME/ecos-build directory, gone into it, run /opt/ecos/configure
--prefix=/usr/local/ecos, run make. And this is the result:

[root@software ecos-build]# make
...
c++ -pipe -Wall -Wpointer-arith -Wbad-function-cast -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wnested-externs
-Woverloaded-virtual -O0   -o ecosconfig  ecosconfig.o cdl_exec.o
build.o flags.o  -lcdl -lcyginfra -L/usr/local/ecos/lib -ltcl8.4
-L/root/ecos-build/host/libcdl -L/root/ecos-build/host/infra
/usr/local/ecos/lib/libtcl8.4.a(tclLoadDl.o)(.text+0x2a): In function
`TclpDlopen':
/usr/src/redhat/BUILD/insight-6.1/tcl/unix/../unix/tclLoadDl.c:78:
undefined reference to `dlopen'
/usr/local/ecos/lib/libtcl8.4.a(tclLoadDl.o)(.text
+0x7b):/usr/src/redhat/BUILD/insight-6.1/tcl/unix/../unix/tclLoadDl.c:88: undefined reference to `dlopen'
/usr/local/ecos/lib/libtcl8.4.a(tclLoadDl.o)(.text
+0x95):/usr/src/redhat/BUILD/insight-6.1/tcl/unix/../unix/tclLoadDl.c:93: undefined reference to `dlerror'
/usr/local/ecos/lib/libtcl8.4.a(tclLoadDl.o)(.text+0x10a): In function
`TclpFindSymbol':
/usr/src/redhat/BUILD/insight-6.1/tcl/unix/../unix/tclLoadDl.c:136:
undefined reference to `dlsym'
/usr/local/ecos/lib/libtcl8.4.a(tclLoadDl.o)(.text
+0x174):/usr/src/redhat/BUILD/insight-6.1/tcl/unix/../unix/tclLoadDl.c:142: undefined reference to `dlsym'
/usr/local/ecos/lib/libtcl8.4.a(tclLoadDl.o)(.text+0x1bb): In function
`TclpUnloadFile':
/usr/src/redhat/BUILD/insight-6.1/tcl/unix/../unix/tclLoadDl.c:179:
undefined reference to `dlclose'
collect2: ld returned 1 exit status
make[3]: *** [ecosconfig] Error 1
make[3]: Leaving directory
`/root/ecos-build/host/tools/configtool/standalone/common'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/root/ecos-build/host/tools/configtool/standalone/common'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/ecos-build/host'
make: *** [all-recursive] Error 1

	Why? (almost the same as with ecos-2.0 tarball)

David.


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-23 11:33       ` David Fernandez
@ 2006-02-23 15:02         ` Andrew Lunn
  2006-02-23 15:37           ` David Fernandez
  2006-02-23 17:30         ` Andrew Lunn
  1 sibling, 1 reply; 22+ messages in thread
From: Andrew Lunn @ 2006-02-23 15:02 UTC (permalink / raw)
  To: David Fernandez; +Cc: eCos Disuss

> [root@software ecos-build]# make
> ...
> c++ -pipe -Wall -Wpointer-arith -Wbad-function-cast -Wcast-qual
> -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs
> -Woverloaded-virtual -O0   -o ecosconfig  ecosconfig.o cdl_exec.o
> build.o flags.o  -lcdl -lcyginfra -L/usr/local/ecos/lib -ltcl8.4
> -L/root/ecos-build/host/libcdl -L/root/ecos-build/host/infra
> /usr/local/ecos/lib/libtcl8.4.a(tclLoadDl.o)(.text+0x2a): In function

This looks more like a tcl problem. Try using the system install of
tcl, not the build for insight. It is also worth checking the output
from configure. Which tcl does it find, the system installation or
your private install in /usr/local?

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-23 15:02         ` Andrew Lunn
@ 2006-02-23 15:37           ` David Fernandez
  2006-02-23 15:51             ` Andrew Lunn
  2006-02-23 16:48             ` [ECOS] " John Dallaway
  0 siblings, 2 replies; 22+ messages in thread
From: David Fernandez @ 2006-02-23 15:37 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: ecos-discuss

On Thu, 2006-02-23 at 11:55 +0100, Andrew Lunn wrote:
> > [root@software ecos-build]# make
> > ...
> > c++ -pipe -Wall -Wpointer-arith -Wbad-function-cast -Wcast-qual
> > -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs
> > -Woverloaded-virtual -O0   -o ecosconfig  ecosconfig.o cdl_exec.o
> > build.o flags.o  -lcdl -lcyginfra -L/usr/local/ecos/lib -ltcl8.4
> > -L/root/ecos-build/host/libcdl -L/root/ecos-build/host/infra
> > /usr/local/ecos/lib/libtcl8.4.a(tclLoadDl.o)(.text+0x2a): In function
> 
> This looks more like a tcl problem. Try using the system install of
> tcl, not the build for insight. It is also worth checking the output
> from configure. Which tcl does it find, the system installation or
> your private install in /usr/local?
> 
>         Andrew

	Installed a new brand Tcl, all goes OK.

	But, when trying to make the graphical configuration utility (wxwin in
linux), I've got:

make -f /opt/ecos/host/tools/configtool/standalone/wxwin/Makefile
ECOSDIR=/opt/ecos WXDIR=/usr/src/redhat/BUILD/wxGTK-2.4.2 LEVEL=release
full 2>&1 | tee make.out
...
mkdir -p /root/ecfg-build/ct-build-release
c++ -O2 -c -I/usr/src/redhat/BUILD/wxGTK-2.4.2/include
-I/opt/ecos/host/libcdl -I/opt/ecos/host/infra
-I/opt/ecos/host/tools/configtool/common/common
-I/opt/ecos/host/tools/Utils/common
-I/opt/ecos/host/tools/ecostest/common
-I/root/ecfg-build/ecc-build-release/libcdl
-I/root/ecfg-build/ecc-build-release/infra -DecUSE_EXPERIMENTAL_CODE=1
`/root/ecfg-build/wxwin-build-release/wx-config
--prefix=/root/ecfg-build/wxwin-build-release --cflags`
-o /root/ecfg-build/ct-build-release/aboutdlg.o /opt/ecos/host/tools/configtool/standalone/wxwin/aboutdlg.cpp
/opt/ecos/host/tools/Utils/common/eCosSocket.h:177: error: ‘static
CeCosSocket::SSReadResult CeCosSocket::SSRead(CeCosSerial&,
CeCosSocket&, void*, unsigned int, unsigned int&, bool*)’ is protected
/opt/ecos/host/tools/Utils/common/eCosSerial.h:53: error: within this
context
/usr/src/redhat/BUILD/wxGTK-2.4.2/include/wx/event.h:1949: warning:
inline function ‘wxEventTableEntry::wxEventTableEntry(const
wxEventTableEntry&)’ used but never defined
make: *** [/root/ecfg-build/ct-build-release/aboutdlg.o] Error 1

	Any ideas?.


--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-23 15:37           ` David Fernandez
@ 2006-02-23 15:51             ` Andrew Lunn
  2006-02-23 16:48             ` [ECOS] " John Dallaway
  1 sibling, 0 replies; 22+ messages in thread
From: Andrew Lunn @ 2006-02-23 15:51 UTC (permalink / raw)
  To: David Fernandez; +Cc: ecos-discuss

> >         Andrew
> 
> 	Installed a new brand Tcl, all goes OK.
> 
> 	But, when trying to make the graphical configuration utility (wxwin in
> linux), I've got:
> 
> make -f /opt/ecos/host/tools/configtool/standalone/wxwin/Makefile
> ECOSDIR=/opt/ecos WXDIR=/usr/src/redhat/BUILD/wxGTK-2.4.2 LEVEL=release
> full 2>&1 | tee make.out

Sorry, i cannot help you here. The graphical tool has always been
difficult to compile since it uses an ancient version wxwin. I don't
think i have every been able to sucessfully compile it. Not that i've
ever tried very hard, i'm prefer CLIs. 

Maybe John can help you?

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [ECOS] Re: Problems building ecos sources
  2006-02-23 15:37           ` David Fernandez
  2006-02-23 15:51             ` Andrew Lunn
@ 2006-02-23 16:48             ` John Dallaway
       [not found]               ` <1140716284.2885.45.camel@software.cct.co.uk>
  1 sibling, 1 reply; 22+ messages in thread
From: John Dallaway @ 2006-02-23 16:48 UTC (permalink / raw)
  To: David Fernandez; +Cc: ecos-discuss

Hi David

David Fernandez wrote:

> 	But, when trying to make the graphical configuration utility (wxwin in
> linux), I've got:
> 
> make -f /opt/ecos/host/tools/configtool/standalone/wxwin/Makefile
> ECOSDIR=/opt/ecos WXDIR=/usr/src/redhat/BUILD/wxGTK-2.4.2 LEVEL=release
> full 2>&1 | tee make.out
> ...
> mkdir -p /root/ecfg-build/ct-build-release
> c++ -O2 -c -I/usr/src/redhat/BUILD/wxGTK-2.4.2/include
> -I/opt/ecos/host/libcdl -I/opt/ecos/host/infra
> -I/opt/ecos/host/tools/configtool/common/common
> -I/opt/ecos/host/tools/Utils/common
> -I/opt/ecos/host/tools/ecostest/common
> -I/root/ecfg-build/ecc-build-release/libcdl
> -I/root/ecfg-build/ecc-build-release/infra -DecUSE_EXPERIMENTAL_CODE=1
> `/root/ecfg-build/wxwin-build-release/wx-config
> --prefix=/root/ecfg-build/wxwin-build-release --cflags`
> -o /root/ecfg-build/ct-build-release/aboutdlg.o /opt/ecos/host/tools/configtool/standalone/wxwin/aboutdlg.cpp
> /opt/ecos/host/tools/Utils/common/eCosSocket.h:177: error: ‘static
> CeCosSocket::SSReadResult CeCosSocket::SSRead(CeCosSerial&,
> CeCosSocket&, void*, unsigned int, unsigned int&, bool*)’ is protected
> /opt/ecos/host/tools/Utils/common/eCosSerial.h:53: error: within this
> context
> /usr/src/redhat/BUILD/wxGTK-2.4.2/include/wx/event.h:1949: warning:
> inline function ‘wxEventTableEntry::wxEventTableEntry(const
> wxEventTableEntry&)’ used but never defined
> make: *** [/root/ecfg-build/ct-build-release/aboutdlg.o] Error 1
> 
> 	Any ideas?.

I do not see this problem when building the eCos Configuration Tool
against wxGTK-2.4.2 under Linux. Make sure that you have configured
wxWidgets according to the instructions at:

   http://www.ecoscentric.com/devzone/configtool.shtml

John Dallaway
eCosCentric Limited

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-23 11:33       ` David Fernandez
  2006-02-23 15:02         ` Andrew Lunn
@ 2006-02-23 17:30         ` Andrew Lunn
  1 sibling, 0 replies; 22+ messages in thread
From: Andrew Lunn @ 2006-02-23 17:30 UTC (permalink / raw)
  To: jld; +Cc: Andrew Lunn, ecos-discuss, David Fernandez

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=unknown-8bit, Size: 2126 bytes --]

>> make -f /opt/ecos/host/tools/configtool/standalone/wxwin/Makefile
>> ECOSDIR=/opt/ecos WXDIR=/usr/src/redhat/BUILD/wxGTK-2.4.2 LEVEL=release
>> full 2>&1 | tee make.out
>> ...
>> mkdir -p /root/ecfg-build/ct-build-release
>> c++ -O2 -c -I/usr/src/redhat/BUILD/wxGTK-2.4.2/include
>> -I/opt/ecos/host/libcdl -I/opt/ecos/host/infra
>> -I/opt/ecos/host/tools/configtool/common/common
>> -I/opt/ecos/host/tools/Utils/common
>> -I/opt/ecos/host/tools/ecostest/common
>> -I/root/ecfg-build/ecc-build-release/libcdl
>> -I/root/ecfg-build/ecc-build-release/infra -DecUSE_EXPERIMENTAL_CODE=1
>> `/root/ecfg-build/wxwin-build-release/wx-config
>> --prefix=/root/ecfg-build/wxwin-build-release --cflags`
>> -o /root/ecfg-build/ct-build-release/aboutdlg.o /opt/ecos/host/tools/configtool/standalone/wxwin/aboutdlg.cpp
>> /opt/ecos/host/tools/Utils/common/eCosSocket.h:177: error: âstatic
>> CeCosSocket::SSReadResult CeCosSocket::SSRead(CeCosSerial&,
>> CeCosSocket&, void*, unsigned int, unsigned int&, bool*)â is protected
>> /opt/ecos/host/tools/Utils/common/eCosSerial.h:53: error: within this
>> context
>> /usr/src/redhat/BUILD/wxGTK-2.4.2/include/wx/event.h:1949: warning:
>> inline function âwxEventTableEntry::wxEventTableEntry(const
>> wxEventTableEntry&)â used but never defined
>> make: *** [/root/ecfg-build/ct-build-release/aboutdlg.o] Error 1
>> 
>> 	Any ideas?.
>
>I do not see this problem when building the eCos Configuration Tool
>against wxGTK-2.4.2 under Linux. Make sure that you have configured
>wxWidgets according to the instructions at:
>
>   http://www.ecoscentric.com/devzone/configtool.shtml

Hi John.

Isn't this the same error as 
http://bugzilla.ecoscentric.com/show_bug.cgi?id=1000207

Also, isn't this a true C++ error. I'm no C++ programmer, but
shouldn't class CeCosSerial be a friend of class CeCosSerial?  It is
trying to access a protected member which only friends and the class
derived from the class are allowed to do.

        Andrew





-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [ECOS] Re: Problems building ecos sources
       [not found]               ` <1140716284.2885.45.camel@software.cct.co.uk>
@ 2006-02-24  6:11                 ` Andrew Lunn
  2006-02-24 16:38                   ` David Fernandez
  0 siblings, 1 reply; 22+ messages in thread
From: Andrew Lunn @ 2006-02-24  6:11 UTC (permalink / raw)
  To: David Fernandez; +Cc: eCos Disuss

On Thu, Feb 23, 2006 at 05:38:04PM +0000, David Fernandez wrote:
> On Thu, 2006-02-23 at 16:13 +0000, John Dallaway wrote:
> > Hi David
> > 
> > David Fernandez wrote:
> > 
> > > 	But, when trying to make the graphical configuration utility (wxwin in
> > > linux), I've got:
> > > 
> > > make -f /opt/ecos/host/tools/configtool/standalone/wxwin/Makefile
> > > ECOSDIR=/opt/ecos WXDIR=/usr/src/redhat/BUILD/wxGTK-2.4.2 LEVEL=release
> > > full 2>&1 | tee make.out
> > > ...
> > > mkdir -p /root/ecfg-build/ct-build-release
> > > c++ -O2 -c -I/usr/src/redhat/BUILD/wxGTK-2.4.2/include
> > > -I/opt/ecos/host/libcdl -I/opt/ecos/host/infra
> > > -I/opt/ecos/host/tools/configtool/common/common
> > > -I/opt/ecos/host/tools/Utils/common
> > > -I/opt/ecos/host/tools/ecostest/common
> > > -I/root/ecfg-build/ecc-build-release/libcdl
> > > -I/root/ecfg-build/ecc-build-release/infra -DecUSE_EXPERIMENTAL_CODE=1
> > > `/root/ecfg-build/wxwin-build-release/wx-config
> > > --prefix=/root/ecfg-build/wxwin-build-release --cflags`
> > > -o /root/ecfg-build/ct-build-release/aboutdlg.o /opt/ecos/host/tools/configtool/standalone/wxwin/aboutdlg.cpp
> > > /opt/ecos/host/tools/Utils/common/eCosSocket.h:177: error: ???static
> > > CeCosSocket::SSReadResult CeCosSocket::SSRead(CeCosSerial&,
> > > CeCosSocket&, void*, unsigned int, unsigned int&, bool*)??? is protected
> > > /opt/ecos/host/tools/Utils/common/eCosSerial.h:53: error: within this
> > > context
> > > /usr/src/redhat/BUILD/wxGTK-2.4.2/include/wx/event.h:1949: warning:
> > > inline function ???wxEventTableEntry::wxEventTableEntry(const
> > > wxEventTableEntry&)??? used but never defined
> > > make: *** [/root/ecfg-build/ct-build-release/aboutdlg.o] Error 1
> > > 
> > > 	Any ideas?.
> > 
> > I do not see this problem when building the eCos Configuration Tool
> > against wxGTK-2.4.2 under Linux. Make sure that you have configured
> > wxWidgets according to the instructions at:
> > 
> >    http://www.ecoscentric.com/devzone/configtool.shtml
> > 
> > John Dallaway
> > eCosCentric Limited
> 
> 	Hi John,
> 
> 	Using wxGTK-2.4.2, and following the directions on the ecoscentric web
> site instead of README file in wxwin directory, for the wxGTK configure,
> I had to change --disable-sockets to --without-sockets for it to work;
> But when running the makefile.gnu in wxwing I got:
> 
> [root@software ecfg-build]# make
> -f /opt/ecos/host/tools/configtool/standalone/wxwin/makefile.gnu install
> ECOSSRCDIR=/opt/ecos/host WXDIR=/usr/local/ecos
> INSTALLDIR=/usr/local/ecos 2>&1 | tee make.out
> c++ -O2 -c -ITCLDIR_use_system/include -I/usr/local/ecos/include
> -I/opt/ecos/host/tools/configtool/common/common
> -I/opt/ecos/host/tools/Utils/common
> -I/opt/ecos/host/tools/ecostest/common -DecUSE_EXPERIMENTAL_CODE=1
> `/usr/local/ecos/bin/wx-config --cppflags`
> -o /root/ecfg-build/aboutdlg.o /opt/ecos/host/tools/configtool/standalone/wxwin/aboutdlg.cpp
> /opt/ecos/host/tools/Utils/common/eCosSocket.h:177: error: ???static
> CeCosSocket::SSReadResult CeCosSocket::SSRead(CeCosSerial&,
> CeCosSocket&, void*, unsigned int, unsigned int&, bool*)??? is protected
> /opt/ecos/host/tools/Utils/common/eCosSerial.h:53: error: within this
> context
> /usr/local/ecos/include/wx/event.h:1949: warning: inline function
> ???wxEventTableEntry::wxEventTableEntry(const wxEventTableEntry&)??? used
> but never defined
> make: *** [/root/ecfg-build/aboutdlg.o] Error 1

Hi David

A shot in the dark. Try this:

Index: eCosSocket.h
===================================================================
RCS file: /cvs/ecos/ecos/host/tools/Utils/common/eCosSocket.h,v
retrieving revision 1.2
diff -u -r1.2 eCosSocket.h
--- eCosSocket.h        19 Sep 2000 05:53:51 -0000      1.2
+++ eCosSocket.h        23 Feb 2006 18:09:34 -0000
@@ -75,6 +75,7 @@

 class CeCosSocket {
 public:
+        friend class CeCosSerial;
        static const String GetHostByName(LPCTSTR pszHost);

   // These functions must be called before any other operation is carried out:

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [ECOS] Re: Problems building ecos sources
  2006-02-24  6:11                 ` Andrew Lunn
@ 2006-02-24 16:38                   ` David Fernandez
  2006-02-24 17:14                     ` Andrew Lunn
  2006-02-24 22:00                     ` [ECOS] " David Fernandez
  0 siblings, 2 replies; 22+ messages in thread
From: David Fernandez @ 2006-02-24 16:38 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: eCos Disuss, ; John Dallaway

On Thu, 2006-02-23 at 19:10 +0100, Andrew Lunn wrote:
> On Thu, Feb 23, 2006 at 05:38:04PM +0000, David Fernandez wrote:
> > On Thu, 2006-02-23 at 16:13 +0000, John Dallaway wrote:
> > > Hi David
> > > 
> > > David Fernandez wrote:
> > > 
> > > > 	But, when trying to make the graphical configuration utility (wxwin in
> > > > linux), I've got:
> > > > 
> > > > make -f /opt/ecos/host/tools/configtool/standalone/wxwin/Makefile
> > > > ECOSDIR=/opt/ecos WXDIR=/usr/src/redhat/BUILD/wxGTK-2.4.2 LEVEL=release
> > > > full 2>&1 | tee make.out
> > > > ...
> > > > mkdir -p /root/ecfg-build/ct-build-release
> > > > c++ -O2 -c -I/usr/src/redhat/BUILD/wxGTK-2.4.2/include
> > > > -I/opt/ecos/host/libcdl -I/opt/ecos/host/infra
> > > > -I/opt/ecos/host/tools/configtool/common/common
> > > > -I/opt/ecos/host/tools/Utils/common
> > > > -I/opt/ecos/host/tools/ecostest/common
> > > > -I/root/ecfg-build/ecc-build-release/libcdl
> > > > -I/root/ecfg-build/ecc-build-release/infra -DecUSE_EXPERIMENTAL_CODE=1
> > > > `/root/ecfg-build/wxwin-build-release/wx-config
> > > > --prefix=/root/ecfg-build/wxwin-build-release --cflags`
> > > > -o /root/ecfg-build/ct-build-release/aboutdlg.o /opt/ecos/host/tools/configtool/standalone/wxwin/aboutdlg.cpp
> > > > /opt/ecos/host/tools/Utils/common/eCosSocket.h:177: error: ???static
> > > > CeCosSocket::SSReadResult CeCosSocket::SSRead(CeCosSerial&,
> > > > CeCosSocket&, void*, unsigned int, unsigned int&, bool*)??? is protected
> > > > /opt/ecos/host/tools/Utils/common/eCosSerial.h:53: error: within this
> > > > context
> > > > /usr/src/redhat/BUILD/wxGTK-2.4.2/include/wx/event.h:1949: warning:
> > > > inline function ???wxEventTableEntry::wxEventTableEntry(const
> > > > wxEventTableEntry&)??? used but never defined
> > > > make: *** [/root/ecfg-build/ct-build-release/aboutdlg.o] Error 1
> > > > 
> > > > 	Any ideas?.
> > > 
> > > I do not see this problem when building the eCos Configuration Tool
> > > against wxGTK-2.4.2 under Linux. Make sure that you have configured
> > > wxWidgets according to the instructions at:
> > > 
> > >    http://www.ecoscentric.com/devzone/configtool.shtml
> > > 
> > > John Dallaway
> > > eCosCentric Limited
> > 
> > 	Hi John,
> > 
> > 	Using wxGTK-2.4.2, and following the directions on the ecoscentric web
> > site instead of README file in wxwin directory, for the wxGTK configure,
> > I had to change --disable-sockets to --without-sockets for it to work;
> > But when running the makefile.gnu in wxwing I got:
> > 
> > [root@software ecfg-build]# make
> > -f /opt/ecos/host/tools/configtool/standalone/wxwin/makefile.gnu install
> > ECOSSRCDIR=/opt/ecos/host WXDIR=/usr/local/ecos
> > INSTALLDIR=/usr/local/ecos 2>&1 | tee make.out
> > c++ -O2 -c -ITCLDIR_use_system/include -I/usr/local/ecos/include
> > -I/opt/ecos/host/tools/configtool/common/common
> > -I/opt/ecos/host/tools/Utils/common
> > -I/opt/ecos/host/tools/ecostest/common -DecUSE_EXPERIMENTAL_CODE=1
> > `/usr/local/ecos/bin/wx-config --cppflags`
> > -o /root/ecfg-build/aboutdlg.o /opt/ecos/host/tools/configtool/standalone/wxwin/aboutdlg.cpp
> > /opt/ecos/host/tools/Utils/common/eCosSocket.h:177: error: ???static
> > CeCosSocket::SSReadResult CeCosSocket::SSRead(CeCosSerial&,
> > CeCosSocket&, void*, unsigned int, unsigned int&, bool*)??? is protected
> > /opt/ecos/host/tools/Utils/common/eCosSerial.h:53: error: within this
> > context
> > /usr/local/ecos/include/wx/event.h:1949: warning: inline function
> > ???wxEventTableEntry::wxEventTableEntry(const wxEventTableEntry&)??? used
> > but never defined
> > make: *** [/root/ecfg-build/aboutdlg.o] Error 1
> 
> Hi David
> 
> A shot in the dark. Try this:
> 
> Index: eCosSocket.h
> ===================================================================
> RCS file: /cvs/ecos/ecos/host/tools/Utils/common/eCosSocket.h,v
> retrieving revision 1.2
> diff -u -r1.2 eCosSocket.h
> --- eCosSocket.h        19 Sep 2000 05:53:51 -0000      1.2
> +++ eCosSocket.h        23 Feb 2006 18:09:34 -0000
> @@ -75,6 +75,7 @@
> 
>  class CeCosSocket {
>  public:
> +        friend class CeCosSerial;
>         static const String GetHostByName(LPCTSTR pszHost);
> 
>    // These functions must be called before any other operation is carried out:
> 
>         Andrew

Hi Andrew,

It worked !, the utility is running now.

Thank you very much for your help. I'll keep exploring this eCos
thing...


David.


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [ECOS] Re: Problems building ecos sources
  2006-02-24 16:38                   ` David Fernandez
@ 2006-02-24 17:14                     ` Andrew Lunn
  2006-02-24 22:00                     ` [ECOS] " David Fernandez
  1 sibling, 0 replies; 22+ messages in thread
From: Andrew Lunn @ 2006-02-24 17:14 UTC (permalink / raw)
  To: David Fernandez; +Cc: Andrew Lunn, eCos Disuss, ; John Dallaway

> > Hi David
> > 
> > A shot in the dark. Try this:
> > 
> > Index: eCosSocket.h
> > ===================================================================
> > RCS file: /cvs/ecos/ecos/host/tools/Utils/common/eCosSocket.h,v
> > retrieving revision 1.2
> > diff -u -r1.2 eCosSocket.h
> > --- eCosSocket.h        19 Sep 2000 05:53:51 -0000      1.2
> > +++ eCosSocket.h        23 Feb 2006 18:09:34 -0000
> > @@ -75,6 +75,7 @@
> > 
> >  class CeCosSocket {
> >  public:
> > +        friend class CeCosSerial;
> >         static const String GetHostByName(LPCTSTR pszHost);
> > 
> >    // These functions must be called before any other operation is carried out:
> > 
> >         Andrew
> 
> Hi Andrew,
> 
> It worked !, the utility is running now.

Great.

John: Please could you take a look at this. Is this really the correct
fix? Should the whole class be a friend or is there a way to make just
the function a friend?

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-24 16:38                   ` David Fernandez
  2006-02-24 17:14                     ` Andrew Lunn
@ 2006-02-24 22:00                     ` David Fernandez
  2006-02-26  5:19                       ` Andrew Lunn
  2006-02-26 23:13                       ` Chuck McManis
  1 sibling, 2 replies; 22+ messages in thread
From: David Fernandez @ 2006-02-24 22:00 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: eCos Disuss, ;	John Dallaway

		On Fri, 2006-02-24 at 08:35 +0000, David Fernandez wrote:
> > 
> > Hi David
> > 
> > A shot in the dark. Try this:
> > 
> > Index: eCosSocket.h
> > ===================================================================
> > RCS file: /cvs/ecos/ecos/host/tools/Utils/common/eCosSocket.h,v
> > retrieving revision 1.2
> > diff -u -r1.2 eCosSocket.h
> > --- eCosSocket.h        19 Sep 2000 05:53:51 -0000      1.2
> > +++ eCosSocket.h        23 Feb 2006 18:09:34 -0000
> > @@ -75,6 +75,7 @@
> > 
> >  class CeCosSocket {
> >  public:
> > +        friend class CeCosSerial;
> >         static const String GetHostByName(LPCTSTR pszHost);
> > 
> >    // These functions must be called before any other operation is carried out:
> > 
> >         Andrew
> 
> Hi Andrew,
> 
> It worked !, the utility is running now.
> 
> Thank you very much for your help. I'll keep exploring this eCos
> thing...
> 
> 
> David.
> 

	Hi Andrew,

	Acouple of things more:

	1- When trying to use the internal help viewer, I get a segmentation
fault in configtool. (Probably something for John to look at)

	2- When trying to build REDBOOT as per the instructions in the ecos
documentation, and using ecosconfig:

[dfernandez@software RB]$ ecosconfig new pc_i82559 redboot U
CYGSEM_HAL_USE_ROM_MONITOR, new inferred value 0
U CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK, new inferred value 0
[dfernandez@software RB]$ ecosconfig
import /opt/ecos/packages/hal/i386/pc/cu..rrent/misc/redboot_FLOPPY_SMP.ecm
...change prefix to i586-elf...
[dfernandez@software RB]$ ecosconfig check
Target: pc_i82559
Template: redboot
Added:
 CYGPKG_IO_ETH_DRIVERS
No conflicts
[dfernandez@software RB]$ ecosconfig tree
[dfernandez@software RB]$ make
...
make[1]: Leaving directory
`/home/dfernandez/Projects/eCos/RB/infra/current'
make -r -C redboot/current build
make[1]: Entering directory
`/home/dfernandez/Projects/eCos/RB/redboot/current'
i586-elf-gcc -c  -I/home/dfernandez/Projects/eCos/RB/install/include
-I/opt/ecos/packages/redboot/current
-I/opt/ecos/packages/redboot/current/src
-I/opt/ecos/packages/redboot/current/tests -I.
-I/opt/ecos/packages/redboot/current/src/ -finline-limit=7000 -Wall
-Wpointer-arith -Wstrict-prototypes -Winline -Wundef  -g -O2
-ffunction-sections -fdata-sections  -fno-exceptions
-Wp,-MD,src/main.tmp -o
src/redboot_main.o /opt/ecos/packages/redboot/current/src/main.c
/opt/ecos/packages/redboot/current/src/main.c: In function ‘cyg_start’:
/opt/ecos/packages/redboot/current/src/main.c:397: error: invalid lvalue
in assignment
/opt/ecos/packages/redboot/current/src/main.c: In function ‘do_go’:
/opt/ecos/packages/redboot/current/src/main.c:597: error: invalid lvalue
in assignment
make[1]: *** [src/main.o.d] Error 1
make[1]: Leaving directory
`/home/dfernandez/Projects/eCos/RB/redboot/current'
make: *** [build] Error 2

	May be that there's something wrong with this ecos version?
	Any ideas about that?

David.


--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-24 22:00                     ` [ECOS] " David Fernandez
@ 2006-02-26  5:19                       ` Andrew Lunn
  2006-02-27 10:09                         ` David Fernandez
  2006-02-26 23:13                       ` Chuck McManis
  1 sibling, 1 reply; 22+ messages in thread
From: Andrew Lunn @ 2006-02-26  5:19 UTC (permalink / raw)
  To: David Fernandez; +Cc: eCos Disuss

> [dfernandez@software RB]$ ecosconfig new pc_i82559 redboot U
> CYGSEM_HAL_USE_ROM_MONITOR, new inferred value 0
> U CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK, new inferred value 0
> [dfernandez@software RB]$ ecosconfig
> import /opt/ecos/packages/hal/i386/pc/cu..rrent/misc/redboot_FLOPPY_SMP.ecm
> ...change prefix to i586-elf...
> [dfernandez@software RB]$ ecosconfig check
> Target: pc_i82559
> Template: redboot
> Added:
>  CYGPKG_IO_ETH_DRIVERS
> No conflicts
> [dfernandez@software RB]$ ecosconfig tree
> [dfernandez@software RB]$ make
> ...
> make[1]: Leaving directory
> `/home/dfernandez/Projects/eCos/RB/infra/current'
> make -r -C redboot/current build
> make[1]: Entering directory
> `/home/dfernandez/Projects/eCos/RB/redboot/current'
> i586-elf-gcc -c  -I/home/dfernandez/Projects/eCos/RB/install/include
> -I/opt/ecos/packages/redboot/current
> -I/opt/ecos/packages/redboot/current/src
> -I/opt/ecos/packages/redboot/current/tests -I.
> -I/opt/ecos/packages/redboot/current/src/ -finline-limit=7000 -Wall
> -Wpointer-arith -Wstrict-prototypes -Winline -Wundef  -g -O2
> -ffunction-sections -fdata-sections  -fno-exceptions
> -Wp,-MD,src/main.tmp -o
> src/redboot_main.o /opt/ecos/packages/redboot/current/src/main.c
> /opt/ecos/packages/redboot/current/src/main.c: In function ???cyg_start???:
> /opt/ecos/packages/redboot/current/src/main.c:397: error: invalid lvalue
> in assignment
> /opt/ecos/packages/redboot/current/src/main.c: In function ???do_go???:
> /opt/ecos/packages/redboot/current/src/main.c:597: error: invalid lvalue
> in assignment
> make[1]: *** [src/main.o.d] Error 1
> make[1]: Leaving directory
> `/home/dfernandez/Projects/eCos/RB/redboot/current'
> make: *** [build] Error 2
> 
> 	May be that there's something wrong with this ecos version?

I'm guessing you have a very new gcc. gcc has slowly been becoming
more strict about lvalues, ie the left hand side of an assignment. For
quite a while casts on the left hand side have caused warnings. I'm
guessing the gcc folks have gone a stage further and turned something
else into an error. My gcc 4.0.4 compiles this part of the code fine,
but gives warnings in other places. 

The problem we have is that the lines with errors are actually
macros. And the macros are quite big:

It is defined in cyg/hal/hal_arch.h

#define HAL_THREAD_INIT_CONTEXT( _sparg_, _thread_, _entry_, _id_ )     \
CYG_MACRO_START                                                         \
    register CYG_WORD* _sp_ = ((CYG_WORD*)((_sparg_) &~15));            \
    register CYG_WORD *_fpspace_ = NULL;                                \
    register HAL_SavedRegisters *_regs_;                                \
                                                                        \
    HAL_THREAD_INIT_FPU_CONTEXT_SPACE( _sp_, _fpspace_ );               \
    *(--_sp_) = (CYG_WORD)(0);                                          \
    *(--_sp_) = (CYG_WORD)(0);                                          \
    *(--_sp_) = (CYG_WORD)(_thread_);                                   \
    *(--_sp_) = (CYG_WORD)(0);                                          \
                                                                        \
    _regs_ = (HAL_SavedRegisters *)                                     \
               ((unsigned long)_sp_ - sizeof(HAL_SavedRegisters));      \
    HAL_THREAD_INIT_FPU_CONTEXT( _regs_, _fpspace_ );                   \
    _regs_->eflags = (CYG_WORD)(0x00000200);                            \
    _regs_->cs     = (CYG_WORD)(CYG_HAL_DEFAULT_CS);                    \
    _regs_->pc     = (CYG_WORD)(_entry_);                               \
    _regs_->vector = (CYG_WORD)(_id_);                                  \
    _regs_->esp    = (CYG_WORD) _sp_-4;                                 \
    _regs_->ebp    = (CYG_WORD)(_id_);                                  \
    _regs_->esi    = (CYG_WORD)(_id_);                                  \
    _regs_->edi    = (CYG_WORD)(_id_);                                  \
    _regs_->eax    = (CYG_WORD)(_id_);                                  \
    _regs_->ebx    = (CYG_WORD)(_id_);                                  \
    _regs_->ecx    = (CYG_WORD)(_id_);                                  \
    _regs_->edx    = (CYG_WORD)(_id_);                                  \
    (_sparg_)      = (CYG_ADDRESS) _regs_;                              \
CYG_MACRO_END

Could you try to work out which specific line is causing problems.
Comment half of the macro out and see if it compiles. The binary chop
depending on if it compiles or does not compile...

I would also be interested in knowing what version of gcc you have.

        Thanks
                Andrew



-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-24 22:00                     ` [ECOS] " David Fernandez
  2006-02-26  5:19                       ` Andrew Lunn
@ 2006-02-26 23:13                       ` Chuck McManis
  2006-02-27  9:33                         ` David Fernandez
  1 sibling, 1 reply; 22+ messages in thread
From: Chuck McManis @ 2006-02-26 23:13 UTC (permalink / raw)
  To: David Fernandez, Andrew Lunn; +Cc: eCos Disuss, ;	John Dallaway

At 08:38 AM 2/24/2006, David Fernandez wrote:
>make[1]: *** [src/main.o.d] Error 1
>make[1]: Leaving directory
>`/home/dfernandez/Projects/eCos/RB/redboot/current'
>make: *** [build] Error 2

I missed the system you build this on. Try using 'gmake' explicitly. The 
makefiles generated are incompatible with standard make.

--Chuck




-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-26 23:13                       ` Chuck McManis
@ 2006-02-27  9:33                         ` David Fernandez
  0 siblings, 0 replies; 22+ messages in thread
From: David Fernandez @ 2006-02-27  9:33 UTC (permalink / raw)
  To: Chuck McManis; +Cc: eCos Disuss

On Sat, 2006-02-25 at 21:20 -0800, Chuck McManis wrote:
> At 08:38 AM 2/24/2006, David Fernandez wrote:
> >make[1]: *** [src/main.o.d] Error 1
> >make[1]: Leaving directory
> >`/home/dfernandez/Projects/eCos/RB/redboot/current'
> >make: *** [build] Error 2
> 
> I missed the system you build this on. Try using 'gmake' explicitly. The 
> makefiles generated are incompatible with standard make.
> 
> --Chuck
> 
> 
> 

	Hi Chuck,

	gmake seems to make no difference:
...
> gmake[1]: Leaving directory `/home/dfernandez/RB/infra/current'
> gmake -r -C redboot/current build
> gmake[1]: Entering directory `/home/dfernandez/RB/redboot/current'
> i586-elf-gcc -c  -I/home/dfernandez/RB/install/include -I/opt/ecos/packages/redboot/current -I/opt/ecos/packages/redboot/current/src -I/opt/ecos/packages/redboot/current/tests -I. -I/opt/ecos/packages/redboot/current/src/ -finline-limit=7000 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef  -g -O2 -ffunction-sections -fdata-sections  -fno-exceptions   -Wp,-MD,src/main.tmp -o src/redboot_main.o /opt/ecos/packages/redboot/current/src/main.c
> /opt/ecos/packages/redboot/current/src/main.c: In function ‘cyg_start’:
> /opt/ecos/packages/redboot/current/src/main.c:397: error: invalid lvalue in assignment
> /opt/ecos/packages/redboot/current/src/main.c: In function ‘do_go’:
> /opt/ecos/packages/redboot/current/src/main.c:597: error: invalid lvalue in assignment
> gmake[1]: *** [src/main.o.d] Error 1
> gmake[1]: Leaving directory `/home/dfernandez/RB/redboot/current'
> gmake: *** [build] Error 2
> 
David.


--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-26  5:19                       ` Andrew Lunn
@ 2006-02-27 10:09                         ` David Fernandez
  2006-02-27 11:25                           ` Andrew Lunn
  0 siblings, 1 reply; 22+ messages in thread
From: David Fernandez @ 2006-02-27 10:09 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: eCos Disuss

On Fri, 2006-02-24 at 18:14 +0100, Andrew Lunn wrote:
> > [dfernandez@software RB]$ ecosconfig new pc_i82559 redboot U
> > CYGSEM_HAL_USE_ROM_MONITOR, new inferred value 0
> > U CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK, new inferred value 0
> > [dfernandez@software RB]$ ecosconfig
> > import /opt/ecos/packages/hal/i386/pc/cu..rrent/misc/redboot_FLOPPY_SMP.ecm
> > ...change prefix to i586-elf...
> > [dfernandez@software RB]$ ecosconfig check
> > Target: pc_i82559
> > Template: redboot
> > Added:
> >  CYGPKG_IO_ETH_DRIVERS
> > No conflicts
> > [dfernandez@software RB]$ ecosconfig tree
> > [dfernandez@software RB]$ make
> > ...
> > make[1]: Leaving directory
> > `/home/dfernandez/Projects/eCos/RB/infra/current'
> > make -r -C redboot/current build
> > make[1]: Entering directory
> > `/home/dfernandez/Projects/eCos/RB/redboot/current'
> > i586-elf-gcc -c  -I/home/dfernandez/Projects/eCos/RB/install/include
> > -I/opt/ecos/packages/redboot/current
> > -I/opt/ecos/packages/redboot/current/src
> > -I/opt/ecos/packages/redboot/current/tests -I.
> > -I/opt/ecos/packages/redboot/current/src/ -finline-limit=7000 -Wall
> > -Wpointer-arith -Wstrict-prototypes -Winline -Wundef  -g -O2
> > -ffunction-sections -fdata-sections  -fno-exceptions
> > -Wp,-MD,src/main.tmp -o
> > src/redboot_main.o /opt/ecos/packages/redboot/current/src/main.c
> > /opt/ecos/packages/redboot/current/src/main.c: In function ???cyg_start???:
> > /opt/ecos/packages/redboot/current/src/main.c:397: error: invalid lvalue
> > in assignment
> > /opt/ecos/packages/redboot/current/src/main.c: In function ???do_go???:
> > /opt/ecos/packages/redboot/current/src/main.c:597: error: invalid lvalue
> > in assignment
> > make[1]: *** [src/main.o.d] Error 1
> > make[1]: Leaving directory
> > `/home/dfernandez/Projects/eCos/RB/redboot/current'
> > make: *** [build] Error 2
> > 
> > 	May be that there's something wrong with this ecos version?
> 
> I'm guessing you have a very new gcc. gcc has slowly been becoming
> more strict about lvalues, ie the left hand side of an assignment. For
> quite a while casts on the left hand side have caused warnings. I'm
> guessing the gcc folks have gone a stage further and turned something
> else into an error. My gcc 4.0.4 compiles this part of the code fine,
> but gives warnings in other places. 
> 
> The problem we have is that the lines with errors are actually
> macros. And the macros are quite big:
> 
> It is defined in cyg/hal/hal_arch.h
> 
> #define HAL_THREAD_INIT_CONTEXT( _sparg_, _thread_, _entry_, _id_ )     \
> CYG_MACRO_START                                                         \
>     register CYG_WORD* _sp_ = ((CYG_WORD*)((_sparg_) &~15));            \
>     register CYG_WORD *_fpspace_ = NULL;                                \
>     register HAL_SavedRegisters *_regs_;                                \
>                                                                         \
>     HAL_THREAD_INIT_FPU_CONTEXT_SPACE( _sp_, _fpspace_ );               \
>     *(--_sp_) = (CYG_WORD)(0);                                          \
>     *(--_sp_) = (CYG_WORD)(0);                                          \
>     *(--_sp_) = (CYG_WORD)(_thread_);                                   \
>     *(--_sp_) = (CYG_WORD)(0);                                          \
>                                                                         \
>     _regs_ = (HAL_SavedRegisters *)                                     \
>                ((unsigned long)_sp_ - sizeof(HAL_SavedRegisters));      \
>     HAL_THREAD_INIT_FPU_CONTEXT( _regs_, _fpspace_ );                   \
>     _regs_->eflags = (CYG_WORD)(0x00000200);                            \
>     _regs_->cs     = (CYG_WORD)(CYG_HAL_DEFAULT_CS);                    \
>     _regs_->pc     = (CYG_WORD)(_entry_);                               \
>     _regs_->vector = (CYG_WORD)(_id_);                                  \
>     _regs_->esp    = (CYG_WORD) _sp_-4;                                 \
>     _regs_->ebp    = (CYG_WORD)(_id_);                                  \
>     _regs_->esi    = (CYG_WORD)(_id_);                                  \
>     _regs_->edi    = (CYG_WORD)(_id_);                                  \
>     _regs_->eax    = (CYG_WORD)(_id_);                                  \
>     _regs_->ebx    = (CYG_WORD)(_id_);                                  \
>     _regs_->ecx    = (CYG_WORD)(_id_);                                  \
>     _regs_->edx    = (CYG_WORD)(_id_);                                  \
>     (_sparg_)      = (CYG_ADDRESS) _regs_;                              \
> CYG_MACRO_END
> 
> Could you try to work out which specific line is causing problems.
> Comment half of the macro out and see if it compiles. The binary chop
> depending on if it compiles or does not compile...
> 
> I would also be interested in knowing what version of gcc you have.
> 
>         Thanks
>                 Andrew
> 
> 
	The problem seems to be in the last line:

    (_sparg_)      = (CYG_ADDRESS) _regs_;                              \

	My gcc version is 4.0.2:


[dfernandez@software RB]$ i586-elf-gcc -v
Using built-in specs.
Target: i586-elf
Configured with: /usr/src/redhat/BUILD/gcc-4.0.2/configure --prefix=/usr/local/ecos --target=i586-elf --enable-languages=c,c++ --with-gnu-as --with-gnu-ld --with-newlib --with-gxx-include-dir=/usr/local/ecos/i586-elf/include -v
Thread model: single
gcc version 4.0.2

David.


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-27 10:09                         ` David Fernandez
@ 2006-02-27 11:25                           ` Andrew Lunn
  2006-02-27 15:35                             ` David Fernandez
       [not found]                             ` <1141032779.2878.13.camel@software.cct.co.uk>
  0 siblings, 2 replies; 22+ messages in thread
From: Andrew Lunn @ 2006-02-27 11:25 UTC (permalink / raw)
  To: David Fernandez; +Cc: Andrew Lunn, eCos Disuss

> 	The problem seems to be in the last line:
> 
>     (_sparg_)      = (CYG_ADDRESS) _regs_;                              \
> 
> 	My gcc version is 4.0.2:

That makes sense. Thew macro is being called with:

HAL_THREAD_INIT_CONTEXT((CYG_ADDRWORD)workspace_end,
                                        breakpoint, trampoline,0);

and (_sparg_) is the first parameter. Edit main.c change the cast to
(CYG_ADDRESS). It might work, or it might still compain about casting
the lvalue....

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-27 11:25                           ` Andrew Lunn
@ 2006-02-27 15:35                             ` David Fernandez
       [not found]                             ` <1141032779.2878.13.camel@software.cct.co.uk>
  1 sibling, 0 replies; 22+ messages in thread
From: David Fernandez @ 2006-02-27 15:35 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: eCos Disuss

On Mon, 2006-02-27 at 10:22 +0100, Andrew Lunn wrote:
> > 	The problem seems to be in the last line:
> > 
> >     (_sparg_)      = (CYG_ADDRESS) _regs_;                              \
> > 
> > 	My gcc version is 4.0.2:
> 
> That makes sense. Thew macro is being called with:
> 
> HAL_THREAD_INIT_CONTEXT((CYG_ADDRWORD)workspace_end,
>                                         breakpoint, trampoline,0);
> 
> and (_sparg_) is the first parameter. Edit main.c change the cast to
> (CYG_ADDRESS). It might work, or it might still compain about casting
> the lvalue....
> 
>         Andrew

	Still complaining, same error.

David.


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
       [not found]                             ` <1141032779.2878.13.camel@software.cct.co.uk>
@ 2006-02-27 18:14                               ` Andrew Lunn
  2006-02-27 22:48                                 ` David Fernandez
  0 siblings, 1 reply; 22+ messages in thread
From: Andrew Lunn @ 2006-02-27 18:14 UTC (permalink / raw)
  To: David Fernandez; +Cc: Andrew Lunn, eCos Disuss

On Mon, Feb 27, 2006 at 09:32:59AM +0000, David Fernandez wrote:
> On Mon, 2006-02-27 at 10:22 +0100, Andrew Lunn wrote:
> > > 	The problem seems to be in the last line:
> > > 
> > >     (_sparg_)      = (CYG_ADDRESS) _regs_;                              \
> > > 
> > > 	My gcc version is 4.0.2:
> > 
> > That makes sense. Thew macro is being called with:
> > 
> > HAL_THREAD_INIT_CONTEXT((CYG_ADDRWORD)workspace_end,
> >                                         breakpoint, trampoline,0);
> > 
> > and (_sparg_) is the first parameter. Edit main.c change the cast to
> > (CYG_ADDRESS). It might work, or it might still compain about casting
> > the lvalue....
> > 
> >         Andrew
> 
> 	Still complaining, same error.

So it looks like you will have to add a new local variable of type
CYG_ADDRESS, assign workspace_end to it and then pass the variable to
the macro.

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-27 18:14                               ` Andrew Lunn
@ 2006-02-27 22:48                                 ` David Fernandez
  2006-05-14  2:51                                   ` Frank Pagliughi
  0 siblings, 1 reply; 22+ messages in thread
From: David Fernandez @ 2006-02-27 22:48 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: eCos Disuss

On Mon, 2006-02-27 at 11:09 +0100, Andrew Lunn wrote:
> On Mon, Feb 27, 2006 at 09:32:59AM +0000, David Fernandez wrote:
> > On Mon, 2006-02-27 at 10:22 +0100, Andrew Lunn wrote:
> > > > 	The problem seems to be in the last line:
> > > > 
> > > >     (_sparg_)      = (CYG_ADDRESS) _regs_;                              \
> > > > 
> > > > 	My gcc version is 4.0.2:
> > > 
> > > That makes sense. Thew macro is being called with:
> > > 
> > > HAL_THREAD_INIT_CONTEXT((CYG_ADDRWORD)workspace_end,
> > >                                         breakpoint, trampoline,0);
> > > 
> > > and (_sparg_) is the first parameter. Edit main.c change the cast to
> > > (CYG_ADDRESS). It might work, or it might still compain about casting
> > > the lvalue....
> > > 
> > >         Andrew
> > 
> > 	Still complaining, same error.
> 
> So it looks like you will have to add a new local variable of type
> CYG_ADDRESS, assign workspace_end to it and then pass the variable to
> the macro.
> 
>         Andrew

	Andrew,

	I think that what you propose is to do:

CYG_ADDRESS workspace_end_int = (CYG_ADDRESS) workspace_end;
HAL_THREAD_INIT_CONTEXT(workspace_end_int,
			breakpoint, trampoline, 0);
workspace_end = (CYG_WORD*)workspace_end_int;

	I propose, to keep the macro useful in saving typing code, and to not
replicate the functionality of the last line of the macro; to change the
macro line:

register CYG_WORD* _sp_ = ((CYG_WORD*)((_sparg_) &~15));

into

register CYG_WORD* _sp_ = ((CYG_WORD*)((CYG_ADDRWORD)(_sparg_) &~15));

and get rid of the casting to (CYG_ADDRWORD) in main.

	I think this makes more sense, you cannot cast something to an int, and
expect to behave as l-value, the macro should receive a variable without
casting. On the other hand, you can always cast a r-value to int if
unsure of getting a real int or a pointer.

	Either way, it fixes the problem, and either make and gmake go well
now.

	Thank you very much Andrew.

David.


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [ECOS] Problems building ecos sources
  2006-02-27 22:48                                 ` David Fernandez
@ 2006-05-14  2:51                                   ` Frank Pagliughi
  0 siblings, 0 replies; 22+ messages in thread
From: Frank Pagliughi @ 2006-05-14  2:51 UTC (permalink / raw)
  To: David Fernandez; +Cc: Andrew Lunn, eCos Disuss, eCos Patches

[-- Attachment #1: Type: text/plain, Size: 2284 bytes --]

David Fernandez wrote:

>On Mon, 2006-02-27 at 11:09 +0100, Andrew Lunn wrote:
>  
>
>>On Mon, Feb 27, 2006 at 09:32:59AM +0000, David Fernandez wrote:
>>    
>>
>>>On Mon, 2006-02-27 at 10:22 +0100, Andrew Lunn wrote:
>>>      
>>>
>>>>>	The problem seems to be in the last line:
>>>>>
>>>>>    (_sparg_)      = (CYG_ADDRESS) _regs_;                              \
>>>>>
>>>>>	My gcc version is 4.0.2:
>>>>>          
>>>>>
>>>>That makes sense. Thew macro is being called with:
>>>>
>>>>HAL_THREAD_INIT_CONTEXT((CYG_ADDRWORD)workspace_end,
>>>>                                        breakpoint, trampoline,0);
>>>>
>>>>and (_sparg_) is the first parameter. Edit main.c change the cast to
>>>>(CYG_ADDRESS). It might work, or it might still compain about casting
>>>>the lvalue....
>>>>
>>>>        Andrew
>>>>        
>>>>
>>>	Still complaining, same error.
>>>      
>>>
>>So it looks like you will have to add a new local variable of type
>>CYG_ADDRESS, assign workspace_end to it and then pass the variable to
>>the macro.
>>
>>        Andrew
>>    
>>
>
>	Andrew,
>
>	I think that what you propose is to do:
>
>CYG_ADDRESS workspace_end_int = (CYG_ADDRESS) workspace_end;
>HAL_THREAD_INIT_CONTEXT(workspace_end_int,
>			breakpoint, trampoline, 0);
>workspace_end = (CYG_WORD*)workspace_end_int;
>
>	I propose, to keep the macro useful in saving typing code, and to not
>replicate the functionality of the last line of the macro; to change the
>macro line:
>
>register CYG_WORD* _sp_ = ((CYG_WORD*)((_sparg_) &~15));
>
>into
>
>register CYG_WORD* _sp_ = ((CYG_WORD*)((CYG_ADDRWORD)(_sparg_) &~15));
>
>and get rid of the casting to (CYG_ADDRWORD) in main.
>
>	I think this makes more sense, you cannot cast something to an int, and
>expect to behave as l-value, the macro should receive a variable without
>casting. On the other hand, you can always cast a r-value to int if
>unsure of getting a real int or a pointer.
>
>	Either way, it fixes the problem, and either make and gmake go well
>now.
>
>	Thank you very much Andrew.
>
>David.
>
>
>  
>
Hey all,

I just hit this problem, too, with the latest sources (trying to compile 
RedBoot for the PC with i386-elf-gcc v 4.0.2). I had fixed it in the way 
David described. If no one's done so already, here's the patch.

Frank

[-- Attachment #2: redboot_sparg.patch --]
[-- Type: text/plain, Size: 1955 bytes --]

diff -urN ecos-2006-05-13/packages/hal/i386/arch/current/include/hal_arch.h ecos/packages/hal/i386/arch/current/include/hal_arch.h
--- ecos-2006-05-13/packages/hal/i386/arch/current/include/hal_arch.h	2006-05-13 15:55:16.000000000 -0400
+++ ecos/packages/hal/i386/arch/current/include/hal_arch.h	2006-05-13 16:29:57.000000000 -0400
@@ -182,7 +182,7 @@
 
 #define HAL_THREAD_INIT_CONTEXT( _sparg_, _thread_, _entry_, _id_ )     \
 CYG_MACRO_START                                                         \
-    register CYG_WORD* _sp_ = ((CYG_WORD*)((_sparg_) &~15));            \
+    register CYG_WORD* _sp_ = ((CYG_WORD*)(((CYG_ADDRWORD)(_sparg_)) &~15));            \
     register CYG_WORD *_fpspace_ = NULL;                                \
     register HAL_SavedRegisters *_regs_;                                \
                                                                         \
diff -urN ecos-2006-05-13/packages/redboot/current/src/main.c ecos/packages/redboot/current/src/main.c
--- ecos-2006-05-13/packages/redboot/current/src/main.c	2006-05-13 15:55:52.000000000 -0400
+++ ecos/packages/redboot/current/src/main.c	2006-05-13 16:23:38.000000000 -0400
@@ -397,7 +397,7 @@
                 CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);
 
                 // set up a temporary context that will take us to the trampoline
-                HAL_THREAD_INIT_CONTEXT((CYG_ADDRWORD)workspace_end,
+                HAL_THREAD_INIT_CONTEXT(workspace_end,
                                         breakpoint, trampoline,0);
 
                 // switch context to trampoline (get GDB stubs started)
@@ -597,7 +597,7 @@
     HAL_ICACHE_INVALIDATE_ALL();
     HAL_DCACHE_INVALIDATE_ALL();
     // set up a temporary context that will take us to the trampoline
-    HAL_THREAD_INIT_CONTEXT((CYG_ADDRWORD)workspace_end, 
+    HAL_THREAD_INIT_CONTEXT(workspace_end, 
                             entry, trampoline, 0);
 
     // switch context to trampoline


[-- Attachment #3: Type: text/plain, Size: 148 bytes --]

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2006-05-14  2:51 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-02-22 16:49 [ECOS] Problems building ecos sources David Fernandez
2006-02-22 16:54 ` Andrew Lunn
     [not found]   ` <1140627369.2878.18.camel@software.cct.co.uk>
2006-02-22 21:39     ` Andrew Lunn
2006-02-23 11:33       ` David Fernandez
2006-02-23 15:02         ` Andrew Lunn
2006-02-23 15:37           ` David Fernandez
2006-02-23 15:51             ` Andrew Lunn
2006-02-23 16:48             ` [ECOS] " John Dallaway
     [not found]               ` <1140716284.2885.45.camel@software.cct.co.uk>
2006-02-24  6:11                 ` Andrew Lunn
2006-02-24 16:38                   ` David Fernandez
2006-02-24 17:14                     ` Andrew Lunn
2006-02-24 22:00                     ` [ECOS] " David Fernandez
2006-02-26  5:19                       ` Andrew Lunn
2006-02-27 10:09                         ` David Fernandez
2006-02-27 11:25                           ` Andrew Lunn
2006-02-27 15:35                             ` David Fernandez
     [not found]                             ` <1141032779.2878.13.camel@software.cct.co.uk>
2006-02-27 18:14                               ` Andrew Lunn
2006-02-27 22:48                                 ` David Fernandez
2006-05-14  2:51                                   ` Frank Pagliughi
2006-02-26 23:13                       ` Chuck McManis
2006-02-27  9:33                         ` David Fernandez
2006-02-23 17:30         ` Andrew Lunn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).