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`.
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
> *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/releases/tag/gobo-26.03> <https://
> >
https://www.gobosoft.com <
https://www.gobosoft.com> <https://
> > <
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://
> eiffel- <
https://groups.google.com/d/msgid/eiffel->
> eiffel- <
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>.
> 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>.