-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compiling on Debian Jessie requires installation of automake #8890
Comments
Could you make a pull request to add this to the requirements in https://github.com/servo/servo/blob/master/README.md ? |
I'm very worried about depending on automake. This means that we are rebuilding autoconfig stuff when we shouldn't be. Can we get around this problem (which I'm guessing is caused by git checkout timestamp issues) by running touch on the final build products or something? Surely there is some better way that to require everyone (most people not needing it ever) to install automake and friends. |
@jdm Sorry, I don't know enough from github or git to make a pull request |
Automake is used to generate Makefile.in which configure will use to create a Makefile. Makefile.in should already exist in harfbuzz, but the Makefile rules are triggering it to regenerate because the timestamps aren't right after the git checkout. If Makefile.in does not exist in git, then we should add automake to Servo deps. If it does, we should try and find a workaround or fix for the timestamp issue. |
Thank you. I had same error. After installing automake, I can build servo successfully. |
There is an issue regarding compile error. The issue servo#8890 shows a workaround.
The root cause of this is servo/rust-harfbuzz#54 |
Documentation update for the time being: #9128 |
autoconf is current solution? Thanks. |
Move touch command into makefile.cargo Fixes #54, fixes servo/servo#8890. r? @larsbergstrom or @metajack <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/rust-harfbuzz/58) <!-- Reviewable:end -->
Compiling "harfbuzz" will fail when automake is not installed. Please Update Prequisites for Debian based Linuxes by including automake in the "sudo apt-get install .." command.
Here is the log for failing harfbuzz without automake installed:
failed to run custom build command for
harfbuzz-sys v0.1.2
Process didn't exit successfully:
/home/manfred/Sonstiges/servo/target/release/build/harfbuzz-sys-278d3b2daab5baa1/build-script-build
(exit code: 101)--- stdout
cd /home/manfred/Sonstiges/servo/target/release/build/harfbuzz-sys-278d3b2daab5baa1/out && /home/manfred/Sonstiges/servo/.cargo/registry/src/github.com-0a35038f75765ae4/harfbuzz-sys-0.1.2/harfbuzz/configure --prefix=/home/manfred/Sonstiges/servo/target/release/build/harfbuzz-sys-278d3b2daab5baa1/out --host=x86_64-unknown-linux-gnu --enable-static --without-icu --without-freetype --without-glib
CFLAGS="-fPIC -O2" CXXFLAGS="-fPIC -O2"
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for x86_64-unknown-linux-gnu-strip... no
checking for strip... strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking how to create a pax tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking for style of include used by make... GNU
checking for x86_64-unknown-linux-gnu-gcc... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for x86_64-unknown-linux-gnu-ar... no
checking for x86_64-unknown-linux-gnu-lib... no
checking for x86_64-unknown-linux-gnu-link... no
checking for ar... ar
checking the archiver (ar) interface... ar
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for x86_64-unknown-linux-gnu-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for x86_64-unknown-linux-gnu-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-unknown-linux-gnu-ar... ar
checking for archiver @file support... @
checking for x86_64-unknown-linux-gnu-strip... strip
checking for x86_64-unknown-linux-gnu-ranlib... no
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for x86_64-unknown-linux-gnu-mt... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for x86_64-unknown-linux-gnu-gcc... gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for x86_64-unknown-linux-gnu-g++... no
checking for x86_64-unknown-linux-gnu-c++... no
checking for x86_64-unknown-linux-gnu-gpp... no
checking for x86_64-unknown-linux-gnu-aCC... no
checking for x86_64-unknown-linux-gnu-CC... no
checking for x86_64-unknown-linux-gnu-cxx... no
checking for x86_64-unknown-linux-gnu-cc++... no
checking for x86_64-unknown-linux-gnu-cl.exe... no
checking for x86_64-unknown-linux-gnu-FCC... no
checking for x86_64-unknown-linux-gnu-KCC... no
checking for x86_64-unknown-linux-gnu-RCC... no
checking for x86_64-unknown-linux-gnu-xlC_r... no
checking for x86_64-unknown-linux-gnu-xlC... no
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for x86_64-unknown-linux-gnu-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.20... yes
checking for gtk-doc... no
checking for gtkdoc-check... no
checking for gtkdoc-check... no
checking for gtkdoc-rebase... no
checking for gtkdoc-mkpdf... no
checking whether to build gtk-doc documentation... no
checking for GTKDOC_DEPS... yes
checking for atexit... yes
checking for mprotect... yes
checking for sysconf... yes
checking for getpagesize... yes
checking for mmap... yes
checking for isatty... yes
checking for unistd.h... (cached) yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking alignment of struct{char;}... 1
checking for native Win32... no
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking for CAIRO... no
checking for FONTCONFIG... yes
checking for Intel atomic primitives... true
checking for Solaris atomic operations... false
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/hb-version.h
config.status: creating src/hb-ucdn/Makefile
config.status: creating util/Makefile
config.status: creating test/Makefile
config.status: creating test/api/Makefile
config.status: creating test/shaping/Makefile
config.status: creating docs/Makefile
config.status: creating docs/version.xml
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
configure:
Build configuration:
Unicode callbacks (you want at least one):
Glib: false
ICU: false
UCDN: true
Font callbacks (the more the better):
FreeType: false
Tools used for command-line utilities:
Cairo: false
Fontconfig: true
Additional shapers (the more the better):
Graphite2: false
Platform shapers (not normally needed):
CoreText: false
Uniscribe: false
Other features:
Documentation: no
GObject bindings: false
Introspection: false
cd /home/manfred/Sonstiges/servo/target/release/build/harfbuzz-sys-278d3b2daab5baa1/out && make -j2
make[1]: Entering directory '/home/manfred/Sonstiges/servo/target/release/build/harfbuzz-sys-278d3b2daab5baa1/out'
(CDPATH="${ZSH_VERSION+.}:" && cd /home/manfred/Sonstiges/servo/.cargo/registry/src/github.com-0a35038f75765ae4/harfbuzz-sys-0.1.2/harfbuzz && /bin/bash /home/manfred/Sonstiges/servo/.cargo/registry/src/github.com-0a35038f75765ae4/harfbuzz-sys-0.1.2/harfbuzz/missing autoheader)
Makefile:462: recipe for target '/home/manfred/Sonstiges/servo/.cargo/registry/src/github.com-0a35038f75765ae4/harfbuzz-sys-0.1.2/harfbuzz/config.h.in' failed
make[1]: Leaving directory '/home/manfred/Sonstiges/servo/target/release/build/harfbuzz-sys-278d3b2daab5baa1/out'
makefile.cargo:31: recipe for target 'all' failed
--- stderr
' panicked at 'assertion failed: Command::new("make").args(&["-R", "-f", "makefile.cargo",configure: WARNING:
You will not be able to create source packages with 'make dist'
because gtk-doc >= 1.15 is not found.
make[1]: Warnung: -jN in »make«-Verarbeitungszweig erzwungen:
Jobserver-Modus nicht verfügbar.
/home/manfred/Sonstiges/servo/.cargo/registry/src/github.com-0a35038f75765ae4/harfbuzz-sys-0.1.2/harfbuzz/missing: Zeile 81: autoheader: Kommando nicht gefunden.
WARNING: 'autoheader' is missing on your system.
You should only need it if you modified 'acconfig.h' or
'configure.ac' or m4 files included by 'configure.ac'.
The 'autoheader' program is part of the GNU Autoconf package:
http://www.gnu.org/software/autoconf/
It also requires GNU m4 and Perl in order to run:
http://www.gnu.org/software/m4/
http://www.perl.org/
make[1]: *** [/home/manfred/Sonstiges/servo/.cargo/registry/src/github.com-0a35038f75765ae4/harfbuzz-sys-0.1.2/harfbuzz/config.h.in] Error 127
make: *** [all] Error 2
thread '
&format!("-j{}" , env:: var ( "NUM_JOBS" ) .
unwrap (
))]).status().unwrap().success()', /home/manfred/Sonstiges/servo/.cargo/registry/src/github.com-0a35038f75765ae4/harfbuzz-sys-0.1.2/build.rs:14
The text was updated successfully, but these errors were encountered: