Re: [eiffel-users] Gobo Eiffel 26.03 released
Eric Bezault <ericb-D6Qt/9opevxWk0Htik3J/[email protected]> Tue, 31 Mar 2026 16:08:07 +0200
| Newsgroups | gmane.comp.lang.eiffel.ise,gmane.comp.lang.eiffel.gobo.devel |
|---|---|
| Organization | Gobo |
| Message-ID | <[email protected]> |
Hi Germ=C3=A1n,
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`.
--=20
Eric Bezault <ericb-D6Qt/9opevxWk0Htik3J/[email protected]>
Eiffel expert - available for freelance work
https://www.gobosoft.com
On 31/03/2026 3:40, 'Germ=C3=A1n Arias' via Eiffel Users wrote:
> Hi
> I changed it. Whit this change examples 1 and 2 compiles without=20
> problem, but example 3 shows the same problem. So, it seems that depends=
=20
> on the complexity of the program. The headers callbacks.h and=20
> converter.h have a protection #ifndef, but don't works. I will try to=20
> reproduce it with a minum example.
> Regards
> Germ=C3=A1n
> *Enviar:*=C2=A0lunes 30 de marzo de 2026 a las 0:48
> *De:*=C2=A0"Eric Bezault" <ericb-D6Qt/9opevxWk0Htik3J/[email protected]>
> *Para:*=C2=A0eiffel-users-/[email protected]
> *CC:*=C2=A0"Gobo Developers Mailing List" <gobo-eiffel-=20
> [email protected]>
> *Asunto:*=C2=A0Re: [eiffel-users] Gobo Eiffel 26.03 released
> Hi Germ=C3=A1n,
>=20
> I see the following in your library ECF file:
>=20
> <external_include location=3D"${GOBO}/tool/gec/runtime/c/"/>
>=20
> It should be:
>=20
> <external_include location=3D"${GOBO}/tool/gec/backend/c/runtime/"/>
>=20
> If it does not fix the issue, please create a ticket at
> https://github.com/gobo-eiffel/gobo/issues <https://github.com/gobo-=20
> eiffel/gobo/issues> explaining how
> to reproduce the problem.
>=20
> Thanks.
>=20
> --
> Eric Bezault <ericb-D6Qt/9opevxWk0Htik3J/[email protected]>
> Eiffel expert - available for freelance work
> https://www.gobosoft.com <https://www.gobosoft.com>
>=20
>=20
> On 30/03/2026 6:47, 'Germ=C3=A1n 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=C3=A1n
> > *Enviar:*=C2=A0domingo 8 de marzo de 2026 a las 8:23
> > *De:*=C2=A0"Eric Bezault" <ericb-D6Qt/9opevxWk0Htik3J/[email protected]>
> > *Para:*=C2=A0"Eiffel Users" <eiffel-users-/[email protected]>, "Gobo Dev=
elopers
> > Mailing List" <gobo-eiffel-develop-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
> > *Asunto:*=C2=A0[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://=
=20
> 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://=
=20
> 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://=20
> www.gobosoft.com <https://www.gobosoft.com>>
> >
> > Gobo Eiffel is also available from VS Code:
> >
> > https://marketplace.visualstudio.com/items?itemName=3Dgobosoft.gobo-=
=20
> eiffel <https://marketplace.visualstudio.com/items?=20
> itemName=3Dgobosoft.gobo-eiffel>
> > <https://marketplace.visualstudio.com/items?itemName=3Dgobosoft.gobo-=
=20
> eiffel <https://marketplace.visualstudio.com/items?=20
> itemName=3Dgobosoft.gobo-eiffel>>
> >
> > In addition to syntax highlighting, code completion and code navigatio=
n,
> > 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 <ericb-D6Qt/9opevxWk0Htik3J/[email protected]>
> > Eiffel expert - available for freelance work
> > https://www.gobosoft.com <https://www.gobosoft.com> <https://=20
> 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+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
> > To view this discussion visit https://groups.google.com/d/msgid/=20
> 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+unsubscribe-/[email protected] <mailto:eiffel-
> > users+unsubscribe-/[email protected]>.
> > To view this discussion visit https://groups.google.com/d/msgid/=20
> 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/=20
> <https://groups.google.com/d/msgid/eiffel-users/>
> > trinity-30705480-bb99-42dd-817f-563fe58edebb-1774846036320%403c-app-
> > mailcom-bs08?utm_medium=3Demail&utm_source=3Dfooter>.
>=20
>=20
>=20
> --
> You received this message because you are subscribed to the Google=20
> Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send=20
> an email to eiffel-users+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-=
=20
> users/f549468e-1ed4-4195-900a-38ce18c0579c%40gobosoft.com <https://=20
> groups.google.com/d/msgid/eiffel-users/=20
> f549468e-1ed4-4195-900a-38ce18c0579c%40gobosoft.com>.
>=20
> --=20
> You received this message because you are subscribed to the Google=20
> Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send=20
> an email to eiffel-users+unsubscribe-/[email protected] <mailto:eiffel-=20
> users+unsubscribe-/[email protected]>.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-=
=20
> users/trinity-a3f633fc-12c3-4ea7-aa07-6b4c59c9143a-1774921206832%403c-=20
> app-mailcom-bs07 <https://groups.google.com/d/msgid/eiffel-users/=20
> trinity-a3f633fc-12c3-4ea7-aa07-6b4c59c9143a-1774921206832%403c-app-=20
> mailcom-bs07?utm_medium=3Demail&utm_source=3Dfooter>.
--=20
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 e=
mail to eiffel-users+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
To view this discussion visit https://groups.google.com/d/msgid/eiffel-user=
s/7e609cef-d787-46de-8606-2188e0e7153a%40gobosoft.com.