I am having an issue in getting my PerfectServer module (called MCPushServer) to compile on Ubuntu when referencing an updated version of PerfectLib. As for my previous question, I have updated PerfectLib to make use of the WebRequest's lazy var param postBodyString in order to access the JSON body data. This all works fine on Mac, but when I copy the new files onto the Linux VM and I recompile the project, my RegistrationHandler in MCPushServer fails to compile as it does not recognise the parameter in WebRequest:
Output from the compiler:
MCPushServer/MCUnregistrationHandler.swift:33:28: error: value of type 'WebRequest' has no member 'postBodyString' let bodyData = request.postBodyString
Detailed steps below:
- Copied PerfectLib onto my remote server
- Remove pre-existing PerfectLib.so
- run 'make': PerfectLib.so is re-created and it contains a reference to 'postBodyString (grep the file and it returned a match)
- run 'sudo make install' to link to /user/local/lib/ > all good
- Re-compiled PerfectServer
- cd into Examples/MCPushServer and run make: the above error occurs
I have also tried to comment out existing methods in WebRequest (eg: lazy var params) and repeated the process: I would have expected my Handler to complain about the missing member in WebRequest, but it seems to cope as if nothing has happened.
It looks to me as if there is somewhere an obsolete generated interface of PerfectLib / WebRequest that my module references when trying to build. Is anyone able to point me in the right direction here?