Trying to rebuild passenger for an update using # /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/bin/passenger-install-apache2-module I get the following error: rm -f buildout/libev/libev.la cd buildout/libev/ && make libev.la V=1 make: don't know how to make /var/ports/usr/ports/www/rubygem-passenger/work-apache/passenger-6.0.4/src/cxx_supportlib/vendor-modified/libev/ev.c. Stop make: stopped in /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/buildout/libev rake aborted! Command failed with status (2): [cd buildout/libev/ && make libev.la V=1...] It appears to be related to the problem reported here: https://www.pseudomoon.jp/dotclear/index.php?post/2019/01/24/passenger-install-apache2-module-%E3%81%A7%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E8%A9%B1%E3%80%82 # ls /var/ports/usr/ports/www/rubygem-passenger/work-apache/passenger-6.0.4/src/cxx_supportlib/vendor-modified/libev/ ls: /var/ports/usr/ports/www/rubygem-passenger/work-apache/passenger-6.0.4/src/cxx_supportlib/vendor-modified/libev/: No such file or directory In the Makefile: VPATH = /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/src/cxx_supportlib/vendor-modified/libev which looks right: # ls /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/src/cxx_supportlib/vendor-modified/libev aclocal.m4 config.guess configure ev_epoll.c ev_port.c ev_win32.c ev.h event.h LICENSE Makefile.in README autogen.sh config.h.in configure.ac ev_kqueue.c ev_select.c ev_wrap.h ev++.h install-sh ltmain.sh missing Changes config.sub depcomp ev_poll.c ev_vars.h ev.c event.c libev.m4 Makefile.am mkinstalldirs # grep -r "work-apache" /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/buildout/ verifies similar issues as reported by takagiwa at pseudomooon.jp /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/buildout/libev/.deps/event.Plo:2: /var/ports/usr/ports/www/rubygem-passenger/work-apache/passenger-6.0.4/src/cxx_supportlib/vendor-modified/libev/event.c \ etc. Replace: /var/ports/usr/ports/www/rubygem-passenger/work-apache/passenger-6.0.4/src/cxx_supportlib/vendor-modified/libev/ with /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/src/cxx_supportlib/vendor-modified/libev/ and /var/ports/usr/ports/www/rubygem-passenger/work-apache/passenger-6.0.4/src/ruby_native_extension with /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/src/ruby_native_extension backup first: # cp /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/buildout/libev/.deps/event.Plo /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/buildout/libev/.deps/event.Plo.bak # cp /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/buildout/libev/.deps/ev.Plo /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/buildout/libev/.deps/ev.Plo.bak # cp /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/buildout/ruby/ruby-2.6.5-x86_64-freebsd/Makefile /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/buildout/ruby/ruby-2.6.5-x86_64-freebsd/Makefile.bak sed it up # sed -i "" "s|/var/ports/usr/ports/www/rubygem-passenger/work-apache/passenger-6.0.4/src/cxx_supportlib/vendor-modified/libev/|/usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/src/cxx_supportlib/vendor-modified/libev/|g" /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/buildout/libev/.deps/event.Plo # sed -i "" "s|/var/ports/usr/ports/www/rubygem-passenger/work-apache/passenger-6.0.4/src/cxx_supportlib/vendor-modified/libev/|/usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/src/cxx_supportlib/vendor-modified/libev/|g" /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/buildout/libev/.deps/ev.Plo # sed -i "" "s|/var/ports/usr/ports/www/rubygem-passenger/work-apache/passenger-6.0.4/src/ruby_native_extension|/usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/src/ruby_native_extension|g" /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/buildout/ruby/ruby-2.6.5-x86_64-freebsd/Makefile check the work # grep -r "work-apache" /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/buildout/ looks good, try again: # /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/bin/passenger-install-apache2-module SUCCESS!
Hi, thanks for the report. I've just tried to reproduce the issue with freshly downloaded www/rubygem-passenger port, but no luck, everything works fine. Could you please add more details how to reproduce the issue. Thanks.
Hi, my guess is you tried to use the /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.4/bin/passenger-install-apache2-module to rebuild the apache module. If that the case then I would recommend to use a standard approach: # cd /usr/ports/www/rubygem-passenger # make install clean or run # pkg install rubygem-passenger-apache-6.0.4_1 to install a binary package. Hope it helps.
(In reply to Sergey A. Osokin from comment #2) Same here, but you are right about install from ports or via pkg - I have file /usr/local/lib/ruby/gems/2.6/gems/passenger-6.0.5/buildout/apache2/mod_passenger.so and my Redmine on apache work fine. But why do you keep passenger-install-apache2-module and passenger-install-nginx-module files if they doesn't work? One more: passenger-config, passenger-memory-stats and passenger-status doesn't work without gem etc installed (gem install etc).
(In reply to VVD from comment #3) Hi there, thanks for the reply. It's definitely possible to improve the existing www/rubygem-passenger port. Hope it's possible to see a patch against existing one with those improvements and fixes. Thanks in advance.
Created attachment 215463 [details] Removed passenger-install-*-module files + added dependency from sysutils/rubygem-etc Tested on 12.1 amd64.
Created attachment 215464 [details] New port sysutils/rubygem-etc Tested on 12.1 amd64.
Hi there, thanks for the update. I'd recommend to raise a separate request to add a new sysutils/rubygem-etc port to the FreeBSD ports tree. Also, the MAINTAINER field should contain an information about a real maintainer, so I'd recommend to put your email address into that field. Could you please explain the needful of the sysutils/rubygem-etc port for the www/rubygem-passenger. Thank you.
(In reply to Sergey A. Osokin from comment #7) > so I'd recommend to put your email address into that field. I think better to be maintainer some "ruby-guy" as you or sunpoet, or just ruby[at]freebsd.org. I'm not familiar with ruby world a lot. > Could you please explain the needful of the sysutils/rubygem-etc port for the www/rubygem-passenger. Commands passenger-config, passenger-memory-stats and passenger-status require it to work: # passenger-config /usr/local/lib/ruby/site_ruby/2.4/rubygems/dependency.rb:311:in `to_specs': Could not find 'etc' (>= 0) among 125 total gem(s) (Gem::MissingSpecError) Checked in 'GEM_PATH=/root/.gem/ruby/2.4:/usr/local/lib/ruby/gems/2.4', execute `gem env` for more information from /usr/local/lib/ruby/site_ruby/2.4/rubygems/specification.rb:1446:in `block in activate_dependencies' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/specification.rb:1435:in `each' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/specification.rb:1435:in `activate_dependencies' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/specification.rb:1417:in `activate' from /usr/local/lib/ruby/site_ruby/2.4/rubygems.rb:305:in `block in activate_bin_path' from /usr/local/lib/ruby/site_ruby/2.4/rubygems.rb:304:in `synchronize' from /usr/local/lib/ruby/site_ruby/2.4/rubygems.rb:304:in `activate_bin_path' from /usr/local/bin/passenger-config:23:in `<main>' # passenger-memory-stats /usr/local/lib/ruby/site_ruby/2.4/rubygems/dependency.rb:311:in `to_specs': Could not find 'etc' (>= 0) among 125 total gem(s) (Gem::MissingSpecError) Checked in 'GEM_PATH=/root/.gem/ruby/2.4:/usr/local/lib/ruby/gems/2.4', execute `gem env` for more information from /usr/local/lib/ruby/site_ruby/2.4/rubygems/specification.rb:1446:in `block in activate_dependencies' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/specification.rb:1435:in `each' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/specification.rb:1435:in `activate_dependencies' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/specification.rb:1417:in `activate' from /usr/local/lib/ruby/site_ruby/2.4/rubygems.rb:305:in `block in activate_bin_path' from /usr/local/lib/ruby/site_ruby/2.4/rubygems.rb:304:in `synchronize' from /usr/local/lib/ruby/site_ruby/2.4/rubygems.rb:304:in `activate_bin_path' from /usr/local/bin/passenger-memory-stats:23:in `<main>' # passenger-status /usr/local/lib/ruby/site_ruby/2.4/rubygems/dependency.rb:311:in `to_specs': Could not find 'etc' (>= 0) among 125 total gem(s) (Gem::MissingSpecError) Checked in 'GEM_PATH=/root/.gem/ruby/2.4:/usr/local/lib/ruby/gems/2.4', execute `gem env` for more information from /usr/local/lib/ruby/site_ruby/2.4/rubygems/specification.rb:1446:in `block in activate_dependencies' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/specification.rb:1435:in `each' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/specification.rb:1435:in `activate_dependencies' from /usr/local/lib/ruby/site_ruby/2.4/rubygems/specification.rb:1417:in `activate' from /usr/local/lib/ruby/site_ruby/2.4/rubygems.rb:305:in `block in activate_bin_path' from /usr/local/lib/ruby/site_ruby/2.4/rubygems.rb:304:in `synchronize' from /usr/local/lib/ruby/site_ruby/2.4/rubygems.rb:304:in `activate_bin_path' from /usr/local/bin/passenger-status:23:in `<main>' Bur after: # gem install etc or # portmaster sysutils/rubygem-etc # passenger-config Usage: passenger-config <COMMAND> [OPTIONS...] Tool for managing, controlling and configuring a Phusion Passenger instance or installation. Management commands: detach-process Detach an application process from the process pool restart-app Restart an application reopen-logs Instruct Phusion Passenger agents to reopen their log files api-call Makes an API call to a Phusion Passenger agent. Informational commands: list-instances List running Phusion Passenger instances about Show information about Phusion Passenger Phusion Passenger installation management: validate-install Validate this Phusion Passenger installation build-native-support Ensure that the native_support library for the current Ruby interpreter is built install-agent Install the Phusion Passenger agent binary install-standalone-runtime Install the Phusion Passenger Standalone runtime Miscellaneous commands: system-metrics Display system metrics system-properties Display system properties Run 'passenger-config <COMMAND> --help' for more information about each command. There are also some advanced commands not shown in this help message. Run 'passenger-config --help-all' to learn more about them. # passenger-memory-stats Version: 6.0.5 Date : 2020-06-18 14:11:12 +0300 --------- Apache processes --------- PID PPID VMSize Resident Name ------------------------------------ 6179 1 16.3 MB 3.5 MB /usr/local/sbin/httpd 6184 6179 21.7 MB 4.7 MB /usr/local/sbin/httpd 6185 6179 31.7 MB 6.6 MB /usr/local/sbin/httpd 6186 6179 31.7 MB 6.7 MB /usr/local/sbin/httpd 6223 6179 33.7 MB 7.4 MB /usr/local/sbin/httpd -------- Nginx processes --------- ----- Passenger processes ----- PID VMSize Resident Name ------------------------------- 6180 29.9 MB 6.8 MB PassengerAgent watchdog 6182 312.1 MB 127.1 MB PassengerAgent core 6258 215.5 MB 151.6 MB Passenger AppPreloader: /path/to/my/application (forking...) (ruby24) # passenger-status Version : 6.0.5 Date : 2020-06-18 14:10:22 +0300 Instance: 9tb4yrox (Apache/2.4.43 (FreeBSD) Phusion_Passenger/6.0.5) ----------- General information ----------- Max pool size : 16 App groups : 1 Processes : 1 Requests in top-level queue : 0 ----------- Application groups ----------- /path/to/my/application (production): App root: /path/to/my/application Requests in queue: 0 * PID: 6258 Sessions: 0 Processed: 149 Uptime: 1d 13h 23m 55s CPU: 0% Memory : 151M Last used: 14m
(In reply to VVD from comment #8) Sergey, what do you think about my patches and new port sysutils/rubygem-etc?
Sergey, you just update version of the www/rubygem-passenger, but without my patch. :-( And who can get mainteinership of the sysutils/rubygem-etc? Description is here: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244991#c8
Created attachment 216884 [details] Removed passenger-install-*-module files + added dependency from devel/rubygem-etc Sergey, sunpoet commited devel/rubygem-etc. I updated my patch - commit it, please.
Something wrong with patch?
?
(In reply to VVD from comment #13) The PORTREVISION of the port should be incremented. Could you please update the patch. Thank you.
Created attachment 219172 [details] Removed passenger-install-*-module files + added dependency from devel/rubygem-etc Added PORTREVISION= 1
A commit references this bug: Author: osa Date: Thu Oct 29 01:37:54 UTC 2020 New revision: 553577 URL: https://svnweb.freebsd.org/changeset/ports/553577 Log: Do not install useless files. Add another dependency to make happy the package tools. Bump PORTREVISION. PR: 244991 Changes: head/www/rubygem-passenger/Makefile
Committed, thanks for the report!