Firefox 68 build ./mach configure says "The pkg-config script could not be found"
While attempting to build Firefox 68.0 on Solaris 11.4 SPARC, I get this:
...
0:20.13 checking whether the C++ compiler supports -fno-sized-deallocation... yes 0:20.16 ERROR: *** The pkg-config script could not be found. Make sure it is 0:20.16 *** in your path, or set the PKG_CONFIG environment variable 0:20.16 *** to the full path to pkg-config. 0:20.30 *** Fix above errors and then restart with\ 0:20.30 "./mach build" 0:20.30 gmake: *** [client.mk:115: configure] Error 1
root@hemlock:~/firefox-68.0# I tried setting root@hemlock:~/firefox-68.0# PKG_CONFIG=/usr/lib/64/pkgconfig
But that didn't help. Now I get 0:07.15 checking for pkg_config... not found
0:07.15 DEBUG: pkg_config: Trying /usr/lib/64/pkgconfig 0:07.15 ERROR: Cannot find pkg_config
And I can't find anything called pkg_config either.
Alle svar (3)
pkg-config is a command which takes arguments meant to tell your compiler which libraries and compiler flags are necessary to compile the source code for your system.
https://www.opencsw.org/package/pkgconfig/
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions
Thanks - that fixed that. Now I'm confused about this (from [https://developer.mozilla.org/en-US/d.../Cross-compiling_Mozilla|Cross-compiling_Mozilla] ): "GCC and binutils will expect to find the system headers and libraries under ${xprefix}/${xtarget_arch} so you will need to copy those files from the target system, preserving directory structure and modify any scripts as necessary"
Uh. *which* "system headers and libraries" are those? Are they talking about /usr/include and /usr/lib/pkgconfig? I'm supposed to copy those directories from the Sun to my Ubuntu x64?
You are compiling on Ubuntu for Solaris? It will want at least the headers from /usr/include (at least for the languages FF is using). I think gcc -M will give you a makefile listing all the headers used by the FF source. Whatever the includes are.
System libraries on which Firefox will depend (/lib on Solaris, maybe other locations? https://docs.oracle.com/cd/E23823_01/html/819-0869/appa-3.html).
Honestly, a build look rather complicated to me: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Solaris_Prerequisites
You might want to try one of the Mozilla IRC channels if this gets complicated. I am pretty much at my limit here without navigating such an adventure myself.
This also might be helpful. https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html