I just did a fresh install of SageMath 8.9 (Windows installer 0.5.1).
I want to use "The Normaliz backend for polyhedral computations".
I run the sage -i pynormaliz inside SageMath 8.9 Shell. It starts acquiring yasm, and halts:
[yasm-1.3.0.p0] checking whether we are cross compiling... configure: error: in `/opt/sagemath-8.9/local/var/tmp/sage/build/yasm-1.3.0.p0/src':
[yasm-1.3.0.p0] configure: error: cannot run C compiled programs.
I'm now sure how to proceed.
The config.log seems to indicate the problem is in permissions? We have in console.log:
...
configure:3758: ./conftest.exe
./configure: line 3760: ./conftest.exe: Permission denied
configure:3762: $? = 126
configure:3769: error: in `/opt/sagemath-8.9/local/var/tmp/sage/build/yasm-1.3.0.p0/src':
configure:3771: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
I do not know how to circumvent this.
Here is the whole config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by yasm configure 1.3.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ ./configure --prefix=/opt/sagemath-8.9/local --libdir=/opt/sagemath-8.9/local/lib
## --------- ##
## Platform. ##
## --------- ##
hostname = DESKTOP-R9A6BND
uname -m = x86_64
uname -r = 3.0.7(0.338/5/3)
uname -s = CYGWIN_NT-10.0
uname -v = 2019-04-30 18:08
/usr/bin/uname -p = unknown
/bin/uname -X = unknown
/bin/arch = x86_64
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /opt/sagemath-8.9/build/bin
PATH: /opt/sagemath-8.9/src/bin
PATH: /opt/sagemath-8.9/local/bin
PATH: /opt/sagemath-8.9/local/lib/R/lib
PATH: /opt/sagemath-8.9/local/lib
PATH: /opt/sagemath-8.9/build/bin
PATH: /opt/sagemath-8.9/src/bin
PATH: /opt/sagemath-8.9/local/bin
PATH: /usr/local/bin
PATH: /usr/bin
PATH: /cygdrive/c/Program Files (x86)/Common Files/Oracle/Java/javapath
PATH: /cygdrive/c/ProgramData/Oracle/Java/javapath
PATH: /cygdrive/c/WINDOWS/system32
PATH: /cygdrive/c/WINDOWS
PATH: /cygdrive/c/WINDOWS/System32/Wbem
PATH: /cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0
PATH: /cygdrive/c/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static
PATH: /cygdrive/c/Program Files (x86)/Skype/Phone
PATH: /cygdrive/c/Program Files (x86)/Windows Live/Shared
PATH: /cygdrive/c/Program Files/nodejs
PATH: /cygdrive/c/Program Files (x86)/Brackets/command
PATH: /cygdrive/c/Program Files/Microsoft SQL Server/130/Tools/Binn
PATH: /cygdrive/c/Program Files/dotnet
PATH: /cygdrive/c/Program Files (x86)/Xoreax/IncrediBuild
PATH: /cygdrive/c/Program Files/MiKTeX 2.9/miktex/bin/x64
PATH: /cygdrive/c/WINDOWS/System32/OpenSSH
PATH: /cygdrive/c/Program Files (x86)/Wolfram Research/WolframScript
PATH: /cygdrive/c/Program Files/MATLAB/R2018a/runtime/win64
PATH: /cygdrive/c/Program Files/MATLAB/R2018a/bin
PATH: /cygdrive/c/Program Files/Git/cmd
PATH: /cygdrive/c/Program Files (x86)/Common Files/Acronis/SnapAPI
PATH: /cygdrive/c/ProgramData/chocolatey/bin
PATH: /cygdrive/c/Program Files/Python 3.6
PATH: /cygdrive/c/Users/M/AppData/Local/Microsoft/WindowsApps
PATH: /cygdrive/c/Program Files/Java/jdk1.8.0_131/lib
PATH: /cygdrive/c/Program Files/JetBrains/CLion 2018.3.4/bin
PATH: /cygdrive/c/MinGW/bin
PATH: /usr/lib/lapack
## ----------- ##
## Core tests. ##
## ----------- ##
configure:2536: checking for a BSD-compatible install
configure:2604: result: /usr/bin/install -c
configure:2615: checking whether build environment is sane
configure:2670: result: yes
configure:2821: checking for a thread-safe mkdir -p
configure:2860: result: /usr/bin/mkdir -p
configure:2867: checking for gawk
configure:2883: found /usr/bin/gawk
configure:2894: result: gawk
configure:2905: checking whether make sets $(MAKE)
configure:2927: result: yes
configure:2956: checking whether make supports nested variables
configure:2973: result: yes
configure:3099: checking whether to enable maintainer-specific portions of Makefiles
configure:3108: result: no
configure:3204: checking for style of include used by make
configure:3232: result: GNU
configure:3303: checking for gcc
configure:3330: result: gcc
configure:3559: checking for C compiler version
configure:3568: gcc --version >&5
gcc (GCC) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:3579: $? = 0
configure:3568: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/lto-wrapper.exe
Target: x86_64-pc-cygwin
Configured with: /cygdrive/i/szsz/tmpp/gcc/gcc-7.4.0-1.x86_64/src/gcc-7.4.0/configure --srcdir=/cygdrive/i/szsz/tmpp/gcc/gcc-7.4.0-1.x86_64/src/gcc-7.4.0 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=x86_64-pc-cygwin --host=x86_64-pc-cygwin --target=x86_64-pc-cygwin --without-libiconv-prefix --without-libintl-prefix --libexecdir=/usr/lib --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_atexit --with-dwarf2 --with-tune=generic --enable-languages=ada,c,c++,fortran,lto,objc,obj-c++ --enable-graphite --enable-threads=posix --enable-libatomic --enable-libcilkrts --enable-libgomp --enable-libitm --enable-libquadmath --enable-libquadmath-support --disable-libssp --enable-libada --disable-symvers --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id --with-default-libstdcxx-abi=gcc4-compatible --enable-libstdcxx-filesystem-ts
Thread model: posix
gcc version 7.4.0 (GCC)
configure:3579: $? = 0
configure:3568: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3579: $? = 1
configure:3568: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files
compilation terminated.
configure:3579: $? = 1
configure:3599: checking whether the C compiler works
configure:3621: gcc -L/opt/sagemath-8.9/local/lib -Wl,-rpath,/opt/sagemath-8.9/local/lib conftest.c >&5
configure:3625: $? = 0
configure:3673: result: yes
configure:3676: checking for C compiler default output file name
configure:3678: result: a.exe
configure:3684: checking for suffix of executables
configure:3691: gcc -o conftest.exe -L/opt/sagemath-8.9/local/lib -Wl,-rpath,/opt/sagemath-8.9/local/lib conftest.c >&5
configure:3695: $? = 0
configure:3717: result: .exe
configure:3739: checking whether we are cross compiling
configure:3747: gcc -o conftest.exe -L/opt/sagemath-8.9/local/lib -Wl,-rpath,/opt/sagemath-8.9/local/lib conftest.c >&5
configure:3751: $? = 0
configure:3758: ./conftest.exe
./configure: line 3760: ./conftest.exe: Permission denied
configure:3762: $? = 126
configure:3769: error: in `/opt/sagemath-8.9/local/var/tmp/sage/build/yasm-1.3.0.p0/src':
configure:3771: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
## ---------------- ##
## Cache variables. ##
## ---------------- ##
ac_cv_env_CCLD_FOR_BUILD_set=
ac_cv_env_CCLD_FOR_BUILD_value=
ac_cv_env_CC_FOR_BUILD_set=
ac_cv_env_CC_FOR_BUILD_value=
ac_cv_env_CC_set=set
ac_cv_env_CC_value=gcc
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_FOR_HOST_set=
ac_cv_env_CPP_FOR_HOST_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value='-L/opt/sagemath-8.9/local/lib -Wl,-rpath,/opt/sagemath-8.9/local/lib '
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_PYTHON_set=
ac_cv_env_PYTHON_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_exeext=.exe
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/usr/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_make_make_set=yes
am_cv_make_support_nested_variables=yes
## ----------------- ##
## Output variables. ##
## ----------------- ##
ACLOCAL='${SHELL} /opt/sagemath-8.9/local/var/tmp/sage/build/yasm-1.3.0.p0/src/config/missing aclocal-1.14'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='1'
AM_V='$(V)'
AR='ar'
ARCH=''
AUTOCONF='${SHELL} /opt/sagemath-8.9/local/var/tmp/sage/build/yasm-1.3.0.p0/src/config/missing autoconf'
AUTOHEADER='${SHELL} /opt/sagemath-8.9/local/var/tmp/sage/build/yasm-1.3.0.p0/src/config/missing autoheader'
AUTOMAKE='${SHELL} /opt/sagemath-8.9/local/var/tmp/sage/build/yasm-1.3.0.p0/src/config/missing automake-1.14'
AWK='gawk'
BUILD_MAN_FALSE=''
BUILD_MAN_TRUE=''
CC='gcc'
CCDEPMODE=''
CCLD_FOR_BUILD=''
CC_FOR_BUILD=''
CFLAGS=''
CPP=''
CPPFLAGS=''
CPP_FOR_HOST=''
CYGPATH_W='cygpath -w'
DEFS=''
DEPDIR='.deps'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT='.exe'
GCC=''
GETTEXT_MACRO_VERSION=''
GMSGFMT=''
GMSGFMT_015=''
GREP=''
HAVE_PYTHON_BINDINGS_FALSE=''
HAVE_PYTHON_BINDINGS_TRUE=''
HAVE_PYTHON_FALSE=''
HAVE_PYTHON_TRUE=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
INTLLIBS=''
INTL_MACOSX_LIBS=''
LDFLAGS='-L/opt/sagemath-8.9/local/lib -Wl,-rpath,/opt/sagemath-8.9/local/lib '
LIBICONV=''
LIBINTL=''
LIBOBJS=''
LIBS=''
LN_S=''
LTLIBICONV=''
LTLIBINTL=''
LTLIBOBJS=''
MAINT='#'
MAINTAINER_MODE_FALSE=''
MAINTAINER_MODE_TRUE='#'
MAKEINFO='${SHELL} /opt/sagemath-8.9/local/var/tmp/sage/build/yasm-1.3.0.p0/src/config/missing makeinfo'
MKDIR_P='/usr/bin/mkdir -p'
MORE_CFLAGS=''
MSGFMT=''
MSGFMT_015=''
MSGMERGE=''
OBJEXT=''
PACKAGE='yasm'
PACKAGE_BUGREPORT='bug-yasm#tortall.net'
PACKAGE_NAME='yasm'
PACKAGE_STRING='yasm 1.3.0'
PACKAGE_TARNAME='yasm'
PACKAGE_URL=''
PACKAGE_VERSION='1.3.0'
PATH_SEPARATOR=':'
POSUB=''
PYTHON=''
PYTHON_EXEC_PREFIX=''
PYTHON_INCLUDES=''
PYTHON_PLATFORM=''
PYTHON_PREFIX=''
PYTHON_VERSION=''
RANLIB='ranlib'
SED=''
SET_MAKE=''
SHELL='/usr/bin/bash'
STRIP=''
USE_NLS=''
VERSION='1.3.0'
XGETTEXT=''
XGETTEXT_015=''
XGETTEXT_EXTRA_OPTIONS=''
XMLTO=''
ac_ct_AR=''
ac_ct_CC='gcc'
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE=''
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__include='include'
am__isrc=''
am__leading_dot='.'
am__nodep='_no'
am__quote=''
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} xf -'
bindir='${exec_prefix}/bin'
build=''
build_alias=''
build_cpu=''
build_os=''
build_vendor=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
host=''
host_alias=''
host_cpu=''
host_os=''
host_vendor=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /opt/sagemath-8.9/local/var/tmp/sage/build/yasm-1.3.0.p0/src/config/install-sh'
libdir='/opt/sagemath-8.9/local/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
pkgpyexecdir=''
pkgpythondir=''
prefix='/opt/sagemath-8.9/local'
program_transform_name='s,x,x,'
psdir='${docdir}'
pyexecdir=''
pythondir=''
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''
## ----------- ##
## confdefs.h. ##
## ----------- ##
/* confdefs.h */
#define PACKAGE_NAME "yasm"
#define PACKAGE_TARNAME "yasm"
#define PACKAGE_VERSION "1.3.0"
#define PACKAGE_STRING "yasm 1.3.0"
#define PACKAGE_BUGREPORT "bug-yasm#tortall.net"
#define PACKAGE_URL ""
#define PACKAGE "yasm"
#define VERSION "1.3.0"
configure: exit 1
Related
I am new to Frama-C. I specifically need to use e-acsl plugin for verification purposes. I used first.i file as
int main(void) {
int x = 0;
/∗# assert x == 0; ∗/
/∗# assert x == 1; ∗/
return 0;
}
Created monitored_first.c file from first.i file using the following command.
$ frama-c -e-acsl first.i -then-last -print -ocode monitored_first.c
The main function inside the monitored_first.c looks like the one below.
int main(void)
{
int __retres;
__e_acsl_memory_init((int *)0,(char ***)0,8UL);
int x = 0;
__retres = 0;
__e_acsl_memory_clean();
return __retres;
}
It is not adding e_acsl assertion for x==1.
I tried it using the "e-acsl-gcc.sh" script , which generated the monitored_first.i file. But the main function inside monitored_first.i is same as that in monitored_first.c.
$ e-acsl-gcc.sh -c -omonitored_first.i first.i
The above command generated two executable, "a.out.e-acsl" and "a.out". It also generates some warnings when run in ubuntu 22.04 as follows:
/home/amrutha/.opam/4.11.1/bin/frama-c -remove-unused-specified-functions -machdep gcc_x86_64 '-cpp-extra-args= -std=c99 -D_DEFAULT_SOURCE -D__NO_CTYPE -D__FC_MACHDEP_X86_64 ' -no-frama-c-stdlib first.i -e-acsl -e-acsl-share=/home/amrutha/.opam/4.11.1/bin/../share/frama-c/e-acsl -then-last -print -ocode monitored_first.i
[kernel] Parsing first.i (no preprocessing)
[e-acsl] beginning translation.
[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl.h (with preprocessing)
/tmp/ppannot15ad34.c:362: warning: "__STDC_IEC_60559_BFP__" redefined
362 | #define __STDC_IEC_60559_BFP__ 201404L
|
In file included from <command-line>:
/usr/include/stdc-predef.h:39: note: this is the location of the previous definition
39 | # define __STDC_IEC_60559_BFP__ 201404L
|
/tmp/ppannot15ad34.c:363: warning: "__STDC_IEC_60559_COMPLEX__" redefined
363 | #define __STDC_IEC_60559_COMPLEX__ 201404L
|
In file included from <command-line>:
/usr/include/stdc-predef.h:49: note: this is the location of the previous definition
49 | # define __STDC_IEC_60559_COMPLEX__ 201404L
|
[e-acsl] translation done in project "e-acsl".
+ gcc -std=c99 -m64 -g -O2 -fno-builtin -fno-merge-constants -Wall -Wno-long-long -Wno-attributes -Wno-nonnull -Wno-undef -Wno-unused -Wno-unused-function -Wno-unused-result -Wno-unused-value -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-implicit-function-declaration -Wno-empty-body first.i -o a.out
+ gcc -DE_ACSL_SEGMENT_MMODEL -std=c99 -m64 -g -O2 -fno-builtin -fno-merge-constants -Wall -Wno-long-long -Wno-attributes -Wno-nonnull -Wno-undef -Wno-unused -Wno-unused-function -Wno-unused-result -Wno-unused-value -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-implicit-function-declaration -Wno-empty-body -I/home/amrutha/.opam/4.11.1/bin/../share/frama-c/e-acsl -o a.out.e-acsl monitored_first.i /home/amrutha/.opam/4.11.1/bin/../share/frama-c/e-acsl/e_acsl_rtl.c /home/amrutha/.opam/4.11.1/bin/../lib/frama-c/e-acsl/libeacsl-dlmalloc.a -lgmp -lm
In ubuntu 20.04 there is no any warning, only the end part is getting displayed. When run ./a.out.e-acsl , it simply run the code without any message, which is not supposed. The expected output should look like this:
$ ./a.out.e-acsl
first.i: In function 'main'
first.i:4: Error: Assertion failed:
The failing predicate is:
x == 1.
Aborted (core dumped)
$ echo $?
134
I tried it in ubuntu 22.04 with opam version 2.1.2 and Fragma-C 25.0
and ubuntu 20.04 with opam version 2.0.5 and Fragma-C 25.0
The same issue has been posted to Frama-C's public bug tracking and it seems the cause might have been the non-ASCII asterisk characters used in the ACSL annotations: ∗ instead of *.
I still don't understand how the comments could parse at all (my compiler gives a syntax error), but the user seems to indicate that replacing them solved the problem.
In any case, in similar situations one can either use the Frama-C GUI to open the parsed file and check if Frama-C recognizes the ACSL annotations (they should show up in the CIL normalized code), or try other analyses, e.g. running frama-c -eva and checking that it detects the annotations.
I managed to compile openssl-1.0.2o (using nasm-2.13.03) like shown here:
https://wiki.qt.io/Building_Qt_Desktop_for_Windows_with_MSVC
However trying to build the Qt-Source already fails when trying to configure using the following command (it works without ssl/openssl):
C:/qt-everywhere-src-5.11.1/configure -platform win32-msvc2017 -prefix win32-msvc2017 -opensource -confirm-license -debug-and-release -force-debug-info -nomake examples -nomake tests -skip qtwebengine -skip qt3d -I C:\openssl-1.0.2o\out32dll -L C:\openssl-1.0.2o\out32dll -ssl -openssl
with the following Error in command line:
Note: No wayland-egl support detected. Cross-toolkit compatibility disabled.
ERROR: Feature 'openssl' was enabled, but the pre-condition '!features.securetransport && (features.openssl-linked || libs.openssl_headers)' failed.
ERROR: Feature 'ssl' was enabled, but the pre-condition 'config.winrt || features.securetransport || features.openssl' failed.
the config.log reveals it fails because of an "alloca.h"
Command line: -platform win32-msvc2017 -prefix win32-msvc -opensource -confirm-license -debug-and-release -force-debug-info -nomake examples -nomake tests -skip qtwebengine -skip qt3d -I C:\openssl-1.0.2o\out32dll -L C:\openssl-1.0.2o\out32dll -ssl -openssl
loaded result for config test config.qtbase.tests.verifyspec
+ cd /d C:\qt_build\config.tests\verifyspec && C:\qt_build\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" "QMAKE_LIBDIR += C:\\openssl-1.0.2o\\out32dll" "INCLUDEPATH += C:\\openssl-1.0.2o\\out32dll" C:/Entwicklung/qt-everywhere-src-5.11.1/qtbase/config.tests/verifyspec
+ cd /d C:\qt_build\config.tests\verifyspec && set MAKEFLAGS=& jom clean && set MAKEFLAGS=& jom
> jom 1.1.2 - empower your cores
> del verifyspec.obj
> del verifyspec.exp verifyspec.vc.pdb verifyspec.ilk verifyspec.idb
> C:\qt_build\config.tests\verifyspec\verifyspec.exp konnte nicht gefunden werden
> jom 1.1.2 - empower your cores
> cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zi -MDd -W0 -EHsc /Fdverifyspec.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -IC:\qt-everywhere-src-5.11.1\qtbase\config.tests\verifyspec -I. -IC:\openssl-1.0.2o\out32dll -IC:\qt-everywhere-src-5.11.1\qtbase\mkspecs\win32-msvc -Fo #C:\Users\msrei\AppData\Local\Temp\verifyspec.obj.5420.0.jom
> verifyspec.cpp
> link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:verifyspec.exe #C:\Users\msrei\AppData\Local\Temp\verifyspec.exe.5420.328.jom
test config.qtbase.tests.verifyspec succeeded
loaded result for config test config.qtbase.tests.architecture
+ cd /d C:\qt_build\config.tests\arch && C:\qt_build\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" "QMAKE_LIBDIR += C:\\openssl-1.0.2o\\out32dll" "INCLUDEPATH += C:\\openssl-1.0.2o\\out32dll" C:/Entwicklung/qt-everywhere-src-5.11.1/qtbase/config.tests/arch
+ cd /d C:\qt_build\config.tests\arch && set MAKEFLAGS=& jom clean && set MAKEFLAGS=& jom
> jom 1.1.2 - empower your cores
> del arch.obj
> del arch.exp arch.vc.pdb arch.ilk arch.idb
> C:\qt_build\config.tests\arch\arch.exp konnte nicht gefunden werden
> jom 1.1.2 - empower your cores
> cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zi -MDd -W0 -EHsc /Fdarch.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -IC:\qt-everywhere-src-5.11.1\qtbase\config.tests\arch -I. -IC:\openssl-1.0.2o\out32dll -IC:\qt-everywhere-src-5.11.1\qtbase\mkspecs\win32-msvc -Fo #C:\Users\msrei\AppData\Local\Temp\arch.obj.12860.0.jom
> arch.cpp
> link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:arch.exe #C:\Users\msrei\AppData\Local\Temp\arch.exe.12860.94.jom
Detected architecture: i386 (sse sse2)
test config.qtbase.tests.architecture gave result i386
loaded result for config test config.qtbase.tests.sse2
+ cd /d C:\qt_build\config.tests\x86_simd && C:\qt_build\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" "QMAKE_LIBDIR += C:\\openssl-1.0.2o\\out32dll" "INCLUDEPATH += C:\\openssl-1.0.2o\\out32dll" "CONFIG+=add_cflags" "DEFINES+=NO_ATTRIBUTE" "SIMD=sse2" C:/Entwicklung/qt-everywhere-src-5.11.1/qtbase/config.tests/x86_simd
+ cd /d C:\qt_build\config.tests\x86_simd && set MAKEFLAGS=& jom clean && set MAKEFLAGS=& jom
> jom 1.1.2 - empower your cores
> del main.obj
> del x86_simd.exp x86_simd.vc.pdb x86_simd.ilk x86_simd.idb
> C:\qt_build\config.tests\x86_simd\x86_simd.exp konnte nicht gefunden werden
> jom 1.1.2 - empower your cores
> cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -arch:SSE2 -Zi -MDd -W0 -EHsc /Fdx86_simd.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -DNO_ATTRIBUTE -DQT_COMPILER_SUPPORTS_SSE2 -IC:\qt-everywhere-src-5.11.1\qtbase\config.tests\x86_simd -I. -IC:\openssl-1.0.2o\out32dll -IC:\qt-everywhere-src-5.11.1\qtbase\mkspecs\win32-msvc -Fo #C:\Users\msrei\AppData\Local\Temp\main.obj.11032.0.jom
> main.cpp
> link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:x86_simd.exe #C:\Users\msrei\AppData\Local\Temp\x86_simd.exe.11032.109.jom
test config.qtbase.tests.sse2 succeeded
loaded result for config test config.qtbase.tests.aesni
+ cd /d C:\qt_build\config.tests\x86_simd && C:\qt_build\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" "QMAKE_LIBDIR += C:\\openssl-1.0.2o\\out32dll" "INCLUDEPATH += C:\\openssl-1.0.2o\\out32dll" "CONFIG+=add_cflags" "DEFINES+=NO_ATTRIBUTE" "SIMD=aesni" C:/Entwicklung/qt-everywhere-src-5.11.1/qtbase/config.tests/x86_simd
+ cd /d C:\qt_build\config.tests\x86_simd && set MAKEFLAGS=& jom clean && set MAKEFLAGS=& jom
> jom 1.1.2 - empower your cores
> del main.obj
> del x86_simd.exp x86_simd.vc.pdb x86_simd.ilk x86_simd.idb
> jom 1.1.2 - empower your cores
> cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -arch:SSE2 -Zi -MDd -W0 -EHsc /Fdx86_simd.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -DNO_ATTRIBUTE -DQT_COMPILER_SUPPORTS_AESNI -IC:\qt-everywhere-src-5.11.1\qtbase\config.tests\x86_simd -I. -IC:\openssl-1.0.2o\out32dll -IC:\qt-everywhere-src-5.11.1\qtbase\mkspecs\win32-msvc -Fo #C:\Users\msrei\AppData\Local\Temp\main.obj.16356.0.jom
> main.cpp
> link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:x86_simd.exe #C:\Users\msrei\AppData\Local\Temp\x86_simd.exe.16356.93.jom
test config.qtbase.tests.aesni succeeded
loaded result for config test config.qtbase.tests.alloca_h
+ cd /d C:\qt_build\config.tests\alloca_h && C:\qt_build\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" "QMAKE_LIBDIR += C:\\openssl-1.0.2o\\out32dll" "INCLUDEPATH += C:\\openssl-1.0.2o\\out32dll" C:/Entwicklung/qt_build/config.tests/alloca_h
+ cd /d C:\qt_build\config.tests\alloca_h && set MAKEFLAGS=& jom clean && set MAKEFLAGS=& jom
> jom 1.1.2 - empower your cores
> del main.obj
> C:\qt_build\config.tests\alloca_h\main.obj konnte nicht gefunden werden
> del alloca_h.exp alloca_h.vc.pdb alloca_h.ilk alloca_h.idb
> C:\qt_build\config.tests\alloca_h\alloca_h.exp konnte nicht gefunden werden
> jom 1.1.2 - empower your cores
> cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zi -MDd -W0 -EHsc /Fdalloca_h.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -I. -IC:\openssl-1.0.2o\out32dll -IC:\qt-everywhere-src-5.11.1\qtbase\mkspecs\win32-msvc -Fo #C:\Users\msrei\AppData\Local\Temp\main.obj.14548.0.jom
> main.cpp
> main.cpp(2): fatal error C1083: Datei (Include) kann nicht ge”ffnet werden: "alloca.h": No such file or directory
> jom: C:\qt_build\config.tests\alloca_h\Makefile [main.obj] Error 2
test config.qtbase.tests.alloca_h FAILED
It worked using openssl 1.0.2 configured like this:
CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x86
perl Configure VC-WIN32 --prefix=C:/openssl
nmake -f ms/ntdll.mak
nmake -f ms/ntdll.mak install
and this configure:
D:/qt-everywhere-src-5.10.0/configure -platform win32-msvc2017 -prefix win32-msvc2017 -opensource -confirm-license -debug-and-release -force-debug-info -nomake examples -nomake tests -skip qtwebengine -skip qt3d -ssl -openssl-linked OPENSSL_PREFIX=C:\openssl
for using it in a Qt-Project with MSVC2017 add this to your projects .pro file
win32-msvc* {
LIBS += -LC:/openssl/lib/ -llibeay32
LIBS += -LC:/openssl/lib/ -lssleay32
INCLUDEPATH += C:/openssl/include
}
I don't know about Qt 5.10, but for 5.11.1, the following works - open a CMD prompt and run vcvarsall first, of course.
build-openssl.bat
#set SRC=openssl-1.0.2o
#if "%VSCMD_ARG_TGT_ARCH%"=="x86" (
#set BITS=32
#set DST=OpenSSL-Win32
#set CONFIG=VC-WIN32
#set SETUP=ms\do_nasm
) else if "%VSCMD_ARG_TGT_ARCH%"=="x64" (
#set BITS=64
#set DST=OpenSSL-Win64
#set CONFIG=VC-WIN64A
#set SETUP=ms\do_win64a
) else goto no_vscmd
#echo Building %SRC% for %BITS% bits.
#echo - Downloading
#perl ^
-e "use LWP::Simple;" ^
-e "mirror('https://www.openssl.org/source/%SRC%.tar.gz', '%SRC%.tar.gz');"
#echo - Decompressing
#if not exist %SRC%.tar.gz goto no_archive
#rmdir /S /Q %SRC% %DST% 2>NUL
#7z x -bsp2 -y %SRC%.tar.gz >NUL && ^
7z x -bsp2 -y %SRC%.tar >NUL && ^
del %SRC%.tar
#if errorlevel 1 goto unpack_failed
#if not exist %SRC% goto no_source
#echo - Building
#pushd %SRC%
#perl Configure %CONFIG% --prefix=%~dp0..\%DST% && ^
call %SETUP% && ^
nmake -f ms\nt.mak init && ^
jom -f ms\nt.mak "CC=cl /FS" && ^
jom -f ms\nt.mak test && ^
nmake -f ms\nt.mak install || goto build_failed
#popd
#rmdir /S /Q %SRC%
#echo Build has succeeded.
#goto :eof
:no_archive
#echo Error: can't find %SRC%.tar.gz - the download has failed :(
#exit /b 1
:unpack_failed
#echo Error: unpacking has failed.
#exit /b %errorlevel%
:no_source
#echo Error: can't find %SRC%\
#exit /b 1
:build_failed
#echo The build had failed.
#popd
#exit /b 2
:no_vscmd
#echo Use vcvars-32 or vcvars-64 to set up the Visual Studio
#echo build environment first.
#exit /b 100
Then, to build Qt 5.11.1, I use the following configuration:
-opensource
-confirm-license
-force-debug-info
-debug-and-release
-ltcg
-openssl
-qt-zlib
-qt-libpng
-qt-libjpeg
-plugin-sql-sqlite
-mp
OPENSSL_PREFIX="c:\foo\OpenSSL-Win32"
-nomake examples
-make-tool jom
-platform win32-msvc
-opengl dynamic
-no-iconv
-no-dbus
Where foo is whatever folder you happened to run build-openssl.bat in.
Ensure that you have jom in the path, otherwise you'll hate the whole process. The latest jom is at: http://download.qt.io/official_releases/jom/jom.zip
The script to add all the tools into your path (so that you don't have to set it globally):
toolpaths.bat
#set V_7ZIP=%ProgramFiles%\7-Zip
#set V_PERL64=C:\Perl64
#set V_PERL32=C:\Perl
#set V_PYTHON27=C:\Python27
#set V_NASM=%ProgramFiles%\NASM
#set V_NASM32=%ProgramFiles(x86)%\NASM
#set V_SMARTGIT32=%ProgramFiles(x86)%\SmartGit
#set V_SMARTGIT=%ProgramFiles%\SmartGit
#set V_CMAKE=%ProgramFiles%\CMake
#set V_CMAKE32=%ProgramFiles(x86)%\CMake
#set V_VS2015=2015
#set V_VS2015COMNTOOLS=%VS140COMNTOOLS%
#set V_VS2017COMNTOOLS=%VS150COMNTOOLS%
#if not exist "%V_7ZIP%\7z.exe" goto no_7zip
#call :append_path "%V_7ZIP%"
#goto has_7zip
:no_7zip
#echo Warning: 7-Zip not installed. OpenSSL will not build.
:has_7zip
#if not exist "%V_PERL64%\bin" goto no_perl64
#if not exist "%V_PERL64%\site\bin" goto no_perl_site64
#call :append_path "%V_PERL64%\site\bin"
:no_perl_site64
#call :append_path "%V_PERL64%\bin"
#goto has_perl
:no_perl64
#if not exist "%V_PERL32%\bin" goto no_perl
#if not exist "%V_PERL32%\site\bin" goto no_perl_site32
#call :append_path "%V_PERL32%\site\bin"
:no_perl_site32
#call :append_path "%V_PERL32%\bin"
#goto has_perl
:no_perl
#echo Warning: Perl not installed. Qt will not build.
:has_perl
#if not exist "%V_PYTHON27%" goto no_python
#call :append_path "%V_PYTHON27%"
#goto has_python
:no_python
#echo Warning: Python 2.7 not installed. Qt will not build.
:has_python
:check_nasm
#if not exist "%V_NASM%\nasm.exe" goto check_nasm32
#call :append_path "%V_NASM%"
#goto has_nasm
:check_nasm32
#if not exist "%V_NASM32%\nasm.exe" goto no_nasm
#call :append_path "%V_NASM32%"
#goto has_nasm
:no_nasm
#echo Warning: NASM not installed. OpenSSL will not build.
:has_nasm
:check_git
#if not exist "%V_SMARTGIT%\git\bin" goto check_git32
#call :append_path "%V_SMARTGIT%\git\bin"
#goto has_git
:check_git32
#if not exist "%V_SMARTGIT32%\git\bin" goto no_git
#call :append_path "%V_SMARTGIT32%\git\bin"
#goto has_git
:no_git
#echo Warning: SmartGit not installed. Qt WebEngine might not build.
:has_git
:check_cmake
#if not exist "%V_CMAKE%\bin\cmake.exe" goto check_cmake32
#call :append_path "%V_CMAKE%\bin"
#goto has_cmake
:check_cmake32
#if not exist "%V_CMAKE32%\bin\cmake.exe" goto no_cmake
#call :append_path "%V_CMAKE32%\bin"
#goto has_cmake
:no_cmake
#echo Info: CMake not installed. This is without consequences.
:has_cmake
:: configure gyp overrides for msvs 2017 express
#if not exist "%VS150COMNTOOLS%\VsDevCmd.bat" goto no_vs2017gyp
#call :set_path V_VS2017 "%VS150COMNTOOLS%\..\.."
#echo Info: Found MSVS 2017 at "%V_VS2017%"
#set GYP_MSVS_VERSION=2017
#set GYP_MSVS_OVERRIDE_PATH=%V_VS2017%
#goto no_vs2015gyp
:no_vs2017gyp
:: configure gyp overrides for msvs 2015 express
#if not exist "%VS140COMNTOOLS%\..\IDE\WDExpress.exe" goto no_vs2015gyp
#call :set_path V_VS2015 "%VS140COMNTOOLS%\..\.."
#echo Info: Found MSVS Express 2015 at "%V_VS2015%"
#set GYP_MSVS_VERSION=2015
#set GYP_MSVS_OVERRIDE_PATH=%V_VS2015%
:no_vs2015gyp
#exit /b
:append_path
#echo %PATH%|find "%~1">nul || PATH %PATH%;%~1
#goto :eof
:set_path
#set %1=%~f2
#goto :eof
Here's what I've done today to solve this particular problem and build Qt 5.11.1 shared libraries with OpenSSL and MySQL support:
Download OpenSSL 1.0.2L precompiled binaries from npcglib.org, make sure to choose the version suited for your specific MS compiler (VS 2017);
Install MySQL Connector/C v6.1.6 (v6.1.11 is more recent, but I haven't tried it);
After extracting the OpenSSL package to c:\openssl, the following commands ran successfully:
set OPENSSL_CONF=C:\openssl\ssl\openssl.cnf
configure -shared -debug-and-release -opensource -confirm-license -sql-mysql -opengl dynamic -platform win32-msvc2017 -prefix C:\Qt\qt5.11.1-msvc2017-shared -nomake tests -nomake examples -I "C:\Program Files (x86)\MySQL\MySQL Connector.C 6.1\include" -L "C:\Program Files (x86)\MySQL\MySQL Connector.C 6.1\lib" -ssl -openssl -I "C:\openssl\include" -L "C:\openssl\lib"
nmake
nmake install
I recommend building Qt sources from the Github repository, simply because if things go wrong and you need to clean the build directory, nmake clean is super super slow. To properly clean the building directory and do it fast when building from the git repository, you can get rid of all temporary files with:
rm config.cache
git submodule foreach --recursive "git clean -dfx"
And your system should be ready to execute another configure.
Here's a compilation problem.
The project works on Linux and OS X and must be ported to Windows. It uses RInside and Rcpp librairies.
To do so, I installed R, Cygwin and RTools and compiled the R librairies. It worked fine.
Now the problem:
The QMake step happens with no error, but the building exits with an error. I get this :
error: [1]: No such file or directory
error: Rcpp:::CxxFlags(): Invalid argument
error: [1]: No such file or directory
error: RInside:::CxxFlags(): Invalid argument
Long version:
17:18:36: Débute : "C:\Qt\Qt5.7.0\Tools\mingw530_32\bin\mingw32-make.exe"
C:/Qt/Qt5.7.0/5.7/mingw53_32/bin/qmake.exe -spec win32-g++ CONFIG+=debug CONFIG+=qml_debug -o Makefile ../IHM/Rpp-IHM.pro
C:/Qt/Qt5.7.0/Tools/mingw530_32/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'C:/Users/Henri/Desktop/rpp/src/build-Rpp-IHM-Desktop_Qt_5_7_0_MinGW_32bit-Debug'
g++ -c -pipe -fno-keep-inline-dllexport -Wno-unused-parameter -IC:/Progz/R-3.3.2/include -IC:/Progz/R-3.3.2/include/x64 [1] "Rcpp:::CxxFlags()" [1] "RInside:::CxxFlags()" -g -std=gnu++11 -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I../IHM -I. -I../computer/RppUtils -I../computer/RppEngine -IC:/Qt/Qt5.7.0/5.7/mingw53_32/include -IC:/Qt/Qt5.7.0/5.7/mingw53_32/include/QtSvg -IC:/Qt/Qt5.7.0/5.7/mingw53_32/include/QtWidgets -IC:/Qt/Qt5.7.0/5.7/mingw53_32/include/QtGui -IC:/Qt/Qt5.7.0/5.7/mingw53_32/include/QtANGLE -IC:/Qt/Qt5.7.0/5.7/mingw53_32/include/QtCore -Idebug -IC:/Qt/Qt5.7.0/5.7/mingw53_32/mkspecs/win32-g++ -o debug/WrapperRppR.o ../IHM/WrapperRppR.cpp
g++.exe: error: [1]: No such file or directory
g++.exe: error: Rcpp:::CxxFlags(): Invalid argument
g++.exe: error: [1]: No such file or directory
g++.exe: error: RInside:::CxxFlags(): Invalid argument
Makefile.Debug:2914: recipe for target 'debug/WrapperRppR.o' failed
mingw32-make[1]: *** [debug/WrapperRppR.o] Error 1
mingw32-make[1]: Leaving directory 'C:/Users/Henri/Desktop/rpp/src/build-Rpp-IHM-Desktop_Qt_5_7_0_MinGW_32bit-Debug'
Makefile:34: recipe for target 'debug' failed
mingw32-make: *** [debug] Error 2
17:18:40: Le processus "C:\Qt\Qt5.7.0\Tools\mingw530_32\bin\mingw32-make.exe" s'est terminé avec le code 2.
Erreur lors de la compilation/déploiement du projet Rpp-IHM (kit : Desktop Qt 5.7.0 MinGW 32bit)
When executing step "Make"
In fact, it seems that it doesn't find RInside.h, in spite of the fact that the R_HOM variable is set to the directory of R (here : C:/Progz/R-3.3.2/).
Here's a part of the .pro file:
QT += core gui svg
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = Rpp-IHM
TEMPLATE = app
CONFIG += c++11
CONFIG += -v
## comment this out if you need a different version of R,
## and set set R_HOME accordingly as an environment variable
## R_HOM = $$system($$R_HOME)
win32 {
#A specifier
R_HOM = "C:/Progz/R-3.3.2/"
}
unix:!macx {
# WORKING
R_HOM = "/usr/lib/R/"
}
macx {
# WORKING
R_HOM = "/Library/Frameworks/R.framework/Resources/"
}
## include headers and libraries for R
RCPPFLAGS = $$system($$R_HOM/bin/R CMD config --cppflags)
RLDFLAGS = $$system($$R_HOM/bin/R CMD config --ldflags)
RBLAS = $$system($$R_HOM/bin/R CMD config BLAS_LIBS)
RLAPACK = $$system($$R_HOM/bin/R CMD config LAPACK_LIBS)
## if you need to set an rpath to R itself, also uncomment
RRPATH = -Wl,-rpath,R_HOME/lib
## include headers and libraries for Rcpp interface classes
RCPPINCL = $$system($$R_HOM/bin/Rscript -e \'Rcpp:::CxxFlags\(\)\')
RCPPLIBS = $$system($$R_HOM/bin/Rscript -e \'Rcpp:::LdFlags\(\)\')
## for some reason when building with Qt we get this each time
## so we turn unused parameter warnings off
RCPPWARNING = -Wno-unused-parameter
## include headers and libraries for RInside embedding classes
RINSIDEINCL = $$system($$R_HOM/bin/Rscript -e \'RInside:::CxxFlags\(\)\')
RINSIDELIBS = $$system($$R_HOM/bin/Rscript -e \'RInside:::LdFlags\(\)\')
INCLUDEPATH = ../computer/RppUtils
INCLUDEPATH += ../computer/RppEngine
## compiler etc settings used in default make rules
QMAKE_CXXFLAGS += $$RCPPWARNING $$RCPPFLAGS $$RCPPINCL $$RINSIDEINCL
QMAKE_LFLAGS += $$RLDFLAGS $$RBLAS $$RLAPACK $$RCPPLIBS $$RINSIDELIBS
QMAKE_CXXFLAGS_WARN_OFF += -Wunused-parameter
What did I miss?
Error in invoking target 'install' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oraInventory/logs/installActions2015-02-28_02-22-27AM.log' for details.
I get the above error when I run the installer of Oracle 11g release 2
The log is as follows
INFO: gcc -o ctxhx -m64 -L/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/stubs/ /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ctxhx.o -L/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -lm -ldl -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut -lsc_ch -lsc_fi -lctxhx -lc -Wl,-rpath,/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -ls
INFO: nls11 -lnls11 -lcore11 -lnls11
INFO: /usr/bin/ld: /u01/app/oracle/product/11.2.0/dbhome_1/lib//libcore11.a(sslss.o): undefined reference to symbol 'pthread_sigmask##GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
INFO: collect2: error: ld returned 1 exit status
INFO: make: *** [ctxhx] Error 1
INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'install' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oraInventory/logs/installActions2015-02-28_02-22-27AM.log' for details.
Please help me fix this... Thanks in advance.
Try to link with g++ instead of gcc.
cd /bin
mv gcc gcc.save
ln -s g++ gcc
and run the installer again.
Create the following script the run it a root during install the click retry
# Fix ctx/lib/ins_ctx.mk
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
cat << __EOF__ > /tmp/memcpy_wrap.c
#include <stddef.h>
#include <string.h>
asm (".symver wrap_memcpy, memcpy#GLIBC_2.14");
void *wrap_memcpy(void *dest, const void *src, size_t n) {
return memcpy(dest, src, n);
}
__EOF__
if [[ -e "${ORACLE_HOME}/ctx/lib/ins_ctx.mk" ]]; then
sed -i -e 's/\$(INSO_LINK)/\$(INSO_LINK) -Wl,--wrap=memcpy_wrap \$(ORACLE_HOME)\/ctx\/lib\/memcpy_wrap.o/g' ${ORACLE_HOME}/ctx/lib/ins_ctx.mk
gcc -c /tmp/memcpy_wrap.c -o ${ORACLE_HOME}/ctx/lib/memcpy_wrap.o && rm /tmp/memcpy_wrap.c
fi
Can anybody suggest what's going wrong with my attempted g++ 4.8.1 install on CentOS 6?
The installed compiler is g++ 4.4.7.
The make step ends shortly after this:
checking for suffix of object files... configure: error: in `/mxhome/charrison/gcc-4.8.1/gcc-4.8.1/build-gcc/x86_64-unknown-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
The config.log contains this seemingly-innocent remark concerning object file suffixes:
configure:4390: checking for suffix of object files
configure:4412: gcc -c conftest.c >&5
configure:4416: $? = 0
configure:4437: result: o
The word 'error' occurs in the config.log file here (and my g++4.4 would certainly fail the test):
configure:4936: checking whether g++ accepts -static-libstdc++ -static-libgcc
configure:4953: g++ -o conftest -g -O2 -static-libstdc++ -static-libgcc conftest.cpp >&5
g++: unrecognized option '-static-libstdc++'
conftest.cpp:11:2: error: #error -static-libstdc++ not implemented
configure:4953: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h. */
|
| #if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
| #error -static-libstdc++ not implemented
| #endif
But I don't know if that's fatal or not.
Suggestions?
This is probably obsolete, but I ran into the same problem and could fix it by installing libstdc.