Gobo Eiffel 26.03 released

65 views
Skip to first unread message

Eric Bezault

unread,
Mar 8, 2026, 10:23:41 AMMar 8
to Eiffel Users, Gobo Developers Mailing List
Hello,

The Gobo Eiffel Project provides the Eiffel community with free and
portable Eiffel tools and libraries.
Please see the release notes here:

https://github.com/gobo-eiffel/gobo/blob/master/History.md

Gobo Eiffel works fine with EiffelStudio 25.12 and
Gobo Eiffel 26.03 itself.

The Gobo Eiffel package can be downloaded from GitHub:

https://github.com/gobo-eiffel/gobo/releases/tag/gobo-26.03

The Gobo Eiffel documentation can be browsed on-line at:

https://www.gobosoft.com

Gobo Eiffel is also available from VS Code:

https://marketplace.visualstudio.com/items?itemName=gobosoft.gobo-eiffel

In addition to syntax highlighting, code completion and code navigation,
it reports syntax and validity errors inline as you type.
Please try it out, and do not hesitate to give it five stars if
you like it.

Happy Eiffeling.

--
Eric Bezault <er...@gobosoft.com>
Eiffel expert - available for freelance work
https://www.gobosoft.com

Germán Arias

unread,
Mar 30, 2026, 12:47:32 AM (8 days ago) Mar 30
to eiffel...@googlegroups.com, Eiffel Users, Gobo Developers Mailing List
 
Hi Eric
 
Today I update to Gobo 26.03, I was using 25.10. I'm working again in Eiffel-IUP. But with this new version I'm unable to compile my project. I get errors about duplication in the definitions of callbacks. The callbacks are in a C header file, this file is referenced only once time. But the compiler say these appear in two diffrent object files (form example, program_2.o and program_3.o). Not sure how solve this. Any advace? Thanks
 
By the way, Eiffel-IUP is now at codeberg.org 
 
Germán 
 
Enviar: domingo 8 de marzo de 2026 a las 8:23
De: "Eric Bezault" <er...@gobosoft.com>
Para: "Eiffel Users" <eiffel...@googlegroups.com>, "Gobo Developers Mailing List" <gobo-eiff...@lists.sourceforge.net>
Asunto: [eiffel-users] Gobo Eiffel 26.03 released
--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/de9d8cc7-d5a5-4bbd-b2b9-0c62cf40f833%40gobosoft.com.

Eric Bezault

unread,
Mar 30, 2026, 2:48:39 AM (8 days ago) Mar 30
to eiffel...@googlegroups.com, Gobo Developers Mailing List
Hi Germán,

I see the following in your library ECF file:

<external_include location="${GOBO}/tool/gec/runtime/c/"/>

It should be:

<external_include location="${GOBO}/tool/gec/backend/c/runtime/"/>

If it does not fix the issue, please create a ticket at
https://github.com/gobo-eiffel/gobo/issues explaining how
to reproduce the problem.

Thanks.

--
Eric Bezault <er...@gobosoft.com>
Eiffel expert - available for freelance work
https://www.gobosoft.com


On 30/03/2026 6:47, 'Germán Arias' via Eiffel Users wrote:
> Hi Eric
> Today I update to Gobo 26.03, I was using 25.10. I'm working again in
> Eiffel-IUP. But with this new version I'm unable to compile my project.
> I get errors about duplication in the definitions of callbacks. The
> callbacks are in a C header file, this file is referenced only once
> time. But the compiler say these appear in two diffrent object files
> (form example, program_2.o and program_3.o). Not sure how solve this.
> Any advace? Thanks
> By the way, Eiffel-IUP is now at codeberg.org
> Germán
> *Enviar:* domingo 8 de marzo de 2026 a las 8:23
> *De:* "Eric Bezault" <er...@gobosoft.com>
> *Para:* "Eiffel Users" <eiffel...@googlegroups.com>, "Gobo Developers
> Mailing List" <gobo-eiff...@lists.sourceforge.net>
> *Asunto:* [eiffel-users] Gobo Eiffel 26.03 released
> Hello,
>
> The Gobo Eiffel Project provides the Eiffel community with free and
> portable Eiffel tools and libraries.
> Please see the release notes here:
>
> https://github.com/gobo-eiffel/gobo/blob/master/History.md <https://
> github.com/gobo-eiffel/gobo/blob/master/History.md>
>
> Gobo Eiffel works fine with EiffelStudio 25.12 and
> Gobo Eiffel 26.03 itself.
>
> The Gobo Eiffel package can be downloaded from GitHub:
>
> https://github.com/gobo-eiffel/gobo/releases/tag/gobo-26.03 <https://
> github.com/gobo-eiffel/gobo/releases/tag/gobo-26.03>
>
> The Gobo Eiffel documentation can be browsed on-line at:
>
> https://www.gobosoft.com <https://www.gobosoft.com>
>
> Gobo Eiffel is also available from VS Code:
>
> https://marketplace.visualstudio.com/items?itemName=gobosoft.gobo-eiffel
> <https://marketplace.visualstudio.com/items?itemName=gobosoft.gobo-eiffel>
>
> In addition to syntax highlighting, code completion and code navigation,
> it reports syntax and validity errors inline as you type.
> Please try it out, and do not hesitate to give it five stars if
> you like it.
>
> Happy Eiffeling.
>
> --
> Eric Bezault <er...@gobosoft.com>
> Eiffel expert - available for freelance work
> https://www.gobosoft.com <https://www.gobosoft.com>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to eiffel-users...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-
> users/de9d8cc7-d5a5-4bbd-b2b9-0c62cf40f833%40gobosoft.com <https://
> groups.google.com/d/msgid/eiffel-users/de9d8cc7-d5a5-4bbd-
> b2b9-0c62cf40f833%40gobosoft.com>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to eiffel-users...@googlegroups.com <mailto:eiffel-
> users+un...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-
> users/trinity-30705480-bb99-42dd-817f-563fe58edebb-1774846036320%403c-
> app-mailcom-bs08 <https://groups.google.com/d/msgid/eiffel-users/
> trinity-30705480-bb99-42dd-817f-563fe58edebb-1774846036320%403c-app-
> mailcom-bs08?utm_medium=email&utm_source=footer>.



Germán Arias

unread,
Mar 30, 2026, 9:40:23 PM (7 days ago) Mar 30
to eiffel...@googlegroups.com, eiffel...@googlegroups.com, Gobo Developers Mailing List
Hi
 
I changed it. Whit this change examples 1 and 2 compiles without problem, but example 3 shows the same problem. So, it seems that depends on the complexity of the program. The headers callbacks.h and converter.h have a protection #ifndef, but don't works. I will try to reproduce it with a minum example. 
 
Regards
Germán 
 
 
Enviar: lunes 30 de marzo de 2026 a las 0:48
De: "Eric Bezault" <er...@gobosoft.com>
Para: eiffel...@googlegroups.com
CC: "Gobo Developers Mailing List" <gobo-eiff...@lists.sourceforge.net>
Asunto: Re: [eiffel-users] Gobo Eiffel 26.03 released

Eric Bezault

unread,
Mar 31, 2026, 10:08:12 AM (6 days ago) Mar 31
to eiffel...@googlegroups.com, Gobo Developers Mailing List
Hi Germán,

I managed to reproduce the problem. It's because
`callbacks.h` is not a real header file. It contains
the code of C functions. So as soon as the generated
C code contains several C files, these C functions
get duplicated. So, in case of example3:

geant compile_ge

works fine because there is only one generated C file.
But with:

geant compile_debug_ge

it does not work because there are two generated C files.

There are two solutions:

- either you manage to move the C functions into external
routines of the Eiffel code, using something like:

foo (some arguments): some_result_type
external
"C inline use <some_include_file.h>"
alias
"[
C code here
]"
end

- or you move the C functions into a separate C file
`callbacks.c`, you create a Makefile to compile it,
and you add the resulting object file in `library.ecf`.

--
Eric Bezault <er...@gobosoft.com>
Eiffel expert - available for freelance work
https://www.gobosoft.com



On 31/03/2026 3:40, 'Germán Arias' via Eiffel Users wrote:
> Hi
> I changed it. Whit this change examples 1 and 2 compiles without
> problem, but example 3 shows the same problem. So, it seems that depends
> on the complexity of the program. The headers callbacks.h and
> converter.h have a protection #ifndef, but don't works. I will try to
> reproduce it with a minum example.
> Regards
> Germán
> *Enviar:* lunes 30 de marzo de 2026 a las 0:48
> *De:* "Eric Bezault" <er...@gobosoft.com>
> *Para:* eiffel...@googlegroups.com
> *CC:* "Gobo Developers Mailing List" <gobo-eiffel-
> dev...@lists.sourceforge.net>
> *Asunto:* Re: [eiffel-users] Gobo Eiffel 26.03 released
> Hi Germán,
>
> I see the following in your library ECF file:
>
> <external_include location="${GOBO}/tool/gec/runtime/c/"/>
>
> It should be:
>
> <external_include location="${GOBO}/tool/gec/backend/c/runtime/"/>
>
> If it does not fix the issue, please create a ticket at
> https://github.com/gobo-eiffel/gobo/issues <https://github.com/gobo-
> eiffel/gobo/issues> explaining how
> to reproduce the problem.
>
> Thanks.
>
> --
> Eric Bezault <er...@gobosoft.com>
> Eiffel expert - available for freelance work
> https://www.gobosoft.com <https://www.gobosoft.com>
>
>
> On 30/03/2026 6:47, 'Germán Arias' via Eiffel Users wrote:
> > Hi Eric
> > Today I update to Gobo 26.03, I was using 25.10. I'm working again in
> > Eiffel-IUP. But with this new version I'm unable to compile my project.
> > I get errors about duplication in the definitions of callbacks. The
> > callbacks are in a C header file, this file is referenced only once
> > time. But the compiler say these appear in two diffrent object files
> > (form example, program_2.o and program_3.o). Not sure how solve this.
> > Any advace? Thanks
> > By the way, Eiffel-IUP is now at codeberg.org
> > Germán
> > *Enviar:* domingo 8 de marzo de 2026 a las 8:23
> > *De:* "Eric Bezault" <er...@gobosoft.com>
> > *Para:* "Eiffel Users" <eiffel...@googlegroups.com>, "Gobo Developers
> > Mailing List" <gobo-eiff...@lists.sourceforge.net>
> > *Asunto:* [eiffel-users] Gobo Eiffel 26.03 released
> > Hello,
> >
> > The Gobo Eiffel Project provides the Eiffel community with free and
> > portable Eiffel tools and libraries.
> > Please see the release notes here:
> >
> > https://github.com/gobo-eiffel/gobo/blob/master/History.md <https://
> github.com/gobo-eiffel/gobo/blob/master/History.md> <https://
> > github.com/gobo-eiffel/gobo/blob/master/History.md>
> >
> > Gobo Eiffel works fine with EiffelStudio 25.12 and
> > Gobo Eiffel 26.03 itself.
> >
> > The Gobo Eiffel package can be downloaded from GitHub:
> >
> > https://github.com/gobo-eiffel/gobo/releases/tag/gobo-26.03 <https://
> github.com/gobo-eiffel/gobo/releases/tag/gobo-26.03> <https://
> > github.com/gobo-eiffel/gobo/releases/tag/gobo-26.03>
> >
> > The Gobo Eiffel documentation can be browsed on-line at:
> >
> > https://www.gobosoft.com <https://www.gobosoft.com> <https://
> www.gobosoft.com <https://www.gobosoft.com>>
> >
> > Gobo Eiffel is also available from VS Code:
> >
> > https://marketplace.visualstudio.com/items?itemName=gobosoft.gobo-
> eiffel <https://marketplace.visualstudio.com/items?
> itemName=gobosoft.gobo-eiffel>
> > <https://marketplace.visualstudio.com/items?itemName=gobosoft.gobo-
> eiffel <https://marketplace.visualstudio.com/items?
> itemName=gobosoft.gobo-eiffel>>
> >
> > In addition to syntax highlighting, code completion and code navigation,
> > it reports syntax and validity errors inline as you type.
> > Please try it out, and do not hesitate to give it five stars if
> > you like it.
> >
> > Happy Eiffeling.
> >
> > --
> > Eric Bezault <er...@gobosoft.com>
> > Eiffel expert - available for freelance work
> > https://www.gobosoft.com <https://www.gobosoft.com> <https://
> www.gobosoft.com <https://www.gobosoft.com>>
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Eiffel Users" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> > an email to eiffel-users...@googlegroups.com.
> > To view this discussion visit https://groups.google.com/d/msgid/
> eiffel- <https://groups.google.com/d/msgid/eiffel->
> > users/de9d8cc7-d5a5-4bbd-b2b9-0c62cf40f833%40gobosoft.com <https://
> > groups.google.com/d/msgid/eiffel-users/de9d8cc7-d5a5-4bbd-
> > b2b9-0c62cf40f833%40gobosoft.com>.
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Eiffel Users" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> > an email to eiffel-users...@googlegroups.com <mailto:eiffel-
> > users+un...@googlegroups.com>.
> > To view this discussion visit https://groups.google.com/d/msgid/
> eiffel- <https://groups.google.com/d/msgid/eiffel->
> > users/trinity-30705480-bb99-42dd-817f-563fe58edebb-1774846036320%403c-
> > app-mailcom-bs08 <https://groups.google.com/d/msgid/eiffel-users/
> <https://groups.google.com/d/msgid/eiffel-users/>
> > trinity-30705480-bb99-42dd-817f-563fe58edebb-1774846036320%403c-app-
> > mailcom-bs08?utm_medium=email&utm_source=footer>.
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to eiffel-users...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-
> users/f549468e-1ed4-4195-900a-38ce18c0579c%40gobosoft.com <https://
> groups.google.com/d/msgid/eiffel-users/
> f549468e-1ed4-4195-900a-38ce18c0579c%40gobosoft.com>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to eiffel-users...@googlegroups.com <mailto:eiffel-
> users+un...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-
> users/trinity-a3f633fc-12c3-4ea7-aa07-6b4c59c9143a-1774921206832%403c-
> app-mailcom-bs07 <https://groups.google.com/d/msgid/eiffel-users/
> trinity-a3f633fc-12c3-4ea7-aa07-6b4c59c9143a-1774921206832%403c-app-
> mailcom-bs07?utm_medium=email&utm_source=footer>.

Germán Arias

unread,
Apr 1, 2026, 3:29:43 AM (5 days ago) Apr 1
to eiffel...@googlegroups.com, eiffel...@googlegroups.com, Gobo Developers Mailing List
Hi,
 
I tried moving the code to eiffel-iup.c. I created the .o file with the command (linux):
 
cc -c eiffel-iup.c -o eiffel-iup.o -I/home/german/Instalados/gobo/tool/gec/backend/c/runtime
 
This file is now added to library.ecf. With this, the example1 compiles without problem. But when executed, it chashes when clicking a button (whe a callback should be executed). I'll try again tomorrow. 
 
The other option of moving the callbacks to external routines isn't very clear to me, since those are functions that must be called from C. 
 
Regards
Germán
 
Enviar: martes 31 de marzo de 2026 a las 8:08

De: "Eric Bezault" <er...@gobosoft.com>
Para: eiffel...@googlegroups.com
CC: "Gobo Developers Mailing List" <gobo-eiff...@lists.sourceforge.net>
Asunto: Re: [eiffel-users] Gobo Eiffel 26.03 released

Germán Arias

unread,
Apr 1, 2026, 8:46:05 PM (5 days ago) Apr 1
to eiffel...@googlegroups.com, eiffel...@googlegroups.com, Gobo Developers Mailing List
 
Hi Eric
 
I bulid Gobo with Gcc and all works fine now
 
Thanks
Germán 
 
Enviar: miércoles 1 de abril de 2026 a las 1:29
De: "'Germán Arias' via Eiffel Users" <eiffel...@googlegroups.com>
Para: eiffel...@googlegroups.com
CC: eiffel...@googlegroups.com, "Gobo Developers Mailing List" <gobo-eiff...@lists.sourceforge.net>
Reply all
Reply to author
Forward
0 new messages