Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Yasm - strange linker error

12 views
Skip to first unread message

Mentore Siesto

unread,
Feb 21, 2012, 4:36:57 PM2/21/12
to
Hello, this happens when I try to compile Yasm on OS/2 with GCC 4.5.2.

After modifying the makefile to use the OS/2 specific options (and
removing -Zomf to avoid gcc choking) I obtain this strange output:

gcc -std=gnu99 -o genperf.exe genperf.o gp-perfect.o gp-phash.o
gp-xmalloc.o gp
-xstrdup.o
U:/USR/include/stdio.h:530 (genperf.o): Definition of symbol _feof
(multiply def
ined)
U:/USR/include/stdio.h:535 (genperf.o): Definition of symbol _ferror
(multiply d
efined)
U:/USR/include/stdio.h:539 (genperf.o): Definition of symbol _getchar
(multiply
defined)
U:/USR/include/stdio.h:540 (genperf.o): Definition of symbol _putchar
(multiply
defined)
U:/USR/include/stdio.h:530 (gp-perfect.o): Definition of symbol _feof
(multiply
defined)
U:/USR/include/stdio.h:535 (gp-perfect.o): Definition of symbol
_ferror (multipl
y defined)
U:/USR/include/stdio.h:539 (gp-perfect.o): Definition of symbol
_getchar (multip
ly defined)
U:/USR/include/stdio.h:540 (gp-perfect.o): Definition of symbol
_putchar (multip
ly defined)
U:/USR/include/stdio.h:530 (gp-phash.o): Definition of symbol _feof
(multiply de
fined)
U:/USR/include/stdio.h:535 (gp-phash.o): Definition of symbol _ferror
(multiply
defined)
U:/USR/include/stdio.h:539 (gp-phash.o): Definition of symbol _getchar
(multiply
defined)
U:/USR/include/stdio.h:540 (gp-phash.o): Definition of symbol _putchar
(multiply defined)
U:/USR/include/stdio.h:530 (gp-xmalloc.o): Definition of symbol _feof
(multiply
defined)
U:/USR/include/stdio.h:535 (gp-xmalloc.o): Definition of symbol
_ferror (multiply defined)
U:/USR/include/stdio.h:539 (gp-xmalloc.o): Definition of symbol
_getchar (multiply defined)
U:/USR/include/stdio.h:540 (gp-xmalloc.o): Definition of symbol
_putchar (multiply defined)
U:/USR/include/stdio.h:530 (gp-xstrdup.o): Definition of symbol _feof
(multiply
defined)
U:/USR/include/stdio.h:535 (gp-xstrdup.o): Definition of symbol
_ferror (multiply defined)
U:/USR/include/stdio.h:539 (gp-xstrdup.o): Definition of symbol
_getchar (multiply defined)
U:/USR/include/stdio.h:540 (gp-xstrdup.o): Definition of symbol
_putchar (multiply defined)

I tried to search the web to try and correct it, and found some
obscure "-z muldefs" options which Gcc seems unable to recognize.

This is not the first time that I see this behavior. Did someone
witness this also?

Mentore

--
Mentore Siesto

Dave Yeo

unread,
Feb 21, 2012, 4:57:06 PM2/21/12
to
Mentore Siesto wrote:
> Hello, this happens when I try to compile Yasm on OS/2 with GCC 4.5.2.

Why? It doesn't do anything useful on OS/2. Just use the latest nasm and
ask here if it doesn't assemble whatever you're assembling.
There is also a good chance just copying nasm.exe to yasm.exe will work
as long as you pass the right -f option and if using the OBJ (omf)
format set things up right in the assembly to use FLAT32.

>
> After modifying the makefile to use the OS/2 specific options (and
> removing -Zomf to avoid gcc choking) I obtain this strange output:

Last time I tried, Yasm compiled fine here just doing configure and
make. There were no OS/2 options in the makefile. Even passed most of
the test-suite but as it doesn't support any OS/2 object formats it's
not too useful.
Dave
ps perhaps you need to define __GNU_STDC_INLINE__ or vice versa.

Mentore

unread,
Feb 22, 2012, 3:24:47 AM2/22/12
to
Will try using nasm - the make chain for Avidemux complained it needed
yasm.

Mentore
0 new messages