David Cleaver on Fri, 14 Mar 2003 18:37:16 -0600

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Problem with make bench...

Hello all,

I went into the Ocygwin-i686 dir and typed make bench.  But all it gave
me was a bunch of "echo"'s of a file (libpari_dll.h) it was creating and
the contents of it (which included #ifndef libpari_GLOBALS_H).  Then
after all the echo's make came back with:
make: *** No rule to make target 'libpari_globals.h' needed by gp-dyn.o.
So, I copied libpari_dll.h to a file called libpari_globals.h. Typing
make bench at that point produced the following:
$ make bench
rm -f libpari-2.2.a
ar r libpari-2.2.a *.o (*.o to mean all the object files)
/usr/bin/ranlib libpari-2.2.a
echo '.section .idata$3'        > dll_fixup.s
echo '.long 0,0,0,0,0'          >> dll_fixup.s
/usr/bin/as  -o dll_fixup.o dll_fixup.s
echo '#include <stdio.h>'                               > dll_init.c
echo 'extern struct _reent *_impure_ptr;'               >> dll_init.c
echo 'extern __declspec(dllimport) struct _reent reent_data;' >>
echo '__attribute__((stdcall))'                         >> dll_init.c
echo 'int dll_entry(int handle, int reason, void *ptr)' >> dll_init.c
echo '{ _impure_ptr = reent_data; return 1; }'  >> dll_init.c
/usr/bin/gcc -O3 -DGCC_INLINE -Wall -fomit-frame-pointer 
-DBOTH_GNUPLOT_AND_X11 -I. -I../src/headers -c -o dll_init.o dll_init.c
dll_init.c: In function 'dll_entry':
dll_init.c:6: incompatible types in assignment
make: *** [dll_init.o] Error 1

I then changed the code in that last line to read:
"_impure_ptr = &reent_data;"
and make bench successfully created dll_init.o.

Then typing make bench produced a lot of output so I typed "make bench >
output.txt" which put all the normal output into the text file and
output the errors to the screen which was:
$ make bench > output.txt
dlltool: Syntax error in def file libpari-2.2.def:1
libpari-2.2.exp(.edata+0x38):fake: undefined reference to '_libpari'
collect2: ld returned 1 exit status
make: *** [libpari-2.2.dll] Error 1

So, this one I don't know how to fix.  Can anyone see where I might have
gone wrong or know what I might be able to do to get this to work?
Thanks for any help.

-David C.