Closed CirrusThink closed 9 years ago
The main problem is that Solaris does not seem to be support tm_gmtoff.
The question is whether we need tm_gmtoff in the first place. We use mktime(), but maybe we can use timegm(). However, timegm() is non-standard, and may not be supported either on Solaris. More investigation is required.
So what is next ?
First, we need to find a way to get our hands on a Solaris installation. I think I have an old OpenSolaris 2009 VM somewhere on a harddisk, but I need to go find it. If that fails, maybe we can try SmartOS and hope that's it's "close enough" to Solaris 11.2.
I can help. I have an available Solaris 11.2 Would that work ?
Yes that would help, thank you. :) The next step is to research Solaris 11.2's supported time APIs. Does your Solaris install have developer man pages installed? If so, could you run man timegm
and tell me what it says?
Ok looking for that. In the meantime I tried to install 4.0.59 and I get this at the end
Compiling and installing Nginx...
# sh ./configure --prefix='/opt/nginx' --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --with-cc-opt='-Wno-error' --add-module=/export/home/ladmin/ngx_devel_kit-master --add-module=/export/home/ladmin/lua-nginx-module-master --add-module='/export/home/ladmin/.rvm/gems/ruby-2.1.5@global/gems/passenger-enterprise-server-4.0.59/ext/nginx'
checking for OS
+ SunOS 5.11 i86pc
checking for C compiler ... not found
./configure: error: C compiler cc is not found
But I though compilers where present
Maybe it's because --with-cc-opt='-Wno-error'
is being passed to the configure script. Maybe your Solaris compiler does not support that flag. Try compiling Passenger as a normal Nginx module (see docs) so that that flag is not passed to the compiler.
So I cannot man timegm but I do see a man for gmtime Reformatting page. Please Wait... done
Standard C Library Functions ctime(3C)
NAME ctime, ctime_r, localtime, localtime_r, gmtime, gmtime_r, asctime, asctime_r, tzset - convert date and time to string
SYNOPSIS
char *ctime(const time_t *clock);
struct tm *localtime(const time_t *clock);
struct tm *gmtime(const time_t *clock);
char *asctime(const struct tm *tm);
extern time_t timezone, altzone;
extern int daylight;
extern char *tzname[2];
void tzset(void);
char *ctime_r(const time_t *clock, char *buf, int buflen);
struct tm *localtime_r(const time_t *restrict clock,
struct tm *restrict res); .....
gmtime and timegm are not the same.
Now that I know Solaris doesn't support it, I have to come up with a different solution, but I do not yet know what is it. I will have to think about this for a while.
Do you still want access to the Solaris 11.2 box ?
It is not necessary right now, thank you.
k
enterprise customers is there a different ticketing support system or still here ?
Enterprise customers can also email support questions to support@phusion.nl. But the engineers you reach through that way are the same as through Github issues, so if we've already noticed the Github issue then there's no point in sending an email to support@phusion.nl.
ok
"Maybe it's because --with-cc-opt='-Wno-error' is being passed to the configure script. " Commented it int he script but still
Compiling and installing Nginx...
# sh ./configure --prefix='/opt/nginx' --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --add-module=/export/home/ladmin/ngx_devel_kit-master --add-module=/export/home/ladmin/lua-nginx-module-master --add-module='/export/home/ladmin/.rvm/gems/ruby-2.1.5@global/gems/passenger-enterprise-server-4.0.59/ext/nginx'
checking for OS
+ SunOS 5.11 i86pc
checking for C compiler ... not found
./configure: error: C compiler cc is not found
Is there somewhere in the passenger-install-nginx-module script that I can point to use the GCC compiler ?
Yes, through --extra-configure-flags='--with-cc=/path-to-cc'
what if I want to use gcc instead of cc then would it be --extra-configure-flags='--with-gcc=/usr/bin/gcc' ?
ok so far Solaris 11.2 with Passenger 4.0.59 works with the following statement rvmsudo passenger-install-nginx-module --extra-configure-flags='--with-cc=/usr/bin/gcc'
Could not find a valid gem 'passenger-enterprise-server' (= 5.0.5) in any repository is this posted yet ?
5.0.5 is not released yet. It's still under development.
how can I deploy the 5.0.5 fix for Solaris ?
The fix is not yet deployable until we've released Enterprise 5.0.5, which we expect in about 2 weeks. However, you can test whether the fix works, by compiling the open source version as follows:
cd /somewhere
git clone git://github.com/phusion/passenger.git
cd passenger
git checkout GH-1435
./bin/passenger-install-nginx-module --extra-configure-flags='--with-gcc=/usr/bin/gcc'
If this doesn't give you compilation errors, then we know the issue has been fixed.
How do I tell passenger-install-nginx-module to use /usr/local/lib for lua ? liblua.so => /usr/lib/liblua.so is coming from wrong place I need to link it towards liblua.a in /usr/local/lib
@CirrusThink I don't have any experience with the Lua module, but the installer doc http://wiki.nginx.org/HttpLuaModule#Installation suggests nginx installation requires extra configure flags like: --with-ld-opt='-Wl,-rpath,/path/to/luajit-or-lua/lib" --add-module=/path/to/ngx_devel_kit --add-module=/path/to/lua-nginx-module
Does the branch compile for you now that we've removed the tm_gmtoff for solaris? Would be great to know, thanks.
Merging this to branch stable-5.0, considering issue closed.
rvmsudo passenger-install-nginx-module