icx(Intel® oneAPI DPC++/C++ Compiler) don't generate files with a.o extension which use the ELF format? - intel

when I use ifx to link object which is generate by icx, it report some error.as follows
ifx -O3 -ffast-math -nofor-main -DSPEC_CPU_LP64 flincs.o fsettle.fppized.o fshake.o innerf.o flincsd.o fsettled.fppized.o fshaked.o 3dview.o atomprop.o binio.o block_tx.o bondfree.o buffer.o calcgrid.o calch.o calcmu.o calcvir.o clincs.o comlib.o confio.o constr.o copyrite.o coupling.o csettle.o disre.o do_fit.o do_gct.o dummies.o ebin.o edsam.o enxio.o ewald.o ewald_util.o f77_wrappers.o fatal.o ffscanf.o fftgrid.o filenm.o fnbf.o force.o futil.o gbutil.o gctio.o genalg.o ghat.o glaasje.o gmx_system_xdr.o gmxfio.o ifunc.o index.o init.o init_sh.o innerc.o invblock.o ionize.o libxdrf.o macros.o main.o maths.o matio.o md.o mdatom.o mdebin.o mdrun.o memdump.o minimize.o mshift.o mvdata.o mvxvf.o names.o network.o nrama.o nrjac.o nrnb.o ns.o nsb.o nsgrid.o orires.o pargs.o pbc.o pdbio.o pme.o poisson.o pppm.o princ.o psgather.o pssolve.o psspread.o pull.o pullinit.o pullio.o pullutil.o rando.o random.o rbin.o rdgroup.o readinp.o relax_sh.o replace.o rmpbc.o shakef.o shift_util.o sim_util.o smalloc.o sortwater.o splittop.o stat.o statutil.o strdb.o string2.o symtab.o synclib.o tables.o tgroup.o tpxio.o trnio.o trxio.o txtdump.o typedefs.o update.o vcm.o vec.o viewit.o wgms.o wman.o wnblist.o writeps.o xdrd.o xtcio.o xutils.o xvgr.o -lm -o gromacs
3dview.o: file not recognized: file format not recognized
I find the object generate by icx is not ELF Format.
root#lanlanxiyiji-PC:/home/speccpu2006-v1.0.1/benchspec/CPU2006/400.perlbench/run/build_base_x86_64_linux.0000# icx -c -o 3dview.o -DSPEC_CPU -DNDEBUG -DPERL_CORE -std=gnu89 -flto -O3 -ffast-math -funroll-loops -fomit-frame-pointer -ftree-vectorize -fprefetch-loop-arrays -DSPEC_CPU_LP64 -DSPEC_CPU_LINUX_X64 -include math.h -fno-strict-aliasing 3dview.c
icx: warning: optimization flag '-fprefetch-loop-arrays' is not supported [-Wignored-optimization-argument]
root#lanlanxiyiji-PC:/home/speccpu2006-v1.0.1/benchspec/CPU2006/400.perlbench/run/build_base_x86_64_linux.0000# readelf -h 3dview.o
readelf: Error: Not an ELF file - it has the wrong magic bytes at the start
icx version
Intel(R) oneAPI DPC++/C++ Compiler 2023.0.0 (2023.0.0.20221201)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm
Configuration file: /opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/../bin/icx.cfg
why ifx can't recoginzed it? I try that use ifort to link ,it works.
how to generate ELF Format use icx?

I have found the result.
Because compile with -flto will not generate the object which use the ELF format.
I add -flto with ifx to fix that. it works.

Related

__e_acsl_assert is not getting added for all given assert in .i file

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.

Errors in qvariant.h during compilation

I am getting a variety of compilation errors relating to qvariant when compiling my program. I have not modified the Qt libs/source, so why am I getting these errors? (What do they mean)
/Qt/5.9.9/gcc_64/mkspecs/linux-g++ -o tl_ansi_codes.o /mydir/tl_ansi_formatting/tl_ansi_codes.cpp
In file included from /opt/Qt/5.9.9/gcc_64/include/QtCore/qlocale.h:43,
from /opt/Qt/5.9.9/gcc_64/include/QtCore/qtextstream.h:46,
from /opt/Qt/5.9.9/gcc_64/include/QtCore/qdebug.h:49,
from /opt/Qt/5.9.9/gcc_64/include/QtCore/QDebug:1,
from /mydir/tl_ansi_formatting/tl_ansi_codes.cpp:9:
/opt/Qt/5.9.9/gcc_64/include/QtCore/qvariant.h: In constructor ‘QVariant::QVariant(QVariant&&)’:
/opt/Qt/5.9.9/gcc_64/include/QtCore/qvariant.h:265:25: warning: implicitly-declared ‘constexpr QVariant::Private& QVariant::Private::operator=(const QVariant::Private&)’ is deprecated [-Wdeprecated-copy]
265 | { other.d = Private(); }
| ^
/opt/Qt/5.9.9/gcc_64/include/QtCore/qvariant.h:380:16: note: because ‘QVariant::Private’ has user-provided ‘QVariant::Private::Private(const QVariant::Private&)’
380 | inline Private(const Private &other) Q_DECL_NOTHROW
| ^~~~~~~
g++ -c -pipe -g -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -Dproject_vls=1 -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I/mydir//project -I. -
/opt/Qt/5.9.9/gcc_64/include/QtCore/qvariant.h: In constructor ‘QVariant::QVariant(QVariant&&)’:
/opt/Qt/5.9.9/gcc_64/include/QtCore/qvariant.h:265:25: warning: implicitly-declared ‘constexpr QVariant::Private& QVariant::Private::operator=(const QVariant::Private&)’ is deprecated [-Wdeprecated-copy]
265 | { other.d = Private(); }
The best solution available is just to ignore it, Or upgrade to qt6.
To Ignore the warning, just add
QMAKE_CXXFLAGS += -Wno-deprecated-copy
In all of your .pro files.
This will ignore all the deprecated-copy warning; you can also ignore for debug or release build using QMAKE_CXXFLAGS_DEBUG or QMAKE_CXXFLAGS_RELEASE.

Qt using "mingw32-make" in command line with .exe file generation error

I have used qmake -project and qmake in command line so far with the configuration of .pro file, Makefile.Debug and Makefile.Release has been worked out. But error happens when I try to use mingw32-make in command line to generate .exe for my project.
Errors imply that in line:
64 ****missing separator ...Stop
But in this case, I've set all the environment variables well for both mingw32-make.exe and qmake.exe.
Someone says I should add a Tab instead of a space in makefile.release at where the error happens(the error place only has a "<<"), but other errors happen when I make the change. And I think since the Makefiles are all generated automatically by the qmake command, so maybe that's not the real problem...
Here's the Error info and part of the Makefile.Release file for reference
:
Setting up environment for Qt usage...
Remember to call vcvarsall.bat to complete environment setup!
D:\qt5.10\5.9.2\msvc2017_64>cd D:\qtProgramme\helloworld
D:\qtProgramme\helloworld>mingw32-make
mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory 'D:/qtProgramme/helloworld'
Makefile.Release:64: *** missing separator. Stop.
mingw32-make[1]: Leaving directory 'D:/qtProgramme/helloworld'
Makefile:36: recipe for target 'release' failed
mingw32-make: *** [release] Error 2
D:\qtProgramme\helloworld>
And here is the Makefile.Release:
#############################################################################
# Makefile for building: helloworld
# Generated by qmake (3.1) (Qt 5.9.2)
# Project: helloworld.pro
# Template: app
#############################################################################
MAKEFILE = Makefile.Release
####### Compiler, tools and options
CC = cl
CXX = cl
DEFINES = -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DNDEBUG
CFLAGS = -nologo -Zc:wchar_t -FS -Zc:strictStrings -O2 -MD -W3 -w44456 -w44457 -w44458 $(DEFINES)
CXXFLAGS = -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc $(DEFINES)
INCPATH = -I. -I. -I..\..\qt5.10\5.9.2\msvc2017_64\include -I..\..\qt5.10\5.9.2\msvc2017_64\include\QtWidgets -I..\..\qt5.10\5.9.2\msvc2017_64\include\QtGui -I..\..\qt5.10\5.9.2\msvc2017_64\include\QtANGLE -I..\..\qt5.10\5.9.2\msvc2017_64\include\QtCore -Irelease -I..\..\qt5.10\5.9.2\msvc2017_64\mkspecs\win32-msvc
LINKER = link
LFLAGS = /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"
LIBS = /LIBPATH:D:\qt5.10\5.9.2\msvc2017_64\lib D:\qt5.10\5.9.2\msvc2017_64\lib\qtmain.lib /LIBPATH:C:\utils\my_sql\my_sql\lib /LIBPATH:C:\utils\postgresql\pgsql\lib shell32.lib D:\qt5.10\5.9.2\msvc2017_64\lib\Qt5Widgets.lib D:\qt5.10\5.9.2\msvc2017_64\lib\Qt5Gui.lib D:\qt5.10\5.9.2\msvc2017_64\lib\Qt5Core.lib
QMAKE = D:\qt5.10\5.9.2\msvc2017_64\bin\qmake.exe
IDC = idc
IDL = midl /NOLOGO
ZIP = zip -r -9
DEF_FILE =
RES_FILE =
COPY = copy /y
SED = $(QMAKE) -install sed
COPY_FILE = copy /y
COPY_DIR = xcopy /s /q /y /i
DEL_FILE = del
DEL_DIR = rmdir
MOVE = move
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
INSTALL_FILE = copy /y
INSTALL_PROGRAM = copy /y
INSTALL_DIR = xcopy /s /q /y /i
QINSTALL = D:\qt5.10\5.9.2\msvc2017_64\bin\qmake.exe -install qinstall
QINSTALL_PROGRAM = D:\qt5.10\5.9.2\msvc2017_64\bin\qmake.exe -install qinstall -exe
####### Output directory
OBJECTS_DIR = release
####### Files
SOURCES = main.cpp
OBJECTS = release\main.obj
DIST = main.cpp
QMAKE_TARGET = helloworld
DESTDIR = release\ #avoid trailing-slash linebreak
TARGET = helloworld.exe
DESTDIR_TARGET = release\helloworld.exe
####### Implicit rules
.SUFFIXES: .c .cpp .cc .cxx
{.}.cpp{release\}.obj::
$(CXX) -c $(CXXFLAGS) $(INCPATH) -Forelease\ #<<
$<
<<
{.}.cc{release\}.obj::
$(CXX) -c $(CXXFLAGS) $(INCPATH) -Forelease\ #<<
$<
<<
{.}.cxx{release\}.obj::
$(CXX) -c $(CXXFLAGS) $(INCPATH) -Forelease\ #<<
$<
<<
{.}.c{release\}.obj::
$(CC) -c $(CFLAGS) $(INCPATH) -Forelease\ #<<
$<
<<
####### Build rules
first: all
all: Makefile.Release $(DESTDIR_TARGET)
$(DESTDIR_TARGET): $(OBJECTS)
$(LINKER) $(LFLAGS) /MANIFEST:embed /OUT:$(DESTDIR_TARGET) #<<
release\main.obj
$(LIBS)
<<
qmake: FORCE
#$(QMAKE) -o Makefile.Release helloworld.pro
qmake_all: FORCE
You are using a MSVC build of Qt. That can be deduced by the installation path (D:\qt5.10\5.9.2\msvc2017_64) and the output "Remember to call vcvarsall.bat to complete environment setup!".
QMake from an MSVC build of Qt produces MSVC-compatible makefiles (by default at least).
Install the MinGW build of Qt, and you can use the MinGW toolchain for your project.

Building a project under Windows including Rcpp and RInside

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?

Make error when trying to build QT app for an "Open Embedded2 device

I am getting this error when trying to build my app:
make: Wl,-rpath-link,: Command not found
My Makefile looks like this, which is a generated file useing qmake program in the OE toolchain.
#############################################################################
# Makefile for building: app_qt
# Generated by qmake (2.01a) (Qt 4.8.1) on: Tue Jun 26 17:49:26 2012
# Project: app_qt.pro
# Template: app
# Command: /usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/bin/qmake -o Makefile ap_qt.pro
#############################################################################
####### Compiler, tools and options
CC = $(OE_QMAKE_CC)
CXX = $(OE_QMAKE_CXX)
DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB
CFLAGS = -pipe -pipe $(OE_QMAKE_CFLAGS) -fpermissive -O2 -Wall -W -Wall -W -D_REENTRANT $(DEFINES)
CXXFLAGS = -pipe -pipe -pipe $(OE_QMAKE_CFLAGS) $(OE_QMAKE_CXXFLAGS) -O2 -O2 -Wall -W -Wall -W -Wall -W -D_REENTRANT $(DEFINES)
INCPATH = -I/usr/local/oecore-i686/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/share/qtopia/mkspecs/linux-g++ -I. -I$(OE_QMAKE_INCDIR_QT)/QtCore -I$(OE_QMAKE_INCDIR_QT)/QtGui -I$(OE_QMAKE_INCDIR_QT) -I. -Isrc -Isrc/screens -Isrc/Lists -Isrc/widgets -Isrc/FileIO -Isrc/communication -IQSerialDevice/src -I.
LINK = $(OE_QMAKE_LINK)
LFLAGS = $(OE_QMAKE_LDFLAGS) -Wl,-rpath-link,$(OE_QMAKE_LIBDIR_QT)
LIBS = $(SUBLIBS) -L$(OE_QMAKE_LIBDIR_QT) -lQtGuiE -lQtCoreE -lpthread
AR = $(OE_QMAKE_AR) cqs
RANLIB =
QMAKE = /usr/local/oecore-i686/sysroots/i686-oesdk-linux/usr/bin/qmake
TAR = tar -cf
COMPRESS = gzip -9f
COPY = cp -f
SED = sed
COPY_FILE = $(COPY)
COPY_DIR = $(COPY) -r
STRIP = $(OE_QMAKE_STRIP)
INSTALL_FILE = install -m 644 -p
INSTALL_DIR = $(COPY_DIR)
INSTALL_PROGRAM = install -m 755 -p
DEL_FILE = rm -f
SYMLINK = ln -f -s
DEL_DIR = rmdir
MOVE = mv -f
CHK_DIR_EXISTS= test -d
MKDIR = mkdir -p
####### Output directory
OBJECTS_DIR = ./
Does anybody recognize the error and know why it emerges?
Thanks in advance. :)
The error is generated because the variable $(OE_QMAKE_LIBDIR_QT) doesn't exist. So
-Wl,-rpath-link,$(OE_QMAKE_LIBDIR_QT)
becomes
-Wl,-rpath-link,
Are you setting the other variables like $(OE_QMAKE_CC) and $(OE_QMAKE_CXX), and if so, where? You should add the variable above to this list. It should point to the lib subdir of your Qt installation.
This could be for example (here it's Qt version 4.8.0): /usr/local/Trolltech/Qt-4.8.0/lib.
In a local installation in your home directory, it may look like this: ~/qt/Desktop/Qt/4.8.1/gcc/lib.
For Qtopia, you should look in /usr/local/oecore-i686/sysroots...

Resources