On 2011-10-05 11:37+0800 H Xu wrote:

When use "mingw32-make VERBOSE=1" to compile, the following message is
output:


"C:\Program Files\CMake 2.8\bin\cmake.exe" -E remove -f
CMakeFiles\plplotd.dir/objects.a
C:\MinGW\bin\ar.exe cr CMakeFiles\plplotd.dir/objects.a
@CMakeFiles\plplotd.dir\objects1.rsp
C:\MinGW\bin\gcc.exe     -shared -o ..\dll\libplplotd.dll
-Wl,--out-implib,..\dll\libplplotd.dll.a -Wl,--major-imag
e-version,11,--minor-image-version,0 -Wl,--whole-archive
CMakeFiles\plplotd.dir/objects.a -Wl,--no-whole-archive ..
\dll\libcsirocsa.dll.a ..\dll\libqsastime.dll.a -lkernel32 -luser32
-lgdi32 -lwinspool -lshell32 -lole32 -loleaut32
 -luuid -lcomdlg32 -ladvapi32
Creating library file: ..\dll\libplplotd.dll.a
CMakeFiles\plplotd.dir/objects.a(plcore.c.obj):plcore.c:(.text+0x6caf):
undefined reference to `lt_dlmakeresident'
collect2: ld returned 1 exit status
mingw32-make[2]: *** [dll/libplplotd.dll] Error 1

Does anyone know what is the problem?

Hi Hong:

Thanks very much for your report which is an extremely important one
in my opinion.

The issue occurs in src/plcore.c when we call lt_dlmakeresident.  That
call was put in during the last release cycle by another developer and
me to fix another problem. But we completely missed the fact this
function has not been implemented in ltdl_win32.c, which is the
libltdl replacement that we use just for Windows.  Doh!

I think this bug means that 5.9.8 will not work on any Windows
platform. I am not happy that we missed this issue to start with, but
I am even less happy that our Windows testing of this release fell
down so badly, but there it is. We will try to do a lot better for our
further releases!

Could you try the attached patch, please, to see if that solves the
issue?  It implements lt_dlmakeresident in ltdl_win32.c, but as a
no-op. Later, we will probably want to actually implement a
lt_dlmakeresident in ltdl_win32.c that does what the libltdl Linux
version does, but this patch is at least a start down that trail, and
should be good enough for now since it should just give the same
Windows platform behaviour as for 5.9.7.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________
Index: src/ltdl_win32.c
===================================================================
--- src/ltdl_win32.c	(revision 11934)
+++ src/ltdl_win32.c	(working copy)
@@ -111,3 +111,9 @@
     else
         return NULL;
 }
+
+// Placeholder that does nothing for now.
+int lt_dlmakeresident (lt_dlhandle handle)
+{
+    return 0;
+}
Index: include/ltdl_win32.h
===================================================================
--- include/ltdl_win32.h	(revision 11934)
+++ include/ltdl_win32.h	(working copy)
@@ -46,4 +46,6 @@
 
 PLDLLIMPEXP void* lt_dlsym( lt_dlhandle dlhandle, const char* symbol );
 
+PLDLLIMPEXP int lt_dlmakeresident (lt_dlhandle handle);
+
 #endif // __LTDL_WIN32_H__
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Plplot-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-general

Reply via email to