ACE_TAO icon indicating copy to clipboard operation
ACE_TAO copied to clipboard

Error linking ace_gperf.exe (Embarcadero C++Builder 12)

Open IgorZ63 opened this issue 6 months ago • 5 comments

Version

8.0.3

Host machine and operating system

Windows 10 Pro, x64

Target machine and operating system (if different from host)

Windows 10 Pro, x64

Compiler name and version (including patch level)

Embarcadero® RAD Studio 12 Version 29.0.53982.0329

The $ACE_ROOT/ace/config.h file

#include "ace/config-win32.h"

The $ACE_ROOT/include/makeinclude/platform_macros.GNU file

Contents of $ACE_ROOT/bin/MakeProjectCreator/config/default.features

I don't have this file.

AREA/CLASS/EXAMPLE AFFECTED:

$ACE_ROOT/apps/gperf

The problem effects:

Error linking.

Synopsis

Error linking ace_gperf.exe.

Description

MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
        C:\Windows\system32\cmd.exe /c "cd ..\ace\Compression && make -DBCC64X   -DRELEASE=1   -DUNICODE=0 -f Makefile.ACE_Compression.bmak all"
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
        C:\Windows\system32\cmd.exe /c "cd ..\ace\Compression\rle && make -DBCC64X   -DRELEASE=1   -DUNICODE=0 -f Makefile.ACE_RLECompression.bmak all"
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
        C:\Windows\system32\cmd.exe /c "cd ..\ace\ETCL && make -DBCC64X   -DRELEASE=1   -DUNICODE=0 -f Makefile.ACE_ETCL.bmak all"
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
        C:\Windows\system32\cmd.exe /c "cd ..\ace\ETCL && make -DBCC64X   -DRELEASE=1   -DUNICODE=0 -f Makefile.ACE_ETCL_Parser.bmak all"
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
        C:\Windows\system32\cmd.exe /c "cd ..\ace\Monitor_Control && make -DBCC64X   -DRELEASE=1   -DUNICODE=0 -f Makefile.Monitor_Control.bmak all"
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
        C:\Windows\system32\cmd.exe /c "cd ..\ace\QoS && make -DBCC64X   -DRELEASE=1   -DUNICODE=0 -f Makefile.QoS.bmak all"
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
        C:\Windows\system32\cmd.exe /c "cd ..\apps\gperf\src && make -DBCC64X   -DRELEASE=1   -DUNICODE=0 -f Makefile.gperf.bmak all"
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
        bcc64x @MAKE0000.@@@
clang version 15.0.7 ([email protected]:llvm-project 3052252252f2bb600fb623cdb63ea78079a69adc)
Target: x86_64-w64-windows-gnu
Thread model: posix
InstalledDir: C:\PROGRA~2\EMBARC~1\Studio\23.0\bin64
Borland configuration file: C:/Program Files (x86)/Embarcadero/Studio/23.0/bin64/bcc64x.cfg
Embarcadero C++ 7.70 for Win64/COFF Copyright (c) 2012-2024 Embarcadero Technologies, Inc.
 "C:\\PROGRA~2\\EMBARC~1\\Studio\\23.0\\bin64\\ld.lld" -m i386pep -Bdynamic -o ../../../bin/ace_gperf.exe "C:\\PROGRA~2\\EMBARC~1\\Studio\\23.0\\x86_64-w64-mingw32\\lib\\crt2u.o" "C:\\PROGRA~2\\EMBARC~1\\Studio\\23.0\\x86_64-w64-mingw32\\lib\\crtbegin.o" "-Lc:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\win64x\\release" -L. -L../../../lib "-LC:\\PROGRA~2\\EMBARC~1\\Studio\\23.0\\x86_64-w64-mingw32\\lib" "-LC:\\PROGRA~2\\EMBARC~1\\Studio\\23.0\\x86_64-w64-mingw32\\mingw/lib" "-LC:\\PROGRA~2\\EMBARC~1\\Studio\\23.0\\lib" "-LC:\\PROGRA~2\\EMBARC~1\\Studio\\23.0\\x86_64-w64-mingw32/sys-root/mingw/lib" "-LC:\\Program Files (x86)\\Embarcadero\\Studio\\23.0\\lib\\clang\\15.0.7\\lib\\windows" Release/Unicode/gperf/gperf.o Release/Unicode/gperf/Options.o Release/Unicode/gperf/Iterator.o Release/Unicode/gperf/Gen_Perf.o Release/Unicode/gperf/Key_List.o Release/Unicode/gperf/List_Node.o Release/Unicode/gperf/Hash_Table.o Release/Unicode/gperf/Bool_Array.o Release/Unicode/gperf/Vectors.o Release/Unicode/gperf/Version.o ACE_bru.lib -liphlpapi -lws2_32 -lucrt -lmingwthrd -l:import64.lib -lc++ -lmingw32 "C:\\Program Files (x86)\\Embarcadero\\Studio\\23.0\\lib\\clang\\15.0.7\\lib\\windows\\libclang_rt.builtins-x86_64.a" -lunwind -lmoldname -lmingwex -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 "C:\\Program Files (x86)\\Embarcadero\\Studio\\23.0\\lib\\clang\\15.0.7\\lib\\windows\\libclang_rt.builtins-x86_64.a" -lunwind -lmoldname -lmingwex -lkernel32 "C:\\PROGRA~2\\EMBARC~1\\Studio\\23.0\\x86_64-w64-mingw32\\lib\\crtend.o"
ld.lld: error: undefined symbol: wWinMain
>>> referenced by libmingw32.a(lib64_libmingw32_a-ucrtexewin.o):(wmain)
bcc64x: error: linker command failed with exit code 1 (use -v to see invocation)

Repeat by

set BCC64X=1
set RELEASE = 1
set UNICODE = 0
make -f Makefile.bmak all

Sample fix/ workaround

IgorZ63 avatar Jun 25 '25 10:06 IgorZ63

Which exact Embarcadero C++ Builder are you using, the older 12.0 isn't supported anymore by the recent releases, see https://github.com/DOCGroup/ACE_TAO/releases/tag/ACE%2BTAO-8_0_2.

jwillemsen avatar Jul 07 '25 13:07 jwillemsen

I am using Embarcadero® RAD Studio 12.2 Version 29.0.53982.0329.

IgorZ63 avatar Jul 07 '25 13:07 IgorZ63

Try RAD Studio 12.3 or try to downgrade to ACE/TAO 8.0.2 with RAD Studio 12.2, haven't tested with 12.2 for some time now

jwillemsen avatar Jul 07 '25 13:07 jwillemsen

My support for the Embarcadero C++ compilers here on github is very limited, when you need guaranteed support see https://www.remedy.nl/opensource/emb

jwillemsen avatar Jul 07 '25 13:07 jwillemsen

On version 8.0.2 the same error.

IgorZ63 avatar Jul 07 '25 14:07 IgorZ63