Στις 16/12/2018 12:30, ο Georgios Petasis έγραψε:
Στις 9/12/2018 03:52, ο Massimo Manghi έγραψε:
I committed in branch winbuild what I made to have mod_rivet build and run again on Windows 10 (but I guess this doesn't depend on the windows version, since last year it was OK on my win10 laptop)

I made several changes to cmake/CMakeList.txt and made other changes to the C code

The module builds but Apache fails because there is invalid data in the rivet configuration record. This is may be linked to the only warning I can't get rid of (c4273 inconsistent dll linkage for the 'rivet_module' symbol) since this symbol is the key needed to read the configuration by calling the macro RIVET_SERVER_CONF

any help from any of you familiar with this type of issue on windows is welcome

 -- Massimo

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscr...@tcl.apache.org
For additional commands, e-mail: rivet-dev-h...@tcl.apache.org


Dear Massimo,


All link problems under windows originate from mod_rivet.h, and the addition you have made on 31/1/2018, where you have added "APLOG_USE_MODULE(rivet);" in mod_rivet.h.


Why do you need this definition? Why you want mod_rivet.h to export a symbol?

Initially you had:

module AP_MODULE_DECLARE_DATA rivet_module;

Which I commented out. AP_MODULE_DECLARE_DATA = __declspec(dllexport) under windows.

And from http_confi.g:

#define APLOG_USE_MODULE(foo) \
    extern module AP_MODULE_DECLARE_DATA foo##_module;                  \
    AP_MAYBE_UNUSED(static int * const aplog_module_index) = &(foo##_module.module_index)

Which does the same think.

The header file should not export any symbol. If it does, it cannot be included in any of the bridges (which need to import the symbol).

George


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscr...@tcl.apache.org
For additional commands, e-mail: rivet-dev-h...@tcl.apache.org


Dear Massimo,

I have committed my changes (in the main branch, not the cmake one). The current trunk, builds without problems in my windows box with apache 24 (64 bit).

The only change, was removing "APLOG_USE_MODULE(rivet);" from mod_rivet.h.

Perhaps it is needed under unix in some file, but this must be placed in the .c file that actually uses the symbol.

Best,

George


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscr...@tcl.apache.org
For additional commands, e-mail: rivet-dev-h...@tcl.apache.org

Reply via email to