0

so heres the make file:

CC=gcc
default: msb doc
lib: libmsb-*
    cd libmsb-*/ && make -f Makefile.in
msb: lib msb.c
    $(CC) msb.c -o msb -I libmsb-*/ -L libmsb-*/ -l msb
install: msb
    install -s msb -t $(DESTDIR)/bin/
doc: msb.1
    groff -Tlatin1 -man msb.1 | col -b > msb.1.txt
cleanup:
    rm -f libmsb-*/*.o libmsb-*/*.a
clean: cleanup
    rm -f msb
    rm -f msb.1.txt

heres the error that i receive when running $make:

cd libmsb-*/ && make -f Makefile.in
make[1]: Entering directory 'C:/Users/****/Desktop/msb-0.1/libmsb-0.2'
make[1]: 'libmsb.a' is up to date.
make[1]: Leaving directory 'C:/Users/****/Desktop/msb-0.1/libmsb-0.2'
gcc msb.c -o msb -I libmsb-*/ -L libmsb-*/ -l msb
msb.c: In function ‘main’:
msb.c:94:19: warning: ‘optarg’ redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   94 |     extern char * optarg;
      |                   ^~~~~~
msb.c:95:16: warning: ‘optind’ redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   95 |     extern int optind, optopt;
      |                ^~~~~~
msb.c:95:24: warning: ‘optopt’ redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
   95 |     extern int optind, optopt;
      |                        ^~~~~~
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: libmsb-0.2//libmsb.a(msb_std.o):msb_std.c:(.bss+0x0): multiple definition of `msb_parities'; /tmp/cch7E9uN.o:msb.c:(.bss+0x0): first defined here
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: libmsb-0.2//libmsb.a(msb_std.o):msb_std.c:(.bss+0x4): multiple definition of `msb_lrc_flags'; /tmp/cch7E9uN.o:msb.c:(.bss+0x4): first defined here
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: libmsb-0.2//libmsb.a(msb_std.o):msb_std.c:(.bss+0x8): multiple definition of `msb_std_track_map'; /tmp/cch7E9uN.o:msb.c:(.bss+0x8): first defined here
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: libmsb-0.2//libmsb.a(msb_encode.o):msb_encode.c:(.bss+0x0): multiple definition of `msb_parities'; /tmp/cch7E9uN.o:msb.c:(.bss+0x0): first defined here
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: libmsb-0.2//libmsb.a(msb_encode.o):msb_encode.c:(.bss+0x4): multiple definition of `msb_lrc_flags'; /tmp/cch7E9uN.o:msb.c:(.bss+0x4): first defined here
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: libmsb-0.2//libmsb.a(msb_encode.o):msb_encode.c:(.bss+0x8): multiple definition of `msb_std_track_map'; /tmp/cch7E9uN.o:msb.c:(.bss+0x8): first defined here
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: libmsb-0.2//libmsb.a(msb_decode.o):msb_decode.c:(.bss+0x0): multiple definition of `msb_parities'; /tmp/cch7E9uN.o:msb.c:(.bss+0x0): first defined here
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: libmsb-0.2//libmsb.a(msb_decode.o):msb_decode.c:(.bss+0x4): multiple definition of `msb_lrc_flags'; /tmp/cch7E9uN.o:msb.c:(.bss+0x4): first defined here
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: libmsb-0.2//libmsb.a(msb_decode.o):msb_decode.c:(.bss+0x8): multiple definition of `msb_std_track_map'; /tmp/cch7E9uN.o:msb.c:(.bss+0x8): first defined here
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: libmsb-0.2//libmsb.a(msb_7811.o):msb_7811.c:(.bss+0x0): multiple definition of `msb_parities'; /tmp/cch7E9uN.o:msb.c:(.bss+0x0): first defined here
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: libmsb-0.2//libmsb.a(msb_7811.o):msb_7811.c:(.bss+0x4): multiple definition of `msb_lrc_flags'; /tmp/cch7E9uN.o:msb.c:(.bss+0x4): first defined here
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: libmsb-0.2//libmsb.a(msb_7811.o):msb_7811.c:(.bss+0x8): multiple definition of `msb_std_track_map'; /tmp/cch7E9uN.o:msb.c:(.bss+0x8): first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:6: msb] Error 1

Heres the Makefile.IN:

libmsb.a: msb_common.h msb_std.h msb_encode.h msb_decode.h msb_7811.h\
                      msb_std.c msb_encode.c msb_decode.c msb_7811.c
    $(CC) -c msb_std.c -o msb_std.o
    $(CC) -c msb_encode.c -o msb_encode.o
    $(CC) -c msb_decode.c -o msb_decode.o
    $(CC) -c msb_7811.c -o msb_7811.o
    ar crs libmsb.a msb_std.o msb_encode.o msb_decode.o msb_7811.o

the source code can be found here of the other files: https://sourceforge.net/projects/msb.berlios/files/latest/download

im still new to make files so any help is greatly appreciated....

0 Answers0