On Discourse v2.1.0.beta2, rebuilding the import box that @gerhard shared at Importing mailing lists (mbox, Listserv, Google Groups, emails, ...) is broken.
My guess is that the tiny_tds
gem that @zogstrip added requires building freetds from source.
I’ve tried making sure freetds-dev
and freetds-bin
are installed in templates/import/mbox.template.yml
, but that doesn’t seem to help.
I’ve put a log below.
Using lograge 0.10.0
Using rails_multisite 2.0.5
Using rspec-rails 3.7.2
Using ember-rails 0.18.5
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory:
/var/www/discourse/vendor/bundle/ruby/2.5.0/gems/tiny_tds-2.1.2/ext/tiny_tds
/usr/local/bin/ruby -r ./siteconf20180625-14532-yvtszm.rb extconf.rb
checking for sybfront.h... no
checking for sybdb.h... no
checking for tdsdbopen() in -lsybdb... no
checking for dbanydatecrack() in -lsybdb... no
Failed! Do you have FreeTDS 0.95.80 or higher installed?
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/local/bin/$(RUBY_BASE_NAME)
--help
--with-freetds-dir
--without-freetds-dir
--with-freetds-include
--without-freetds-include=${freetds-dir}/include
--with-freetds-lib
--without-freetds-lib=${freetds-dir}/lib
--with-freetds-dir
--without-freetds-dir
--with-freetds-include
--without-freetds-include=${freetds-dir}/include
--with-freetds-lib
--without-freetds-lib=${freetds-dir}/lib
--with-sybdblib
--without-sybdblib
--with-sybdblib
--without-sybdblib
To see why this extension failed to compile, please check the mkmf.log which can
be found here:
/var/www/discourse/vendor/bundle/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/tiny_tds-2.1.2/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in
/var/www/discourse/vendor/bundle/ruby/2.5.0/gems/tiny_tds-2.1.2 for inspection.
Results logged to
/var/www/discourse/vendor/bundle/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/tiny_tds-2.1.2/gem_make.out
An error occurred while installing tiny_tds (2.1.2), and Bundler cannot
continue.
Make sure that `gem install tiny_tds -v '2.1.2' --source
'https://rubygems.org/'` succeeds before bundling.
In Gemfile:
tiny_tds
I, [2018-06-25T05:04:57.425164 #17] INFO -- : Terminating async processes
I, [2018-06-25T05:04:57.426875 #17] INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main pid: 72
2018-06-25 05:04:57.428 UTC [72] LOG: received fast shutdown request
I, [2018-06-25T05:04:57.429104 #17] INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 188
188:signal-handler (1529903097) Received SIGTERM scheduling shutdown...
2018-06-25 05:04:57.432 UTC [72] LOG: aborting any active transactions
2018-06-25 05:04:57.441 UTC [72] LOG: worker process: logical replication launcher (PID 81) exited with exit code 1
2018-06-25 05:04:57.444 UTC [76] LOG: shutting down
188:M 25 Jun 05:04:57.468 # User requested shutdown...
188:M 25 Jun 05:04:57.468 * Saving the final RDB snapshot before exiting.
2018-06-25 05:04:57.479 UTC [72] LOG: database system is shut down
188:M 25 Jun 05:04:57.495 * DB saved on disk
188:M 25 Jun 05:04:57.496 # Redis is now ready to exit, bye bye...
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'IMPORT=1 bundle install --no-deployment --without test --without development --path vendor/bundle' failed with return #<Process::Status: pid 14530 exit 5>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "cmd"=>["apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y libmysqlclient-dev libsqlite3-dev", "su discourse -c 'IMPORT=1 bundle install --no-deployment --without test --without development --path vendor/bundle'"]}
b80283c9621f9427ef0bd61fac15af0ee6e37a3e7d4759c1d81125516c244d0e
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one