On 12/16/18 11:48 AM, Georgios Petasis wrote:
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



Thank you George,

I don't know why a symbol export ended up in mod_rivet.h. It was wrong and, worse, I can't remember why I moved it in that file, which is inexcusable because every change should be accountable.

Working on the Windows build I had read the macro definition but my attempts started from the assumption that that macro was there for a reason, since the build on windows worked well.

 -- Massimo

---------------------------------------------------------------------
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