Στις 16/12/2018 15:20, ο Georgios Petasis έγραψε:
Στις 16/12/2018 12:48, ο Georgios Petasis έγραψε:
Στις 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


Dear Massimo,

I have added a few more files:

1) A build file for Appveyor. It is named .appveyor.yml. Appveyor will re-build rivet, after each commit made in the repository. This way, we can constantly test whether the windows build is broken :-)

2) I added a "Readme.md" in markdown. I copied some code from my tkdnd extension, to show the build status. Perhaps we need to tweak it some more, but look how it shows in github:

https://github.com/apache/tcl-rivet

I think much better than the textual README. And a bonus, you can click on the build badge, and see the build log from Appveyor!

Best,

George


And now I noticed that in the tab "Messages", all compiler warnings are listed:

https://ci.appveyor.com/project/petasis/tcl-rivet/build/messages

So, we can easily fix them :-)

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