Have some troubles in compiling from source https://github.com/greenbone/openvas.git
cmake was done successfully, but make failed with:
/usr/bin/ld: /opt/gvm/lib/libgvm_util.so: undefined reference to `MQTTClient_connect5'
/usr/bin/ld: /opt/gvm/lib/libgvm_util.so: undefined reference to `MQTTClient_publishMessage5'
/usr/bin/ld: /opt/gvm/lib/libgvm_util.so: undefined reference to `MQTTClient_freeMessage'
/usr/bin/ld: /opt/gvm/lib/libgvm_util.so: undefined reference to `MQTTClient_free'
/usr/bin/ld: /opt/gvm/lib/libgvm_util.so: undefined reference to `MQTTClient_createWithOptions'
/usr/bin/ld: /opt/gvm/lib/libgvm_util.so: undefined reference to `MQTTClient_waitForCompletion'
/usr/bin/ld: /opt/gvm/lib/libgvm_util.so: undefined reference to `MQTTProperties_free'
/usr/bin/ld: /opt/gvm/lib/libgvm_util.so: undefined reference to `MQTTClient_receive'
/usr/bin/ld: /opt/gvm/lib/libgvm_util.so: undefined reference to `MQTTClient_disconnect5'
/usr/bin/ld: /opt/gvm/lib/libgvm_util.so: undefined reference to `MQTTClient_subscribe5'
/usr/bin/ld: /opt/gvm/lib/libgvm_util.so: undefined reference to `MQTTClient_strerror'
/usr/bin/ld: /opt/gvm/lib/libgvm_util.so: undefined reference to `MQTTClient_destroy'
/usr/bin/ld: /opt/gvm/lib/libgvm_util.so: undefined reference to `MQTTClient_unsubscribe'
/usr/bin/ld: /opt/gvm/lib/libgvm_util.so: undefined reference to `MQTTResponse_free'
collect2: error: ld returned 1 exit status
make[2]: *** [nasl/CMakeFiles/openvas-nasl-lint.dir/build.make:86: nasl/openvas-nasl-lint] Error 1
make[1]: *** [CMakeFiles/Makefile2:284: nasl/CMakeFiles/openvas-nasl-lint.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
Have installed from source Paho_MQTT_C_Client and have in /usr/local/lib/ all the libpaho-mqtt3 libs:
libpaho-mqtt3a.so libpaho-mqtt3as.so.1 libpaho-mqtt3c.so.1.3 python3.8
libpaho-mqtt3a.so.1 libpaho-mqtt3as.so.1.3 libpaho-mqtt3cs.so
libpaho-mqtt3a.so.1.3 libpaho-mqtt3c.so libpaho-mqtt3cs.so.1
libpaho-mqtt3as.so libpaho-mqtt3c.so.1 libpaho-mqtt3cs.so.1.3
nm libpaho-mqtt3c.so:
0000000000016b9d T MQTTClient_connect5
000000000001828c T MQTTClient_publishMessage5
00000000000152f4 T MQTTClient_freeMessage
000000000001536a T MQTTClient_free
00000000000187eb T MQTTClient_createWithOptions
0000000000018465 T MQTTClient_waitForCompletion
000000000001301b T MQTTProperties_free
00000000000171f9 T MQTTClient_receive
0000000000016c60 T MQTTClient_disconnect5
0000000000017cd5 T MQTTClient_subscribe5
0000000000018be9 T MQTTClient_strerror
00000000000150dc T MQTTClient_destroy
000000000001783f T MQTTClient_unsubscribe
00000000000153b7 T MQTTResponse_free
Here the CMakeLists:
cmake_minimum_required (VERSION 3.0)
message ("-- Configuring the Scanner...")
# VERSION: Always include major, minor and patch level.
project (openvas
VERSION 21.10.0
LANGUAGES C)
if (POLICY CMP0005)
cmake_policy (SET CMP0005 NEW)
endif (POLICY CMP0005)
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
if (NOT CMAKE_BUILD_TYPE)
set (CMAKE_BUILD_TYPE Debug)
endif (NOT CMAKE_BUILD_TYPE)
OPTION (ENABLE_COVERAGE "Enable support for coverage analysis" OFF)
## Retrieve git revision (at configure time)
include (GetGit)
if (NOT CMAKE_BUILD_TYPE MATCHES "Release")
if (EXISTS "${CMAKE_SOURCE_DIR}/.git/")
if (GIT_FOUND)
Git_GET_REVISION(${CMAKE_SOURCE_DIR} ProjectRevision)
set (GIT_REVISION "~git-${ProjectRevision}")
endif (GIT_FOUND)
endif (EXISTS "${CMAKE_SOURCE_DIR}/.git/")
endif (NOT CMAKE_BUILD_TYPE MATCHES "Release")
## make format
message (STATUS "Looking for clang-format...")
find_program (CLANG_FORMAT clang-format)
if (CLANG_FORMAT)
message (STATUS "Looking for clang-format... ${CLANG_FORMAT}")
add_custom_target(format COMMAND ${CLANG_FORMAT} "-i" "./src/*.c" "./misc/*.c"
"./nasl/*.c" "./src/*.h" "./misc/*.h" "./nasl/*.h"
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")
else (CLANG_FORMAT)
message (STATUS "clang-format not found...")
endif (CLANG_FORMAT)
# Set dev version if this is a development version and not a full release,
# unset (put value 0 or delete line) before a full release and reset after.
set (PROJECT_DEV_VERSION 1)
# If PROJECT_DEV_VERSION is set, the version string will be set to:
# "major.minor.patch~dev${PROJECT_DEV_VERSION}${GIT_REVISION}"
# If PROJECT_DEV_VERSION is NOT set, the version string will be set to:
# "major.minor.patch${GIT_REVISION}"
# For CMAKE_BUILD_TYPE "Release" the git revision will be empty.
if (PROJECT_DEV_VERSION)
set (PROJECT_VERSION_SUFFIX "~dev${PROJECT_DEV_VERSION}")
endif (PROJECT_DEV_VERSION)
set (PROJECT_VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}${PROJECT_VERSION_SUFFIX}${GIT_REVISION}")
## CPack configuration
set (CPACK_CMAKE_GENERATOR "Unix Makefiles")
set (CPACK_GENERATOR "TGZ")
set (CPACK_INSTALL_CMAKE_PROJECTS ".;openvas;ALL;/")
set (CPACK_MODULE_PATH "")
set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
set (CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md")
set (CPACK_RESOURCE_FILE_WELCOME "${CMAKE_SOURCE_DIR}/README.md")
set (CPACK_SOURCE_GENERATOR "TGZ")
set (CPACK_SOURCE_TOPLEVEL_TAG "")
set (CPACK_SYSTEM_NAME "")
set (CPACK_TOPLEVEL_TAG "")
set (CPACK_PACKAGE_VERSION "${PROJECT_VERSION_STRING}${PROJECT_VERSION_GIT}")
set (CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${CPACK_PACKAGE_VERSION}")
set (CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${CPACK_PACKAGE_VERSION}")
set (CPACK_PACKAGE_VENDOR "The OpenVAS Project")
set (CPACK_SOURCE_IGNORE_FILES
"${CMAKE_BINARY_DIR}"
"/.git/"
"swp$"
"nasl/nasl_grammar.tab.c"
"nasl/nasl_grammar.tab.h"
"nasl/nasl_grammar.output"
)
include (CPack)
## Variables
if (SYSCONF_INSTALL_DIR)
set (SYSCONFDIR "${SYSCONF_INSTALL_DIR}")
endif (SYSCONF_INSTALL_DIR)
if (NOT SYSCONFDIR)
set (SYSCONFDIR "/etc")
endif (NOT SYSCONFDIR)
if (NOT EXEC_PREFIX)
set (EXEC_PREFIX "${CMAKE_INSTALL_PREFIX}")
endif (NOT EXEC_PREFIX)
if (NOT BINDIR)
set (BINDIR "${EXEC_PREFIX}/bin")
endif (NOT BINDIR)
if (NOT SBINDIR)
set (SBINDIR "${EXEC_PREFIX}/sbin")
endif (NOT SBINDIR)
if (NOT LIBDIR)
set (_DEFAULT_LIBRARY_INSTALL_DIR lib)
if (EXISTS "${EXEC_PREFIX}/lib32/" AND CMAKE_SIZEOF_VOID_P EQUAL 4)
set (_DEFAULT_LIBRARY_INSTALL_DIR lib32)
endif (EXISTS "${EXEC_PREFIX}/lib32/" AND CMAKE_SIZEOF_VOID_P EQUAL 4)
if (EXISTS "${CMAKE_INSTALL_PREFIX}/lib64/" AND CMAKE_SIZEOF_VOID_P EQUAL 8)
set (_DEFAULT_LIBRARY_INSTALL_DIR lib64)
endif (EXISTS "${CMAKE_INSTALL_PREFIX}/lib64/" AND CMAKE_SIZEOF_VOID_P EQUAL 8)
set( LIBRARY_INSTALL_DIR "${_DEFAULT_LIBRARY_INSTALL_DIR}")
set (LIBDIR "${EXEC_PREFIX}/${LIBRARY_INSTALL_DIR}")
message ("Set LIBDIR to ${LIBDIR}")
endif (NOT LIBDIR)
if (NOT LOCALSTATEDIR)
set (LOCALSTATEDIR "/var")
endif (NOT LOCALSTATEDIR)
if (NOT DATADIR)
set (DATADIR "${CMAKE_INSTALL_PREFIX}/share")
endif (NOT DATADIR)
if (NOT OPENVAS_RUN_DIR)
set (OPENVAS_RUN_DIR "/run/ospd")
endif (NOT OPENVAS_RUN_DIR)
set (OPENVAS_DATA_DIR "${DATADIR}/openvas")
set (OPENVAS_STATE_DIR "${LOCALSTATEDIR}/lib/openvas")
if (NOT OPENVAS_FEED_LOCK_PATH)
set (OPENVAS_FEED_LOCK_PATH "${OPENVAS_STATE_DIR}/feed-update.lock")
endif (NOT OPENVAS_FEED_LOCK_PATH)
add_definitions (-DOPENVAS_FEED_LOCK_PATH="${OPENVAS_FEED_LOCK_PATH}")
if (NOT GVM_LOG_DIR)
set (GVM_LOG_DIR "${LOCALSTATEDIR}/log/gvm")
endif (NOT GVM_LOG_DIR)
set (OPENVAS_SYSCONF_DIR "${SYSCONFDIR}/openvas")
set (GVM_SYSCONF_DIR "${SYSCONFDIR}/gvm")
if (NOT OPENVAS_NVT_DIR)
set (OPENVAS_NVT_DIR "${OPENVAS_STATE_DIR}/plugins")
endif (NOT OPENVAS_NVT_DIR)
if (NOT GVM_ACCESS_KEY_DIR)
set (GVM_ACCESS_KEY_DIR "${GVM_SYSCONF_DIR}")
endif (NOT GVM_ACCESS_KEY_DIR)
if (NOT OPENVAS_GPG_BASE_DIR)
set (OPENVAS_GPG_BASE_DIR "${OPENVAS_SYSCONF_DIR}")
endif (NOT OPENVAS_GPG_BASE_DIR)
set (OPENVAS_LIB_INSTALL_DIR "${LIBDIR}")
set (OPENVAS_CONF "${OPENVAS_SYSCONF_DIR}/openvas.conf")
set (NVT_TIMEOUT "320")
set (SCANNER_NVT_TIMEOUT "36000")
message ("-- Install prefix: ${CMAKE_INSTALL_PREFIX}")
## Version
set (OPENVAS_VERSION "${PROJECT_VERSION_STRING}")
# Configure Doxyfile with version number
configure_file (doc/Doxyfile.in doc/Doxyfile #ONLY)
configure_file (doc/Doxyfile_full.in doc/Doxyfile_full #ONLY)
configure_file (doc/Doxyfile_xml.in doc/Doxyfile_xml #ONLY)
configure_file (doc/openvas.8.in doc/openvas.8 #ONLY)
configure_file (VERSION.in VERSION #ONLY)
configure_file (tools/greenbone-nvt-sync.in tools/greenbone-nvt-sync #ONLY)
configure_file (src/openvas_log_conf.cmake_in src/openvas_log.conf)
## Testing
enable_testing ()
add_custom_target (tests
DEPENDS attack-test pcap-test)
## Program
if (ENABLE_COVERAGE)
set (COVERAGE_FLAGS "--coverage")
endif (ENABLE_COVERAGE)
set (HARDENING_FLAGS "-Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fstack-protector")
set (LINKER_HARDENING_FLAGS "-Wl,-z,relro -Wl,-z,now")
# The "-D_FILE_OFFSET_BITS=64 -DLARGEFILE_SOURCE=1" is necessary for GPGME!
set (GPGME_C_FLAGS "-D_FILE_OFFSET_BITS=64 -DLARGEFILE_SOURCE=1")
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${HARDENING_FLAGS}")
set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${COVERAGE_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GPGME_C_FLAGS} -Wall -D_BSD_SOURCE -D_ISOC99_SOURCE -D_SVID_SOURCE -D_DEFAULT_SOURCE")
if (NOT SKIP_SRC)
add_subdirectory (misc)
add_subdirectory (nasl)
add_subdirectory (src)
endif (NOT SKIP_SRC)
## Documentation
add_subdirectory (doc)
## Tests
enable_testing ()
## End
Any clue how to sort it out?
You need to build gvm-libs from main branch too with libpaho support. But building from main branch is strongly unrecommended. Main branches are development branches an can break every time. Please use the stable branches instead.
Related
I'm lost. This is the compile line (a huge one):
mpif90 -autodouble -I./ -I../src -I../modules -I../../messy/bmil -I../../messy/echam5/bmil -I../../messy/echam5/smil -I../../messy/smil -I../../messy/smcl -I../../mpiom/src -I../../mpiom/src_hamocc -I/gpfs/software/juwels/stages/2018a/software/netCDF-Fortran/4.4.4-ipsmpi-2018a/include -I/gpfs/software/juwels/stages/2018a/software/netCDF-Fortran/4.4.4-ipsmpi-2018a/include -I/gpfs/software/juwels/stages/2018a/software/YAXT/0.6.0-ipsmpi-2018a/include -I../include -g -traceback -debug all -check all -fpp -O0 -fp-model precise -fp-speculation=safe -fno-alias -no-ansi-alias -lpthread -save-temps -DMESSY -DLITTLE_ENDIAN -D_LINUX64 -DPNCREGRID -DMESSYTIMER -DMESSYGRID -DECHAM5 -DE5302 -DHAVE_LIBNETCDF64 -DFFT991 -DALBMELTHI -DMPIOM_13B -DHAVE_YAXT -DMECCA_TAG -c ../src/tf2.f90
mpif90 -Wl,-rpath,/gpfs/software/juwels/stages/2018a/software/YAXT/0.6.0-ipsmpi-2018a/lib -o ../../bin/echam5.exe auxhyb.o clsst.o clveg.o conteq.o control.o dyn.o ewd.o fftd.o ffti.o geopot.o gpc.o hdiff.o helmo.o inhysi.o inictl.o inidoc.o init_decomposition.o initemp.o initialize.o ioinitial.o iorestart.o labrun.o legtri.o ltd.o lti.o m_alloc_mods.o master.o maxwind.o messy_a2o_e5.o messy_aeropt_si.o messy_airsea_si.o messy_airtraf_e5.o messy_bioburn_si.o messy_bufly_e5.o messy_cam_aerocld_e5.o messy_cam_drydepo_e5.o messy_cam_e5.o messy_cam_sfflux_e5.o messy_ch4_si.o messy_chemglue_si.o messy_clams_si.o messy_clamsbmix_si.o messy_clamscirrus_si.o messy_clamsmix_si.o messy_clamsrdfrc_si.o messy_clamssedi_si.o messy_clamstraj_si.o messy_cloud_si.o messy_cloudj_si.o messy_cloudopt_si.o messy_contrail_si.o messy_convect_si.o messy_cvtrans_si.o messy_d14co_e5.o messy_ddep_si.o messy_dissoc_si.o messy_diumod_si.o messy_dradon_si.o messy_e4chem_si.o messy_e5vdiff_si.o messy_ec2cosmo_e5.o messy_gec_si.o messy_gmxe_si.o messy_gwave_si.o messy_h2o_e5.o messy_h2oiso_e5.o messy_hamocc_e5.o messy_hd_e5.o messy_jval_si.o messy_jvst_si.o messy_lnox_si.o messy_m7_si.o messy_made3_si.o messy_made_si.o messy_main_blather_bi.o messy_main_bmluse_bi.o messy_main_channel_bi.o messy_main_control_bi.o messy_main_data_bi.o messy_main_decomp_bi.o messy_main_grid_bi.o messy_main_grid_netcdf_bi.o messy_main_import_bi.o messy_main_import_grid_bi.o messy_main_import_grid_tools_bi.o messy_main_import_lt_bi.o messy_main_import_rgt_bi.o messy_main_import_ts_bi.o messy_main_mpi_bi.o messy_main_qtimer_bi.o messy_main_rnd_bi.o messy_main_switch_bi.o messy_main_tendency_bi.o messy_main_timer_bi.o messy_main_tools_bi.o messy_main_tracer_bi.o messy_main_tracer_family_bi.o messy_main_tracer_mem_bi.o messy_main_tracer_pdef_bi.o messy_main_transform_bi.o messy_mecca_aero_si.o messy_mecca_khet_si.o messy_mecca_mem_si.o messy_mecca_poly_si.o messy_mecca_si.o messy_mecca_tag_fcm_si.o messy_mecca_tag_si.o messy_megan_si.o messy_mlocean_e5.o messy_mmd2way_child_si.o messy_mmd2way_parent_si.o messy_mmd2way_si.o messy_mmforce_e5.o messy_mpiom_e5.o messy_mpiom_mem_e5.o messy_mpiom_tools_e5.o messy_msbm_si.o messy_mtskip_si.o messy_ncregrid_interface.o messy_ncregrid_tools_bi.o messy_o3orig_si.o messy_offemis_si.o messy_onemis_si.o messy_oracle_si.o messy_orbit_si.o messy_orogw_si.o messy_otphysc_e5.o messy_plumegas_si.o messy_ptrac_si.o messy_ptracini_si.o messy_qbo_si.o messy_rad_fubrad_si.o messy_rad_si.o messy_relax_e5.o messy_s4d_si.o messy_satsims_e5.o messy_scalc_si.o messy_scav_si.o messy_scout_si.o messy_sedi_si.o messy_sorbit_si.o messy_spacenox_e5.o messy_spe_e5.o messy_surface_si.o messy_tagging_si.o messy_tbudget_si.o messy_timepos_e5.o messy_tnudge_si.o messy_trexp_si.o messy_tropop_si.o messy_trsync_si.o messy_ubcnox_e5.o messy_vahr_e5.o messy_vaxtra_si.o messy_vertex_si.o messy_viso_si.o mo_advection.o mo_base_types.o mo_buffer_fft.o mo_call_trans.o mo_clim.o mo_constants.o mo_control.o mo_decomposition.o mo_diag_tendency.o mo_diff.o mo_doctor.o mo_exception.o mo_fft991.o mo_fft992.o mo_field.o mo_filename.o mo_forecast_switches.o mo_gaussgrid.o mo_geoloc.o mo_gl1.o mo_global_op.o mo_grib.o mo_hdiff.o mo_hyb.o mo_interpo.o mo_io.o mo_kind.o mo_legendre.o mo_linked_list.o mo_machine.o mo_memory_base.o mo_memory_f.o mo_memory_g1a.o mo_memory_g1b.o mo_memory_g2a.o mo_memory_g2b.o mo_memory_g3a.o mo_memory_g3b.o mo_memory_gl.o mo_memory_ls.o mo_memory_sp.o mo_memory_streams.o mo_mpi.o mo_namelist.o mo_netcdf.o mo_netcdfstream.o mo_nmi.o mo_nudging.o mo_nudging_buffer.o mo_nudging_constants.o mo_nudging_correl.o mo_nudging_init.o mo_nudging_io.o mo_nudging_pattern.o mo_nudging_sst.o mo_nudging_utils.o mo_parameters.o mo_parrrtm.o mo_port_test.o mo_real_timer.o mo_scan_buffer.o mo_semi_impl.o mo_semi_lagrangian.o mo_specfun.o mo_spectral.o mo_spitfire.o mo_sst.o mo_test_trans.o mo_time_base.o mo_time_control.o mo_time_conversion.o mo_time_event.o mo_time_manager.o mo_timer.o mo_timestamp.o mo_tmp_buffer.o mo_tpcore.o mo_tr_allgather.o mo_tr_gather.o mo_transpose.o mo_truncation.o mo_upper_sponge.o mo_util_string.o pgrad.o physc.o pres.o presf.o readfld.o scan1.o scan2.o sccd.o scctp.o setdyn.o si1.o si2.o stepon.o sudif.o sym1.o sym2.o tf1.o tf2.o mo_echam_yaxt.o -L../../lib -lmpiom -L../../lib -lsupport -L../lib -lmessy -lisorropia -lqhull -L/gpfs/software/juwels/stages/2018a/software/netCDF/4.6.1-ipsmpi-2018a/lib64 -lnetcdf -L/gpfs/software/juwels/stages/2018a/software/netCDF-Fortran/4.4.4-ipsmpi-2018a/lib -lnetcdff -L/gpfs/software/juwels/stages/2018a/software/YAXT/0.6.0-ipsmpi-2018a/lib -lyaxt -L../../lib -llapack -L../../lib -lblas
I tried changing the order of the libraries, adding extra -lyaxt before, after, etc. The library does contain the symbol:
19:16:00|cstao05#juwels09:[__LINUX64]> readelf -s /gpfs/software/juwels/stages/2018a/software/YAXT/0.6.0-ipsmpi-2018a/lib/libyaxt.so | grep xt_finalize
28: 0000000000000000 0 FUNC GLOBAL DEFAULT UND xt_finalized
45: 0000000000000000 0 FUNC GLOBAL DEFAULT UND xt_finalize
126: 000000000000c230 32 FUNC GLOBAL DEFAULT 13 xt_core_mp_xt_finalized_
671: 0000000000000000 0 FUNC GLOBAL DEFAULT UND xt_finalized
740: 0000000000000000 0 FUNC GLOBAL DEFAULT UND xt_finalize
947: 000000000000c230 32 FUNC GLOBAL DEFAULT 13 xt_core_mp_xt_finalized_
As well as
nm /gpfs/software/juwels/stages/2018a/software/YAXT/0.6.0-ipsmpi-2018a/lib/libyaxt.so | grep xt_finalize
000000000000c230 T xt_core_mp_xt_finalized_
U xt_finalize
U xt_finalized
I have read all the other answers here, and I still can't figure this one out.
The missing library was lyaxt_c (I missed the _c). Fixing the Makefile worked.
I'm trying to compile the PCRE library into a testing executable.
The documentation states that running Make and then configure should generate the library.
In the PCRE source directory:
Make
./configure
gcc -o test test.c -L . -lpcre
However the following error returns:
/usr/bin/ld: cannot find -pcre
collect2: error: ld returned 1 exit status
Note: I've also tried flag -libpcre. I was able to sucessfully run this on MacOS (seperately compiled but same library source code and same testiing source code).
Directory Contents:
132html pcre16_globals.c
aclocal.m4 pcre16_jit_compile.c
AUTHORS pcre16_maketables.c
ChangeLog pcre16_newline.c
CheckMan pcre16_ord2utf16.c
CleanTxt pcre16_printint.c
cmake pcre16_refcount.c
CMakeLists.txt pcre16_string_utils.c
compile pcre16_study.c
config-cmake.h.in pcre16_tables.c
config.guess pcre16_ucd.c
config.h pcre16_utf16_utils.c
config.h.generic pcre16_valid_utf16.c
config.h.in pcre16_version.c
config.log pcre16_xclass.c
config.status pcre32_byte_order.c
config.sub pcre32_chartables.c
configure pcre32_compile.c
configure.ac pcre32_config.c
COPYING pcre32_dfa_exec.c
depcomp pcre32_exec.c
Detrail pcre32_fullinfo.c
dftables.c pcre32_get.c
doc pcre32_globals.c
HACKING pcre32_jit_compile.c
INSTALL pcre32_maketables.c
install-sh pcre32_newline.c
libpcre16.pc pcre32_ord2utf32.c
libpcre16.pc.in pcre32_printint.c
libpcre32.pc pcre32_refcount.c
libpcre32.pc.in pcre32_string_utils.c
libpcrecpp.la pcre32_study.c
libpcrecpp_la-pcrecpp.lo pcre32_tables.c
libpcrecpp_la-pcrecpp.o pcre32_ucd.c
libpcrecpp_la-pcre_scanner.lo pcre32_utf32_utils.c
libpcrecpp_la-pcre_scanner.o pcre32_valid_utf32.c
libpcrecpp_la-pcre_stringpiece.lo pcre32_version.c
libpcrecpp_la-pcre_stringpiece.o pcre32_xclass.c
libpcrecpp.pc pcre_byte_order.c
libpcrecpp.pc.in pcre_chartables.c
libpcre.la pcre_chartables.c.dist
libpcre_la-pcre_byte_order.lo pcre_compile.c
libpcre_la-pcre_byte_order.o pcre-config
libpcre_la-pcre_chartables.lo pcre_config.c
libpcre_la-pcre_chartables.o pcre-config.in
libpcre_la-pcre_compile.lo pcrecpparg.h
libpcre_la-pcre_compile.o pcrecpparg.h.in
libpcre_la-pcre_config.lo pcrecpp.cc
libpcre_la-pcre_config.o pcrecpp.h
libpcre_la-pcre_dfa_exec.lo pcrecpp_internal.h
libpcre_la-pcre_dfa_exec.o pcrecpp_unittest
libpcre_la-pcre_exec.lo pcrecpp_unittest.cc
libpcre_la-pcre_exec.o pcrecpp_unittest-pcrecpp_unittest.o
libpcre_la-pcre_fullinfo.lo pcredemo
libpcre_la-pcre_fullinfo.o pcredemo.c
libpcre_la-pcre_get.lo pcre_dfa_exec.c
libpcre_la-pcre_get.o pcre_exec.c
libpcre_la-pcre_globals.lo pcre_fullinfo.c
libpcre_la-pcre_globals.o pcre_get.c
libpcre_la-pcre_jit_compile.lo pcregexp.pas
libpcre_la-pcre_jit_compile.o pcre_globals.c
libpcre_la-pcre_maketables.lo pcregrep
libpcre_la-pcre_maketables.o pcregrep.c
libpcre_la-pcre_newline.lo pcregrep-pcregrep.o
libpcre_la-pcre_newline.o pcre.h
libpcre_la-pcre_ord2utf8.lo pcre.h.generic
libpcre_la-pcre_ord2utf8.o pcre.h.in
libpcre_la-pcre_refcount.lo pcre_internal.h
libpcre_la-pcre_refcount.o pcre_jit_compile.c
libpcre_la-pcre_string_utils.lo pcre_jit_test.c
libpcre_la-pcre_string_utils.o pcre_maketables.c
libpcre_la-pcre_study.lo pcre_newline.c
libpcre_la-pcre_study.o pcre_ord2utf8.c
libpcre_la-pcre_tables.lo pcreposix.c
libpcre_la-pcre_tables.o pcreposix.h
libpcre_la-pcre_ucd.lo pcre_printint.c
libpcre_la-pcre_ucd.o pcre_refcount.c
libpcre_la-pcre_valid_utf8.lo pcre_scanner.cc
libpcre_la-pcre_valid_utf8.o pcre_scanner.h
libpcre_la-pcre_version.lo pcre_scanner_unittest
libpcre_la-pcre_version.o pcre_scanner_unittest.cc
libpcre_la-pcre_xclass.lo pcre_scanner_unittest-pcre_scanner_unittest.o
libpcre_la-pcre_xclass.o pcre_stringpiece.cc
libpcre.pc pcre_stringpiece.h
libpcre.pc.in pcre_stringpiece.h.in
libpcreposix.la pcre_stringpiece_unittest
libpcreposix_la-pcreposix.lo pcre_stringpiece_unittest.cc
libpcreposix_la-pcreposix.o pcre_stringpiece_unittest-pcre_stringpiece_unittest.o
libpcreposix.pc pcre_string_utils.c
libpcreposix.pc.in pcre_study.c
libtool pcre_tables.c
LICENCE pcretest
ltmain.sh pcre_test.c
m4 pcretest.c
Makefile pcretest-pcre_printint.o
Makefile.am pcretest-pcretest.o
Makefile.in pcre_ucd.c
makevp.bat pcre_valid_utf8.c
makevp_c.txt pcre_version.c
makevp_l.txt pcre_xclass.c
missing perltest.pl
NEWS PrepareRelease
NON-AUTOTOOLS-BUILD README
NON-UNIX-USE RunGrepTest
pcre16_byte_order.c RunTest
pcre16_chartables.c RunTest.bat
pcre16_compile.c sljit
pcre16_config.c stamp-h1
pcre16_dfa_exec.c test.c
pcre16_exec.c testdata
pcre16_fullinfo.c ucp.h
pcre16_get.c
Try -lpcre not -libpcre when you link. -l assumes the lib prefix and takes the name of the lib so -lpcre looks for libpcre
I'm trying to add to the output executable filename of a autotool project the version number.
With libs is very simple: you can add -version-info option to Makefile.am
How can I do the same thing with bin_PROGRAMS
So far I tried:
HELLO_VERSION_CURRENT = 1
HELLO_VERSION_REVISION = 2
HELLO_VERSION_AGE = 1
bin_PROGRAMS = hello_${HELLO_VERSION_CURRENT}_${HELLO_VERSION_REVISION}_${HELLO_VERSION_AGE}
hello_SOURCES = hello.c
In this way it doesn't compile because of SOURCES must be: hello_1_2_1_SOURCES, but I don't know how to tell to automake that.
Another way could be to run a post-build script: how can I add post-build action to Makefile.am?
How about using some preset autoconf output variables in your Makefile.am:
bin_PROGRAMS = hello_#PACKAGE_VERSION#
hello_#PACKAGE_VERSION#_SOURCES = hello.c
The preceding works for me on Darwin with autoconf v2.69 and automake v1.15.
Using the PACKAGE_VERSION from within your source code is even easier: #include "config.h", that's where all the autoconf output variables are #defined. E.g.:
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.ac by autoheader. */
...
#define PACKAGE_VERSION "1.2.3-rc-whatever"
Reference:
https://www.gnu.org/software/autoconf/manual/autoconf#Output-Variable-Index
You can do it like this:
HELLO_VERSION_CURRENT = 1
HELLO_VERSION_REVISION = 2
HELLO_VERSION_AGE = 1
bin_PROGRAMS = hello_$(HELLO_VERSION_CURRENT)_$(HELLO_VERSION_REVISION)_$(HELLO_VERSION_AGE)
hello_$(HELLO_VERSION_CURRENT)_$(HELLO_VERSION_REVISION)_$(HELLO_VERSION_AGE)_SOURCES = hello.c
Although, in that case, I'd suggest making shorter variable names...
At the end I add the following to my Makefile.am
all:
cp ./.libs/hello ./.libs/hello_${HELLO_VERSION_CURRENT}_${HELLO_VERSION_REVISION}_${HELLO_VERSION_AGE}
EDIT
I found a new solution
HELLO_VERSION_CURRENT = 1
HELLO_VERSION_REVISION = 2
HELLO_VERSION_AGE = 1
bin_PROGRAMS = hello_$(HELLO_VERSION_CURRENT)_$(HELLO_VERSION_REVISION)_$(HELLO_VERSION_AGE)
hello___HELLO_VERSION_CURRENT____HELLO_VERSION_REVISION____HELLO_VERSION_AGE__SOURCES = hello.c
hello___HELLO_VERSION_CURRENT____HELLO_VERSION_REVISION____HELLO_VERSION_AGE__CFLAGS =
hello___HELLO_VERSION_CURRENT____HELLO_VERSION_REVISION____HELLO_VERSION_AGE__LDFLAGS =
AM_CFLAGS = #hello___HELLO_VERSION_CURRENT____HELLO_VERSION_REVISION____HELLO_VERSION_AGE__CFLAGS#
AM_LDFLAGS = #hello___HELLO_VERSION_CURRENT____HELLO_VERSION_REVISION____HELLO_VERSION_AGE__LDFLAGS#
CLEANFILES = *~
I am trying to compile libcurl with Openssl & SSH2 (manually built). Here is my configure command:
./configure --with-ssl=/home/yuvi/development/openssl --with-libssh2=/home/yuvi/development/ssh --enable-debug --prefix=/home/yuvi/development/curl CPPFLAGS="-I/home/yuvi/development/openssl/include -I/home/yuvi/development/ssh/include" LDFLAGS="-L/home/yuvi/development/openssl/lib -L/home/yuvi/development/ssh/lib" PKG_CONFIG_PATH=/home/yuvi/development/openssl/lib/pkgconfig:/home/yuvi/development/ssh/lib/pkgconfig LIBS="-lssl -lssh2 -lcrypto"
And following error I am getting while libtool phase :
libtool: link: gcc -shared -fPIC -DPIC .libs/file.o .libs/timeval.o .libs/base64.o .libs/hostip.o .libs/progress.o .libs/formdata.o .libs/cookie.o .libs/http.o .libs/sendf.o .libs/ftp.o .libs/url.o .libs/dict.o .libs/if2ip.o .libs/speedcheck.o .libs/ldap.o .libs/ssluse.o .libs/version.o .libs/getenv.o .libs/escape.o .libs/mprintf.o .libs/telnet.o .libs/netrc.o .libs/getinfo.o .libs/transfer.o .libs/strequal.o .libs/easy.o .libs/security.o .libs/krb4.o .libs/curl_fnmatch.o .libs/fileinfo.o .libs/ftplistparser.o .libs/wildcard.o .libs/krb5.o .libs/memdebug.o .libs/http_chunks.o .libs/strtok.o .libs/connect.o .libs/llist.o .libs/hash.o .libs/multi.o .libs/content_encoding.o .libs/share.o .libs/http_digest.o .libs/md4.o .libs/md5.o .libs/curl_rand.o .libs/http_negotiate.o .libs/inet_pton.o .libs/strtoofft.o .libs/strerror.o .libs/hostasyn.o .libs/hostip4.o .libs/hostip6.o .libs/hostsyn.o .libs/inet_ntop.o .libs/parsedate.o .libs/select.o .libs/gtls.o .libs/sslgen.o .libs/tftp.o .libs/splay.o .libs/strdup.o .libs/socks.o .libs/ssh.o .libs/nss.o .libs/qssl.o .libs/rawstr.o .libs/curl_addrinfo.o .libs/socks_gssapi.o .libs/socks_sspi.o .libs/curl_sspi.o .libs/slist.o .libs/nonblock.o .libs/curl_memrchr.o .libs/imap.o .libs/pop3.o .libs/smtp.o .libs/pingpong.o .libs/rtsp.o .libs/curl_threads.o .libs/warnless.o .libs/hmac.o .libs/polarssl.o .libs/curl_rtmp.o .libs/openldap.o .libs/curl_gethostname.o .libs/gopher.o .libs/axtls.o .libs/idn_win32.o .libs/http_negotiate_sspi.o .libs/cyassl.o .libs/http_proxy.o .libs/non-ascii.o .libs/asyn-ares.o .libs/asyn-thread.o .libs/curl_gssapi.o .libs/curl_ntlm.o .libs/curl_ntlm_wb.o .libs/curl_ntlm_core.o .libs/curl_ntlm_msgs.o -Wl,-rpath -Wl,/home/yuvi/development/ssh/lib -Wl,-rpath -Wl,/home/yuvi/development/ssh/lib -L/home/yuvi/development/openssl/lib -L/home/yuvi/development/ssh/lib -lrt -lz -lssl /home/yuvi/development/ssh/lib/libssh2.so -lcrypto -O0 -Wl,-soname -Wl,libcurl.so.4 -o .libs/libcurl.so.4.2.0
/usr/bin/ld: /home/yuvi/development/openssl/lib/libssl.a(s2_clnt.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/home/yuvi/development/openssl/lib/libssl.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [libcurl.la] Error 1
make[2]: Leaving directory `/home/yuvi/development/curl-7.24.0/lib'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/yuvi/development/curl-7.24.0/lib'
make: *** [all-recursive] Error 1
Could anyone please help me out? What am I missing?
You need to recompile your /home/yuvi/development/openssl/lib/libssl.a with -fPIC
I have a project in Visual 2005 generated using CMake, and everytime I press F5 the linker relinks the objects, even if no modification was done. I have read other questions with similar problems, but the solution for them was:
The time of the windows was wrong. It was making the executable to be created with the time in the future. Or
The PDB created by the linker and by the compiler had the same name.
I've checked that and I don't have that problem. Also, I have another solution for the project (that was not generated by CMake) and it works fine. I've checked the properties of each project and they are similar.
This is the output generated in the BuildLog.htm:
Build Log
Build started: Project: remote4, Configuration: TTecDebug|Win32
Command Lines
Creating temporary file
"c:\advtec9\trunk\bin_sem_unittest\remote4\remote4.dir\TTecDebug\RSP00008649325832.rsp"
with contents [
/OUT:"c:\T\bin\smartclient\TTecDebug..\TSmartClient.exe" /VERSION:0.0
/LIBPATH:"C:\Qt4\lib\TTecDebug" /LIBPATH:"C:\Qt4\lib"
/LIBPATH:"C:\Qt4\plugins\imageformats\TTecDebug"
/LIBPATH:"C:\Qt4\plugins\imageformats"
/LIBPATH:"C:\Qt4\plugins\accessible\TTecDebug"
/LIBPATH:"C:\Qt4\plugins\accessible"
/LIBPATH:"C:\kdchart4\lib\TTecDebug" /LIBPATH:"C:\kdchart4\lib"
/MANIFEST:NO /NODEFAULTLIB:"LIBCMT" /DEBUG
/PDB:"c:\T\bin\smartclient\TTecDebug/../TSmartClient.pdb"
/SUBSYSTEM:WINDOWS
/IMPLIB:"c:\T\bin\smartclient\TTecDebug..\TSmartClient.lib"
/machine:X86 /ignore:4217 /ignore:4049 /debug
/LIBPATH:C:/advtec9/trunk/openssl/debug kdchartd.lib qtmaind.lib
QtCored.lib QtGuid.lib Qt3Supportd.lib QtXmld.lib qtsvgd.lib
QtNetworkd.lib QAxServerd.lib QAxContainerd.lib qgifd.lib qjpegd.lib
qtaccessiblecompatwidgetsd.lib qtaccessiblewidgetsd.lib
C:/advtec9/trunk/senhap/splogin4d.lib kernel32.lib user32.lib
gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
comdlg32.lib advapi32.lib ssleay32.lib libeay32.lib mpr.lib imm32.lib
winmm.lib ws2_32.lib msimg32.lib odbc32.lib odbccp32.lib
..\lib_comm\TTecDebug\lib_comm.lib
..\lib_getsys\TTecDebug\lib_getsys.lib
c:\T\bin\smartclient\TTecDebug..\singlesign.lib
..\lib_graphicprint\TTecDebug\lib_graphicprint.lib
..\lib\TTecDebug\lib.lib ..\lib_base\TTecDebug\lib_base.lib
..\lib_gzip\TTecDebug\lib_gzip.lib ..\web\TTecDebug\web.lib
..\third_libraries\engine_pkcs11\TTecDebug\engine_pkcs11.lib
..\third_libraries\libp11\TTecDebug\libp11.lib dbghelp.lib
".\remote4.dir\TTecDebug\main.obj"
".\remote4.dir\TTecDebug\apcombase.obj"
".\remote4.dir\TTecDebug\apexcel.obj"
".\remote4.dir\TTecDebug\approject.obj"
".\remote4.dir\TTecDebug\apword.obj"
".\remote4.dir\TTecDebug\calc.obj"
".\remote4.dir\TTecDebug\calend4.obj"
".\remote4.dir\TTecDebug\config_client.obj"
".\remote4.dir\TTecDebug\execinclient.obj"
".\remote4.dir\TTecDebug\fjs_comps_base.obj"
".\remote4.dir\TTecDebug\t4jsaction.obj"
".\remote4.dir\TTecDebug\t4jsapplication.obj"
".\remote4.dir\TTecDebug\t4jsbitmap.obj"
".\remote4.dir\TTecDebug\t4jsdisplay.obj"
".\remote4.dir\TTecDebug\t4jsdisplayarray.obj"
".\remote4.dir\TTecDebug\t4jsexpandedinput.obj"
".\remote4.dir\TTecDebug\t4jsform.obj"
".\remote4.dir\TTecDebug\t4jshelpwindow.obj"
".\remote4.dir\TTecDebug\t4jsinput.obj"
".\remote4.dir\TTecDebug\t4jsinputarray.obj"
".\remote4.dir\TTecDebug\t4jsinputcheck.obj"
".\remote4.dir\TTecDebug\t4jsinputfieldbmp.obj"
".\remote4.dir\TTecDebug\t4jsinputimage.obj"
".\remote4.dir\TTecDebug\t4jsinputradio.obj"
".\remote4.dir\TTecDebug\t4jsinputtext.obj"
".\remote4.dir\TTecDebug\t4jsmainwindow.obj"
".\remote4.dir\TTecDebug\t4jsmenu.obj"
".\remote4.dir\TTecDebug\t4jsmessagebox.obj"
".\remote4.dir\TTecDebug\t4jsmultilineinputtext.obj"
".\remote4.dir\TTecDebug\t4jspromptinput.obj"
".\remote4.dir\TTecDebug\t4jstoolbar.obj"
".\remote4.dir\TTecDebug\t4jswaitwindow.obj"
".\remote4.dir\TTecDebug\t4jswindow.obj"
".\remote4.dir\TTecDebug\qtcolortriangle.obj"
".\remote4.dir\TTecDebug\qtsingleapplication.obj"
".\remote4.dir\TTecDebug\remote_utils.obj"
".\remote4.dir\TTecDebug\rmtcli.obj"
".\remote4.dir\TTecDebug\signfunctions.obj"
".\remote4.dir\TTecDebug\talignlayout.obj"
".\remote4.dir\TTecDebug\tapplication.obj"
".\remote4.dir\TTecDebug\tbitmap.obj"
".\remote4.dir\TTecDebug\tbrowsebutton.obj"
".\remote4.dir\TTecDebug\tbtnbmp.obj"
".\remote4.dir\TTecDebug\tbutton.obj"
".\remote4.dir\TTecDebug\crazychrs.obj"
".\remote4.dir\TTecDebug\parserext.obj"
".\remote4.dir\TTecDebug\Tprinter.obj"
".\remote4.dir\TTecDebug\Tprinterfonts.obj"
".\remote4.dir\TTecDebug\ttpviewer.obj"
".\remote4.dir\TTecDebug\tcbrowse.obj"
".\remote4.dir\TTecDebug\tchartwin.obj"
".\remote4.dir\TTecDebug\tcheckbox.obj"
".\remote4.dir\TTecDebug\tcombobox.obj"
".\remote4.dir\TTecDebug\tcomponentfactory.obj"
".\remote4.dir\TTecDebug\tconnection.obj"
".\remote4.dir\TTecDebug\tconnectionsocket.obj"
".\remote4.dir\TTecDebug\tcontrol.obj"
".\remote4.dir\TTecDebug\tcorretor.obj"
".\remote4.dir\TTecDebug\tcreateinifiledialog.obj"
".\remote4.dir\TTecDebug\tdgcanvas.obj"
".\remote4.dir\TTecDebug\tdgcanvasitem.obj"
".\remote4.dir\TTecDebug\tdgcanvasview.obj"
".\remote4.dir\TTecDebug\tdgconnectorabs.obj"
".\remote4.dir\TTecDebug\tdgconnectorline.obj"
".\remote4.dir\TTecDebug\tdgconnectorpoly.obj"
".\remote4.dir\TTecDebug\tdgdocument.obj"
".\remote4.dir\TTecDebug\tdgeditor.obj"
".\remote4.dir\TTecDebug\tdgrule.obj"
".\remote4.dir\TTecDebug\tdgselectionbox.obj"
".\remote4.dir\TTecDebug\tdgshape.obj"
".\remote4.dir\TTecDebug\tdgshapeabs.obj"
".\remote4.dir\TTecDebug\tdgshapebox.obj"
".\remote4.dir\TTecDebug\tdgshapeicon.obj"
".\remote4.dir\TTecDebug\tdgundolog.obj"
".\remote4.dir\TTecDebug\tdgviewer.obj"
".\remote4.dir\TTecDebug\tdialog.obj"
".\remote4.dir\TTecDebug\teventbuffer.obj"
".\remote4.dir\TTecDebug\tfileman.obj"
".\remote4.dir\TTecDebug\tfolder.obj"
".\remote4.dir\TTecDebug\tget.obj"
".\remote4.dir\TTecDebug\tgetdados.obj"
".\remote4.dir\TTecDebug\tgraphicprint_client.obj"
".\remote4.dir\TTecDebug\tgroupbox.obj"
".\remote4.dir\TTecDebug\tguicommand.obj"
".\remote4.dir\TTecDebug\thelpbaloon.obj"
".\remote4.dir\TTecDebug\thelpdialog.obj"
".\remote4.dir\TTecDebug\thotkeys.obj"
".\remote4.dir\TTecDebug\tibrowser.obj"
".\remote4.dir\TTecDebug\tinifile_client.obj"
".\remote4.dir\TTecDebug\tlibmanager.obj"
".\remote4.dir\TTecDebug\tlistbox.obj"
".\remote4.dir\TTecDebug\tlocallog.obj"
".\remote4.dir\TTecDebug\tmenu.obj"
".\remote4.dir\TTecDebug\tmenubar.obj"
".\remote4.dir\TTecDebug\tmenupopup.obj"
".\remote4.dir\TTecDebug\tmessage.obj"
".\remote4.dir\TTecDebug\tmessagebar.obj"
".\remote4.dir\TTecDebug\tmessagebox.obj"
".\remote4.dir\TTecDebug\tmessagehook.obj"
".\remote4.dir\TTecDebug\tmeter.obj"
".\remote4.dir\TTecDebug\tmodaldialog.obj"
".\remote4.dir\TTecDebug\tmscalendar.obj"
".\remote4.dir\TTecDebug\tmscalendgrid.obj"
".\remote4.dir\TTecDebug\tmsgrun.obj"
".\remote4.dir\TTecDebug\tmsselbr.obj"
".\remote4.dir\TTecDebug\tmultiget.obj"
".\remote4.dir\TTecDebug\tnanfor.obj"
".\remote4.dir\TTecDebug\tobjecthook.obj"
".\remote4.dir\TTecDebug\tolecontainer.obj"
".\remote4.dir\TTecDebug\tpageview.obj"
".\remote4.dir\TTecDebug\tpanel.obj"
".\remote4.dir\TTecDebug\tparametersform.obj"
".\remote4.dir\TTecDebug\tprinterhook.obj"
".\remote4.dir\TTecDebug\tprinterspool.obj"
".\remote4.dir\TTecDebug\tradiobutton.obj"
".\remote4.dir\TTecDebug\trashook.obj"
".\remote4.dir\TTecDebug\tremoteopensave.obj"
".\remote4.dir\TTecDebug\treportprinter.obj"
".\remote4.dir\TTecDebug\tresourcemanager.obj"
".\remote4.dir\TTecDebug\tsay.obj"
".\remote4.dir\TTecDebug\tsbutton.obj"
".\remote4.dir\TTecDebug\tscrollbox.obj"
".\remote4.dir\TTecDebug\tsplash.obj"
".\remote4.dir\TTecDebug\ttab.obj"
".\remote4.dir\TTecDebug\tterminal.obj"
".\remote4.dir\TTecDebug\tterminalupd.obj"
".\remote4.dir\TTecDebug\ttimer.obj"
".\remote4.dir\TTecDebug\ttoolbar.obj"
".\remote4.dir\TTecDebug\ttree.obj"
".\remote4.dir\TTecDebug\tvalue.obj"
".\remote4.dir\TTecDebug\tverticalscrollbar.obj"
".\remote4.dir\TTecDebug\twindow.obj"
".\remote4.dir\TTecDebug\tworkspace.obj"
".\remote4.dir\TTecDebug\tworkspacefolder.obj"
".\remote4.dir\TTecDebug\tworktime.obj"
".\remote4.dir\TTecDebug\waitrun.obj"
".\remote4.dir\TTecDebug\tgrid.obj"
".\remote4.dir\TTecDebug\httpclient.obj"
".\remote4.dir\TTecDebug\tpaintpanel.obj"
".\remote4.dir\TTecDebug\ttimerhook.obj"
".\remote4.dir\TTecDebug\qtsingleapplication_win.obj"
".\remote4.dir\TTecDebug\rational_robot.obj"
".\remote4.dir\TTecDebug\remote41.res"
".\remote4.dir\TTecDebug\qrc_remote4.obj"
".\remote4.dir\TTecDebug\moc_calc.obj"
".\remote4.dir\TTecDebug\moc_calend4.obj"
".\remote4.dir\TTecDebug\moc_t4jsaction.obj"
".\remote4.dir\TTecDebug\moc_t4jsapplication.obj"
".\remote4.dir\TTecDebug\moc_t4jsdisplayarray.obj"
".\remote4.dir\TTecDebug\moc_t4jsexpandedinput.obj"
".\remote4.dir\TTecDebug\moc_t4jsform.obj"
".\remote4.dir\TTecDebug\moc_t4jshelpwindow.obj"
".\remote4.dir\TTecDebug\moc_t4jsinput.obj"
".\remote4.dir\TTecDebug\moc_t4jsinputarray.obj"
".\remote4.dir\TTecDebug\moc_t4jsinputcheck.obj"
".\remote4.dir\TTecDebug\moc_t4jsinputfieldbmp.obj"
".\remote4.dir\TTecDebug\moc_t4jsinputimage.obj"
".\remote4.dir\TTecDebug\moc_t4jsinputradio.obj"
".\remote4.dir\TTecDebug\moc_t4jsinputtext.obj"
".\remote4.dir\TTecDebug\moc_t4jsmainwindow.obj"
".\remote4.dir\TTecDebug\moc_t4jsmenu.obj"
".\remote4.dir\TTecDebug\moc_t4jsmessagebox.obj"
".\remote4.dir\TTecDebug\moc_t4jsmultilineinputtext.obj"
".\remote4.dir\TTecDebug\moc_t4jspromptinput.obj"
".\remote4.dir\TTecDebug\moc_t4jstoolbar.obj"
".\remote4.dir\TTecDebug\moc_t4jswindow.obj"
".\remote4.dir\TTecDebug\moc_qtcolortriangle.obj"
".\remote4.dir\TTecDebug\moc_qtsingleapplication.obj"
".\remote4.dir\TTecDebug\moc_talignlayout.obj"
".\remote4.dir\TTecDebug\moc_tapplication.obj"
".\remote4.dir\TTecDebug\moc_tbitmap.obj"
".\remote4.dir\TTecDebug\moc_tbtnbmp.obj"
".\remote4.dir\TTecDebug\moc_tbutton.obj"
".\remote4.dir\TTecDebug\moc_Tprinter.obj"
".\remote4.dir\TTecDebug\moc_tcbrowse.obj"
".\remote4.dir\TTecDebug\moc_tchartwin.obj"
".\remote4.dir\TTecDebug\moc_tcheckbox.obj"
".\remote4.dir\TTecDebug\moc_tcombobox.obj"
".\remote4.dir\TTecDebug\moc_tcontrol.obj"
".\remote4.dir\TTecDebug\moc_tcorretor.obj"
".\remote4.dir\TTecDebug\moc_tcreateinifiledialog.obj"
".\remote4.dir\TTecDebug\moc_tdgcanvasview.obj"
".\remote4.dir\TTecDebug\moc_tdgconnectorline.obj"
".\remote4.dir\TTecDebug\moc_tdgdocument.obj"
".\remote4.dir\TTecDebug\moc_tdgeditor.obj"
".\remote4.dir\TTecDebug\moc_tdgrule.obj"
".\remote4.dir\TTecDebug\moc_tdgshape.obj"
".\remote4.dir\TTecDebug\moc_tdgshapebox.obj"
".\remote4.dir\TTecDebug\moc_tdgshapeicon.obj"
".\remote4.dir\TTecDebug\moc_tdgviewer.obj"
".\remote4.dir\TTecDebug\moc_tdialog.obj"
".\remote4.dir\TTecDebug\moc_tfolder.obj"
".\remote4.dir\TTecDebug\moc_tget.obj"
".\remote4.dir\TTecDebug\moc_tgetdados.obj"
".\remote4.dir\TTecDebug\moc_tguicommand.obj"
".\remote4.dir\TTecDebug\moc_thelpbaloon.obj"
".\remote4.dir\TTecDebug\moc_thelpdialog.obj"
".\remote4.dir\TTecDebug\moc_tlistbox.obj"
".\remote4.dir\TTecDebug\moc_tmenu.obj"
".\remote4.dir\TTecDebug\moc_tmenupopup.obj"
".\remote4.dir\TTecDebug\moc_tmessagebar.obj"
".\remote4.dir\TTecDebug\moc_tmessagebox.obj"
".\remote4.dir\TTecDebug\moc_tmodaldialog.obj"
".\remote4.dir\TTecDebug\moc_tmscalendar.obj"
".\remote4.dir\TTecDebug\moc_tmscalendgrid.obj"
".\remote4.dir\TTecDebug\moc_tmsselbr.obj"
".\remote4.dir\TTecDebug\moc_tmultiget.obj"
".\remote4.dir\TTecDebug\moc_tobjecthook.obj"
".\remote4.dir\TTecDebug\moc_tolecontainer.obj"
".\remote4.dir\TTecDebug\moc_tpageview.obj"
".\remote4.dir\TTecDebug\moc_tpanel.obj"
".\remote4.dir\TTecDebug\moc_tparametersform.obj"
".\remote4.dir\TTecDebug\moc_tprinterhook.obj"
".\remote4.dir\TTecDebug\moc_tprinterspool.obj"
".\remote4.dir\TTecDebug\moc_tradiobutton.obj"
".\remote4.dir\TTecDebug\moc_tremoteopensave.obj"
".\remote4.dir\TTecDebug\moc_treportprinter.obj"
".\remote4.dir\TTecDebug\moc_tresourcemanager.obj"
".\remote4.dir\TTecDebug\moc_tsay.obj"
".\remote4.dir\TTecDebug\moc_tscrollbox.obj"
".\remote4.dir\TTecDebug\moc_ttab.obj"
".\remote4.dir\TTecDebug\moc_tterminal.obj"
".\remote4.dir\TTecDebug\moc_ttoolbar.obj"
".\remote4.dir\TTecDebug\moc_ttree.obj"
".\remote4.dir\TTecDebug\moc_tverticalscrollbar.obj"
".\remote4.dir\TTecDebug\moc_twindow.obj"
".\remote4.dir\TTecDebug\moc_tworkspace.obj"
".\remote4.dir\TTecDebug\moc_tworkspacefolder.obj"
".\remote4.dir\TTecDebug\moc_tworktime.obj"
".\remote4.dir\TTecDebug\moc_tgrid.obj"
".\remote4.dir\TTecDebug\moc_httpclient.obj"
".\remote4.dir\TTecDebug\moc_tpaintpanel.obj"
".\remote4.dir\TTecDebug\moc_ttimerhook.obj"
".\remote4.dir\TTecDebug\moc_splogin.obj" ] Creating command line
"link.exe
#c:\advtec9\trunk\bin_sem_unittest\remote4\remote4.dir\TTecDebug\RSP00008649325832.rsp
/NOLOGO /ERRORREPORT:PROMPT"
Output Window
Linking...
Results
Build log was saved at
"file://c:\advtec9\trunk\bin_sem_unittest\remote4\remote4.dir\TTecDebug\BuildLog.htm"
remote4 - 0 error(s), 0 warning(s)
I've (finally!) found out what my problem was.
I have a project with some sub-directories. In the CMakeLists.txt of each subdirectory, I was defining a project name (with the command project() ). This was causing visual studio to behave like that.
When I removed the project() of the sub_directories the problem was solved.