Bug 207739 - www/firefox: firefox 45 build fails (early, in configure stage)
Summary: www/firefox: firefox 45 build fails (early, in configure stage)
Status: Closed Unable to Reproduce
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-gecko (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-06 13:20 UTC by Philippe Michel
Modified: 2017-03-27 12:49 UTC (History)
6 users (show)

See Also:


Attachments
Build log (13.47 KB, text/plain)
2016-03-06 13:20 UTC, Philippe Michel
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe Michel 2016-03-06 13:20:38 UTC
Created attachment 167759 [details]
Build log

Log of portmaster run attached.

This is new with rel.45, I had no such problem with earlier versions.
Comment 1 Jan Beich freebsd_committer freebsd_triage 2016-03-07 21:33:48 UTC
Can you list installed packages versions and options lang/python27 was built with? The issue looks python-related but I can't reproduce on 10.2R amd64 and 11.0C amd64.

Try to diagnose bundled virtualenv:

  $ cd www/firefox
  $ make patch
  $ cd $(make -V WRKSRC)

  $ python2.7 python/mozbuild/mozbuild/virtualenv.py \
      $PWD $PWD/obj-tmp $PWD/obj-tmp/_virtualenv \
      $PWD/build/virtualenv_packages.txt
  $ obj-tmp/_virtualenv/bin/python2.7 -c 'import mozbuild'

  $ python2.7 python/virtualenv/virtualenv.py foo
  $ foo/bin/pip install python/mozbuild
Comment 2 w.schwarzenfeld 2016-03-08 00:33:13 UTC
Don't know if it helps, but try reinstall py27-setuptools and py-pip. (I know this from other ports with py-problem, mostly it helps).
Comment 3 xmirya 2016-03-08 22:32:28 UTC
I'm running 10-STABLE/amd64, same problem with www/firefox and www/libxul. Seems like the recent base openssl update in rev. 296317 caused some ABI/API breakage:

$ youtube-dl 
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
...
  File "/usr/local/lib/python2.7/ssl.py", line 97, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: /usr/local/lib/python2.7/lib-dynload/_ssl.so: Undefined symbol "SSLv2_method"

Rebuilding lang/python?? doesn't help, _ssl.so is not built at all, packaging fails.

Some other ports are affected as well:

$ cd /usr/ports/www/nghttp2
$ make www_nghttp2_SET=ASIO
...
asio_cl-asio-cl.o: In function `boost::asio::ssl::context::context(boost::asio::ssl::context_base::method)':
asio-cl.cc:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE]+0xac): undefined reference to `SSLv2_method'
asio-cl.cc:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE]+0xbe): undefined reference to `SSLv2_client_method'
asio-cl.cc:(.text._ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE[_ZN5boost4asio3ssl7contextC2ENS1_12context_base6methodE]+0xd0): undefined reference to `SSLv2_server_method'
...
Comment 4 Philippe Michel 2016-03-08 23:07:53 UTC
xmirya, I just noticed the same way you did that my python, older than 10-STABLE's world, was broken by the recent ssl changes. Rebuilding python27 made the commands given by Jan Beich complete successfully when they didn't before (and it fixed youtube-dl as well :-).

I don't have time to run a full rebuild of firefox now. The errors there were much less explicit than those from your examples, but I'm now quite confident that the non-updated python was the cause. I should be able to confirm that in 24 to 48 hours.
Comment 5 Philippe Michel 2016-03-09 20:32:56 UTC
Rebuilding python did indeed fix the issue for me. The problem was not in firefox itself.
Comment 6 Paulo Henrique 2016-03-24 18:54:20 UTC
I'm having trouble importing the file with the output logs discriminating failure to build of Firefox 45.0.1, it is compressed with 1.6Mbytes and the maximum is 1.0Mbytes.
How to proceed.