emacs-devel
[Top][All Lists]
Advanced

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

Re: Dynamic loading progress


From: Stephen Leake
Subject: Re: Dynamic loading progress
Date: Thu, 12 Feb 2015 14:09:53 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (windows-nt)

Stephen Leake <address@hidden> writes:

> Ted Zlatanov <address@hidden> writes:
>
>> On Wed, 11 Feb 2015 17:24:51 +0100 Aurélien Aptel
>> <address@hidden> wrote:
>>
>> AA> On Wed, Feb 11, 2015 at 5:05 PM, Ted Zlatanov <address@hidden> wrote:
>>>> I did "make bootstrap" but now get:
>>>> 
>>>> Symbol's function definition is void: defun
>>
>> AA> I have no idea what is causing that :|
>>
>> I think it's because --with-ltdl is not the default.  It should be,
>> right?  Modules are enabled by default?
>
> -with-ltdl fixes the problem for me on Windows mingw64. More testing later.

I had to add to options to the 'gcc' line in modules/curl/Makefile:

    -std=c99 -I$(ROOT)/nt/inc

Normally those would be added by configure. Perhaps they could be set
via CFLAGS by the perl script when on mingw64?

But then I get link errors:

address@hidden make
gcc -shared `pkg-config libcurl --libs` -o curl.so curl.o
curl.o: In function `Fcurl_make':
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:55: 
undefined reference to `__imp_curl_easy_init'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:56: 
undefined reference to `make_save_ptr'
curl.o: In function `Fcurl_fetch_url':
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:67: 
undefined reference to `XSAVE_POINTER'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:69: 
undefined reference to `SSDATA'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:69: 
undefined reference to `__imp_curl_easy_setopt'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:70: 
undefined reference to `__imp_curl_easy_setopt'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:71: 
undefined reference to `__imp_curl_easy_setopt'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:72: 
undefined reference to `__imp_curl_easy_setopt'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:73: 
undefined reference to `__imp_curl_easy_perform'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:77: 
undefined reference to `__imp_curl_easy_strerror'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:78: 
undefined reference to `make_string'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:81: 
undefined reference to `builtin_lisp_symbol'
curl.o: In function `Fcurl_content':
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:89: 
undefined reference to `XSAVE_POINTER'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:90: 
undefined reference to `make_string'
curl.o: In function `Fcurl_free':
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:98: 
undefined reference to `XSAVE_POINTER'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:100: 
undefined reference to `__imp_curl_easy_cleanup'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:102: 
undefined reference to `builtin_lisp_symbol'
curl.o: In function `init':
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:107: 
undefined reference to `__imp_curl_global_init'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:110: 
undefined reference to `intern'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:112: 
undefined reference to `defsubr'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:113: 
undefined reference to `defsubr'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:114: 
undefined reference to `defsubr'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:115: 
undefined reference to `defsubr'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:117: 
undefined reference to `builtin_lisp_symbol'
C:\Projects\emacs\feature\aptel\dynamic-modules-rc3\modules\curl/curl.c:117: 
undefined reference to `Fprovide'
collect2.exe: error: ld returned 1 exit status
Makefile:9: recipe for target 'curl.so' failed
make: *** [curl.so] Error 1

pkg-config libcurl --libs returns -L/mingw64/lib -lcurl -lwldap32 -lz -lws2_32 

The "__imp_curl*" functions are provided by
/msys64/mingw64/lib/libcurl.dll.a; I assume that's what matches
'-lcurl'. So I don't understand those errors.

The other symbols appear to be Emacs symbols? There was some discussion
about a special flag for exporting those on Windows; is that '-Xlinker
-E'? I guess that goes in src/Makefile somewhere?

We also discussed creating an 'emacs.h' file to export those symbols
individually; I can work on that after I get the brute-force approach
working.

-- 
-- Stephe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]