[Ecls-list] c::builder uses tempfile with only 1 object file
Greg Pfeil
sellout42 at mac.com
Wed May 10 18:23:02 UTC 2006
c::builder has the following comment:
;;
;; When a module is built out of several object files, we have to
;; create an additional object file that initializes those ones.
;; This routine is responsible for creating this file.
;;
;; To avoid name clashes, this object file will have a temporary
;; file name (tmp-name).
;;
However, the additional object file seems to be created and used
regardless of whether there are multiple object files. This doesn't
seem to cause a problem when a static library is created, but causes an
error (below) when building a dll.
;;; Note: Invoking external command:
;;; gcc -o "/path/to/libmoptilities.so" -L"/path/to/lib/ecl"
"/path/to/ECLINITWmzMYO.o" "/path/to/moptilities/dev/moptilities.o"
-Wl,--rpath,/path/to/lib/ecl -shared -lecl -lpthread -ldl -lm
-lgmp
/path/to/moptilities/dev/moptilities.o(.text+0x2db4): In function
`init_MOPTILITIES':
: multiple definition of `init_MOPTILITIES'
/path/to/ECLINITWmzMYO.o(.text+0x0): first defined here
/usr/bin/ld: Warning: size of symbol `init_MOPTILITIES' changed from
112 in /path/to/ECLINITWmzMYO.o to 7392 in
/path/to/moptilities/dev/moptilities.o
collect2: ld returned 1 exit status
More information about the ecl-devel
mailing list