I'm building a web assembly project using Rust that uses the openssl crate. Now the problem comes when I want to build the app, it fails with the following output:
[INFO]: Checking for the Wasm target...
[INFO]: Compiling to Wasm...
Compiling openssl-sys v0.9.58
error: failed to run custom build command for `openssl-sys v0.9.58`
Caused by:
process didn't exit successfully: `/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/release/build/openssl-sys-815e530f9615c049/build-script-main` (exit code: 101)
--- stdout
cargo:rustc-cfg=const_fn
cargo:rerun-if-env-changed=WASM32_UNKNOWN_UNKNOWN_OPENSSL_NO_VENDOR
WASM32_UNKNOWN_UNKNOWN_OPENSSL_NO_VENDOR unset
cargo:rerun-if-env-changed=OPENSSL_NO_VENDOR
OPENSSL_NO_VENDOR unset
CC_wasm32-unknown-unknown = None
CC_wasm32_unknown_unknown = None
TARGET_CC = None
CC = None
CFLAGS_wasm32-unknown-unknown = None
CFLAGS_wasm32_unknown_unknown = None
TARGET_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("false")
running "perl" "./Configure" "--prefix=/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/install" "no-dso" "no-ssl3" "no-unit-test" "no-comp" "no-zlib" "no-zlib-dynamic" "no-shared" "gcc" "-O2" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=wasm32-unknown-unknown"
Configuring OpenSSL version 1.1.1g (0x1010107fL) for gcc
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile
The library could not be configured for supporting multi-threaded
applications as the compiler options required on this system are not known.
See file INSTALL for details if you need multi-threading.
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL file first) ***
*** ***
**********************************************************************
running "make" "depend"
running "make" "build_libs"
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
"-oMakefile" include/crypto/bn_conf.h.in > include/crypto/bn_conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
"-oMakefile" include/crypto/dso_conf.h.in > include/crypto/dso_conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
"-oMakefile" include/openssl/opensslconf.h.in > include/openssl/opensslconf.h
make depend && make _build_libs
make[1]: Entering directory '/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/build/src'
make[1]: Leaving directory '/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/build/src'
make[1]: Entering directory '/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/build/src'
clang -I. -Iinclude -O3 -O2 -ffunction-sections -fdata-sections -fPIC --target=wasm32-unknown-unknown -DOPENSSLDIR="\"/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/install/ssl\"" -DENGINESDIR="\"/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/install/lib/engines-1.1\"" -DNDEBUG -c -o apps/app_rand.o apps/app_rand.c
clang -I. -Iinclude -O3 -O2 -ffunction-sections -fdata-sections -fPIC --target=wasm32-unknown-unknown -DOPENSSLDIR="\"/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/install/ssl\"" -DENGINESDIR="\"/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/install/lib/engines-1.1\"" -DNDEBUG -c -o apps/apps.o apps/apps.c
clang -I. -Iinclude -O3 -O2 -ffunction-sections -fdata-sections -fPIC --target=wasm32-unknown-unknown -DOPENSSLDIR="\"/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/install/ssl\"" -DENGINESDIR="\"/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/install/lib/engines-1.1\"" -DNDEBUG -c -o apps/bf_prefix.o apps/bf_prefix.c
make[1]: Leaving directory '/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/build/src'
--- stderr
/bin/sh: 1: clang: not found
make[1]: *** [Makefile:672: apps/app_rand.o] Error 127
make[1]: *** Waiting for unfinished jobs....
/bin/sh: 1: clang: not found
make[1]: *** [Makefile:674: apps/apps.o] Error 127
/bin/sh: 1: clang: not found
make[1]: *** [Makefile:676: apps/bf_prefix.o] Error 127
make: *** [Makefile:175: build_libs] Error 2
thread 'main' panicked at '
Error building OpenSSL:
Command: "make" "build_libs"
Exit status: exit code: 2
', /home/hamisi/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-src-111.10.0+1.1.1g/src/lib.rs:386:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: Compiling your crate to WebAssembly failed
Caused by: failed to execute `cargo build`: exited with exit code: 101
full command: "cargo" "build" "--lib" "--release" "--target" "wasm32-unknown-unknown"
I have tried every solution in the internet, installed libssldev, pkg-config, I also reinstalled openssl in my machine several times, still no fruits. I have debugged this for hours without any success.
The following is my Cargo.toml content dependencies section:
[dependencies]
wasm-bindgen = "0.2.63"
openssl-sys = "0.9"
openssl = { version = "0.10", features = ["vendored"] }
base64 = "0.12.1"
I am using Ubuntu 20.04 and openssl version outputs:
OpenSSL 1.1.1g 21 Apr 2020
According to rustwasm/wasm-bindgen, openssl crate does not support WebAssembly
This is actually an error reported by the openssl-sys build script and
that's because the openssl crate doesn't have support for WebAssembly
yet (I'm not sure that OpenSSL itself even does...).
Related
I'm building a web assembly project using Rust that uses the openssl crate. Now the problem comes when I want to build the app, it fails with the following output:
[INFO]: Checking for the Wasm target...
[INFO]: Compiling to Wasm...
Compiling openssl-sys v0.9.58
error: failed to run custom build command for `openssl-sys v0.9.58`
Caused by:
process didn't exit successfully: `/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/release/build/openssl-sys-815e530f9615c049/build-script-main` (exit code: 101)
--- stdout
cargo:rustc-cfg=const_fn
cargo:rerun-if-env-changed=WASM32_UNKNOWN_UNKNOWN_OPENSSL_NO_VENDOR
WASM32_UNKNOWN_UNKNOWN_OPENSSL_NO_VENDOR unset
cargo:rerun-if-env-changed=OPENSSL_NO_VENDOR
OPENSSL_NO_VENDOR unset
CC_wasm32-unknown-unknown = None
CC_wasm32_unknown_unknown = None
TARGET_CC = None
CC = None
CFLAGS_wasm32-unknown-unknown = None
CFLAGS_wasm32_unknown_unknown = None
TARGET_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("false")
running "perl" "./Configure" "--prefix=/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/install" "no-dso" "no-ssl3" "no-unit-test" "no-comp" "no-zlib" "no-zlib-dynamic" "no-shared" "gcc" "-O2" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=wasm32-unknown-unknown"
Configuring OpenSSL version 1.1.1g (0x1010107fL) for gcc
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile
The library could not be configured for supporting multi-threaded
applications as the compiler options required on this system are not known.
See file INSTALL for details if you need multi-threading.
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL file first) ***
*** ***
**********************************************************************
running "make" "depend"
running "make" "build_libs"
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
"-oMakefile" include/crypto/bn_conf.h.in > include/crypto/bn_conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
"-oMakefile" include/crypto/dso_conf.h.in > include/crypto/dso_conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
"-oMakefile" include/openssl/opensslconf.h.in > include/openssl/opensslconf.h
make depend && make _build_libs
make[1]: Entering directory '/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/build/src'
make[1]: Leaving directory '/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/build/src'
make[1]: Entering directory '/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/build/src'
clang -I. -Iinclude -O3 -O2 -ffunction-sections -fdata-sections -fPIC --target=wasm32-unknown-unknown -DOPENSSLDIR="\"/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/install/ssl\"" -DENGINESDIR="\"/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/install/lib/engines-1.1\"" -DNDEBUG -c -o apps/app_rand.o apps/app_rand.c
clang -I. -Iinclude -O3 -O2 -ffunction-sections -fdata-sections -fPIC --target=wasm32-unknown-unknown -DOPENSSLDIR="\"/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/install/ssl\"" -DENGINESDIR="\"/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/install/lib/engines-1.1\"" -DNDEBUG -c -o apps/apps.o apps/apps.c
clang -I. -Iinclude -O3 -O2 -ffunction-sections -fdata-sections -fPIC --target=wasm32-unknown-unknown -DOPENSSLDIR="\"/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/install/ssl\"" -DENGINESDIR="\"/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/install/lib/engines-1.1\"" -DNDEBUG -c -o apps/bf_prefix.o apps/bf_prefix.c
make[1]: Leaving directory '/home/hamisi/Projects/payment-gateway/checkout/web/payload-formatter-wasm/target/wasm32-unknown-unknown/release/build/openssl-sys-881fa1458604c2ea/out/openssl-build/build/src'
--- stderr
/bin/sh: 1: clang: not found
make[1]: *** [Makefile:672: apps/app_rand.o] Error 127
make[1]: *** Waiting for unfinished jobs....
/bin/sh: 1: clang: not found
make[1]: *** [Makefile:674: apps/apps.o] Error 127
/bin/sh: 1: clang: not found
make[1]: *** [Makefile:676: apps/bf_prefix.o] Error 127
make: *** [Makefile:175: build_libs] Error 2
thread 'main' panicked at '
Error building OpenSSL:
Command: "make" "build_libs"
Exit status: exit code: 2
', /home/hamisi/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-src-111.10.0+1.1.1g/src/lib.rs:386:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: Compiling your crate to WebAssembly failed
Caused by: failed to execute `cargo build`: exited with exit code: 101
full command: "cargo" "build" "--lib" "--release" "--target" "wasm32-unknown-unknown"
I have tried every solution in the internet, installed libssldev, pkg-config, I also reinstalled openssl in my machine several times, still no fruits. I have debugged this for hours without any success.
The following is my Cargo.toml content dependencies section:
[dependencies]
wasm-bindgen = "0.2.63"
openssl-sys = "0.9"
openssl = { version = "0.10", features = ["vendored"] }
base64 = "0.12.1"
I am using Ubuntu 20.04 and openssl version outputs:
OpenSSL 1.1.1g 21 Apr 2020
According to rustwasm/wasm-bindgen, openssl crate does not support WebAssembly
This is actually an error reported by the openssl-sys build script and
that's because the openssl crate doesn't have support for WebAssembly
yet (I'm not sure that OpenSSL itself even does...).
I am using the Ubuntu 14.04 in virtual box and 64 bit OS
I try to cross compile Qt-everywhere 4.8.6 with a 'gcc-linaro-arm-linux-gnueabihf-4.7' cross compiler and get the following error while doing the 'make'
make[1]: Entering directory `/home/user/qt-everywhere-opensource-src-4.8.6
/src/corelib'
/usr/local/linaro/bin/arm-linux-gnueabihf-gcc (The path depends where the Toolchain has been installed) -c -pipe -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard -fvisibility=hidden -Wall -W -D_REENTRANT -fPIC -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -I../../mkspecs/qws/linux-arm-linaro-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-static-emb-arm -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-static-emb-arm -o .obj/release-static-emb-arm/adler32.o ../3rdparty/zlib/adler32.c
/bin/sh: 1: Syntax error: word unexpected (expecting ")")
make[1]: *** [.obj/release-static-emb-arm/adler32.o] Error 2
make[1]: Leaving directory `/home/user/qt-everywhere-opensource-src-4.8.6/src/corelib'
make: *** [sub-corelib-install_subtargets-ordered] Error 2
The .configure script has no problems
Can anyone help out, what causes this?
This text doesn't belong in your call to gcc:
(The path depends where the Toolchain has been installed)
Remove that to get rid of the error.
I'm running Linux as follows:
dbliss#nx4[objdir]> uname -a
Linux nx4.priv 2.6.32-573.3.1.el6.x86_64 #1 SMP Thu Aug 13 22:55:16 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
dbliss#nx4[objdir]> cat /etc/*release
CentOS release 6.7 (Final)
LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
CentOS release 6.7 (Final)
CentOS release 6.7 (Final)
I just downloaded version 4.8.4 of gcc and attempted to configure and build it as follows:
dbliss#nx4[objdir]> ~/srcdir/configure --prefix=$HOME --with-gmp=$HOME
dbliss#nx4[objdir]> make
The last of these commands raised the following error:
make[5]: Entering directory `/home/despo/dbliss/objdir/x86_64-unknown-linux-gnu/32/libgcc'
# If this is the top-level multilib, build all the other
# multilibs.
DEFINES='' HEADERS='/home/despo/dbliss/srcdir/libgcc/config/i386/value-unwind.h' \
/home/despo/dbliss/srcdir/libgcc/mkheader.sh > tmp-libgcc_tm.h
/bin/sh /home/despo/dbliss/srcdir/libgcc/../move-if-change tmp-libgcc_tm.h libgcc_tm.h
echo timestamp > libgcc_tm.stamp
/home/despo/dbliss/objdir/./gcc/xgcc -B/home/despo/dbliss/objdir/./gcc/ -B/home/despo/dbliss/x86_64-unknown-linux-gnu/bin/ -B/home/despo/dbliss/x86_64-unknown-linux-gnu/lib/ -isystem /home/despo/dbliss/x86_64-unknown-linux-gnu/include -isystem /home/despo/dbliss/x86_64-unknown-linux-gnu/sys-include -g -O2 -m32 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fpic -mlong-double-80 -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -fpic -mlong-double-80 -I. -I. -I../../.././gcc -I/home/despo/dbliss/srcdir/libgcc -I/home/despo/dbliss/srcdir/libgcc/. -I/home/despo/dbliss/srcdir/libgcc/../gcc -I/home/despo/dbliss/srcdir/libgcc/../include -I/home/despo/dbliss/srcdir/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o _muldi3.o -MT _muldi3.o -MD -MP -MF _muldi3.dep -DL_muldi3 -c /home/despo/dbliss/srcdir/libgcc/libgcc2.c -fvisibility=hidden -DHIDE_EXPORTS
In file included from /usr/include/features.h:385:0,
from /usr/include/stdio.h:28,
from /home/despo/dbliss/srcdir/libgcc/../gcc/tsystem.h:87,
from /home/despo/dbliss/srcdir/libgcc/libgcc2.c:27:
/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory
# include <gnu/stubs-32.h>
^
compilation terminated.
make[5]: *** [_muldi3.o] Error 1
make[5]: Leaving directory `/home/despo/dbliss/objdir/x86_64-unknown-linux-gnu/32/libgcc'
make[4]: *** [multi-do] Error 1
make[4]: Leaving directory `/home/despo/dbliss/objdir/x86_64-unknown-linux-gnu/libgcc'
make[3]: *** [all-multi] Error 2
make[3]: Leaving directory `/home/despo/dbliss/objdir/x86_64-unknown-linux-gnu/libgcc'
make[2]: *** [all-stage1-target-libgcc] Error 2
make[2]: Leaving directory `/home/despo/dbliss/objdir'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/despo/dbliss/objdir'
make: *** [all] Error 2
What I get from this is that make expects a file stubs-32.h in /usr/include/gnu/, but can't find it.
However, I do have a file stubs-64.h in this directory:
dbliss#nx4[objdir]> ls /usr/include/gnu
libc-version.h lib-names.h stubs-64.h stubs.h
My question is, should I be specifying somehow in my call to configure that I'm using a 64-bit system and, therefore, that stubs-64.h should be used? Or is stubs-32.h always required? If stubs-32.h is required, what is the best way for me to acquire and install it -- given that I am not an administrator of this computing system and would need to install it locally (and have make find it locally).
On Ubuntu
sudo apt install libc6-dev:i386
On a system like Centos 6, you can get the 32 bit libraries with this command: sudo yum -y install glibc-devel.i686 glibc-devel
I have downloaded from SVN can utilities. Because by default can utitlities are not in kernel.
svn checkout svn://svn.berlios.de/socketcan/trunk/can-utils
Kernel i am using is :--
ignite#ignite:~/socketcan/can-utils$ uname -a
Linux ignite 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:32:08 UTC 2012 i686 i686 i686 GNU/Linux
Then i recompiled the utitilities. Here is the error isotp.h not found :---
ignite#ignite:~/socketcan/can-utils$ make all
cc -O2 -Wall -Wno-parentheses -I../kernel/2.6/include -fno-strict-aliasing -DSO_RXQ_OVFL=40 -DPF_CAN=29 -DAF_CAN=PF_CAN isotprecv.c -o isotprecv
isotprecv.c:60:29: fatal error: linux/can/isotp.h: No such file or directory
compilation terminated.
make: *** [isotprecv] Error 1
cc -O2 -Wall -Wno-parentheses -I../kernel/2.6/include -fno-strict-aliasing -DSO_RXQ_OVFL=40 -DPF_CAN=29 -DAF_CAN=PF_CAN isotpsend.c -o isotpsend
isotpsend.c:60:29: fatal error: linux/can/isotp.h: No such file or directory
compilation terminated.
make: *** [isotpsend] Error 1
cc -O2 -Wall -Wno-parentheses -I../kernel/2.6/include -fno-strict-aliasing -DSO_RXQ_OVFL=40 -DPF_CAN=29 -DAF_CAN=PF_CAN isotpsniffer.c -o isotpsniffer
isotpsniffer.c:61:29: fatal error: linux/can/isotp.h: No such file or directory
compilation terminated.
make: *** [isotpsniffer] Error 1
cc -O2 -Wall -Wno-parentheses -I../kernel/2.6/include -fno-strict-aliasing -DSO_RXQ_OVFL=40 -DPF_CAN=29 -DAF_CAN=PF_CAN isotptun.c -o isotptun
isotptun.c:69:29: fatal error: linux/can/isotp.h: No such file or directory
compilation terminated.
make: *** [isotptun] Error 1
cc -O2 -Wall -Wno-parentheses -I../kernel/2.6/include -fno-strict-aliasing -DSO_RXQ_OVFL=40 -DPF_CAN=29 -DAF_CAN=PF_CAN isotpserver.c -o isotpserver
isotpserver.c:80:29: fatal error: linux/can/isotp.h: No such file or directory
compilation terminated.
make: *** [isotpserver] Error 1
make: Target `all' not remade because of errors.
Clone the latest can-utils repository:
git clone https://github.com/linux-can/can-utils.git
cd can-utils
./autogen.sh
./configure
make
make install
I'm attempting to compile abiword in my Cygwin environment.
I have cygwin 1.7.25.
The compile fails regarding glib:
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -D_REENTRANT -I/usr/include/fribidi -
I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libgsf-1 -I/usr/include/libxml2
-I/usr/include/wv -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/pixman-1 -
I/usr/include/libpng15 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/gtk-2.0 -
I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 -
I/usr/include/gio-unix-2.0/ -I/usr/include/gtk-unix-print-2.0 -I/usr/include/librsvg-2.0 -Wall -
Wextra -Wsign-compare -Wpointer-arith -Wchar-subscripts -Wwrite-strings -Wmissing-noreturn -
Wunused -Wpointer-arith -Wshadow -g -O2 -MT go-cmd-context.lo -MD -MP -MF .deps/go-cmd-
context.Tpo -c goffice/app/go-cmd-context.c -DDLL_EXPORT -DPIC -o .libs/go-cmd-context.o
In file included from ./goffice/app/goffice-app.h:25:0,
from ./goffice/app/go-cmd-context.h:24,
from goffice/app/go-cmd-context-impl.h:4,
from goffice/app/go-cmd-context.c:10:
/usr/include/glib-2.0/glib/gmacros.h:35:2: error: #error "Only <glib.h> can be included directly."
goffice/app/go-cmd-context.c: In function ‘go_cmd_context_get_type’:
goffice/app/go-cmd-context.c:147:3: warning: missing initializer [-Wmissing-field-initializers]
goffice/app/go-cmd-context.c:147:3: warning: (near initialization for ‘go_cmd_context_info.class_init’) [-Wmissing-field-initializers]
Makefile:503: recipe for target `go-cmd-context.lo' failed
make[3]: *** [go-cmd-context.lo] Error 1
make[3]: Leaving directory `/home/kingram/src/abiword-2.8.6/goffice-bits'
Makefile:409: recipe for target `all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/kingram/src/abiword-2.8.6/goffice-bits'
Makefile:670: recipe for target `all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/kingram/src/abiword-2.8.6'
Makefile:473: recipe for target `all' failed
make: *** [all] Error 2
A google search produced a Redhat bug report suggesting that Glib 2.31 is required.
I'm considering downloading and compiling the latest glib from source as cygwin does not appear to be using it.
However, I'd like some insight on this choice or hear if there are some other experiences around this.
Actually, Glib 2.31 is the culprit; its headers changed so that only the top-level headers may be #included, not the individual class headers.
Cygwin does have the latest stable branch of Glib.
Therefore, in order to get this to compile, you would need to fix the #includes in the code, as indicated in the error messages.
However, I can save you the trouble: Abiword packages are available from Cygwin Ports.