David, here it is my ld.exe while building ld.exe itself after substituing it with itself :))
(E:\harbour\ld)hbmk2 -st -shared ld.prg hbmk2: Processing environment options: -mt -compiler=gcc hbmk2: Processing configuration: E:\HARBOUR\BIN\hbmk.cfg Harbour 2.1.0dev (Rev. 13913) Copyright (c) 1999-2010, http://www.harbour-project.org/ Compiling 'ld.prg'... Lines 8, Functions/Procedures 1 Generating C source output to 'E:\TMP\ld.c'... Done. ------------8<-------------------- -o ld.exe E:/SVILUPPO/GCC/V3.3.5/USR/lib/crt0.o -Le:\harbour\lib -LE:/Sviluppo/g cc/v3.3.5/usr/lib/gcc-lib/i386-pc-os2-emx/3.3.5 -LE:/Sviluppo/gcc/v3.3.5/usr/lib /gcc-lib -LE:/SVILUPPO/GCC/V3.3.5/USR/lib/gcc-lib/i386-pc-os2-emx/3.3.5 -LE:/SVI LUPPO/GCC/V3.3.5/USR/lib/tcpipv4 -LE:/SVILUPPO/GCC/V3.3.5/USR/lib -LE:/harbour/l d -LE:/SVILUPPO/GCC/V3.3.5/USR/lib/gcc-lib/i386-pc-os2-emx/3.3.5 -LE:/Sviluppo/g cc/v3.3.5/usr/i386-pc-os2-emx/lib -LE:/SVILUPPO/GCC/V3.3.5/USR/i386-pc-os2-emx/l ib -LE:/Sviluppo/gcc/v3.3.5/usr/lib E:\TMP\ld.o E:\TMP\hbmk_prvkqn.o -lhbmainstd -lhbcplr -lhbdebug -lharbour -lc_alias -lc_dll -los2 -lgcc_so_d -lc_alias -lc_d ll -los2 -lgcc_so_d -lc_alias -lc_dll -los2 -lgcc_so_d -lc_alias -lc_dll -los2 - lgcc_so_d -lc_alias -lc_dll -los2 ------------>8-------------------- my ld.exe is a simple function main( ... ) ? ... return 0 So, we can see that it points to a lot of libs, now let's see what happens when it is called in building harbour.dll Maurilio. Maurilio Longo wrote: > David, > > it seems it does not find os2.a and rtl c library. > > I was going to create a ld.exe which simply spits out what it received from > gcc so we can see what it needs :) > > Maurilio. > > David Arturo Macias Corona wrote: >> Viktor: >> >>>> Harbour need shorter intermediate file size >>> I also need a bigger house ;) It's not an option >>> unfortunately, at least I don't know of any. But >>> the source is there so anyone can try to enhance >>> it. >> Perhaps you will get your bigger house before we can get a shorter >> intermediate file :-) >> >>> IMO rather someone should fix this OS/2 GCC >>> toolchain bug. >> Yes I hope someone can modify this toolchain, but is not a bug, is a >> consequence of design >> >>> ?? >>> I'd think it's rather my change here: >>> 2010-02-21 15:03 UTC+0100 Viktor Szakats >>> You say thank you in a rather unique way. >> ??? >> >>> Ops, this was 13946. >>> Anyways. >> I am doing one step in each time, so I stated >> - "13945" >> - "recent libraries changes" >> to avoid confutions. It was not enough >> >>> 2010-02-21 15:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) >>> * config/os2/gcc.mk >>> * Changed to use 'ld' tools directly when creating >>> Harbour dynamic libraries. >>> ; Please test, it's possible that some option have to be >>> deleted, changed, or some system/compiler libs added >>> manually to make it work. >> And now here we are in next step >> >> Using os2gcc442: >> >> * $Id: ChangeLog 13951 2010-02-21 21:02:05Z vszakats $ >> 2010-02-21 22:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) >> ----------------------- >> make[3]: Entering directory >> `E:/harbour102/harbour/src/dynlib/obj/os2/gccomf' >> emxomfld -shared -L../../../../../lib/os2/gccomf -Zomf -o >> ../../../../../bin/os2/gccomf/harbour.dll @__dyn__.tmp __dyn__.def -lsocket >> emxomfld: invalid option (-shared) >> make[3]: *** [harbour.dll] Error 1 >> make[3]: Leaving directory >> `E:/harbour102/harbour/src/dynlib/obj/os2/gccomf' >> make[2]: *** [descend] Error 2 >> make[2]: Leaving directory `E:/harbour102/harbour/src/dynlib' >> make[1]: *** [dynlib] Error 2 >> ----------------------- >> >> and trying manually: >> >> [E:\harbour102\harbour\src\dynlib\obj\os2\gccomf]emxomfld -shared >> -L../../../../../lib/os2/gccomf -Zomf -o >> ../../../../../bin/os2/gccomf/harbour.dll @__dyn__. >> tmp __dyn__.def -lsocket >> emxomfld: invalid option (-shared) >> >> Removing -shared: >> >> [E:\harbour102\harbour\src\dynlib\obj\os2\gccomf]emxomfld >> -L../../../../../lib/os2/gccomf -Zomf -o >> ../../../../../bin/os2/gccomf/harbour.dll @__dyn__.tmp __dy >> n__.def -lsocket >> emxomfld: invalid option (-Zomf) >> >> Removing -Zomf: >> >> [E:\harbour102\harbour\src\dynlib\obj\os2\gccomf]emxomfld >> -L../../../../../lib/os2/gccomf -o >> ../../../../../bin/os2/gccomf/harbour.dll @__dyn__.tmp __dyn__.def >> -lsocket >> weakld: cannot open library file >> '..\..\..\..\..\lib\os2\gccomf\socket_s.a'. >> emxomfld: weak prelinker failed. (rc=8) >> >> Removing -lsocket: >> >> 1108 lines of errors >> Some segments are: >> >> weakld: error: Unresolved symbol (UNDEF) 'DosScanEnv'. >> weakld: info: The symbol is referenced by: >> E:\harbour102\harbour\src\common\obj\os2\gccomf\hbgete.o >> weakld: error: Unresolved symbol (UNDEF) 'recv'. >> weakld: info: The symbol is referenced by: >> E:\harbour102\harbour\src\rtl\obj\os2\gccomf\hbsocket.o >> weakld: error: Unresolved symbol (UNDEF) '_memcmp'. >> weakld: info: The symbol is referenced by: >> E:\harbour102\harbour\src\rtl\obj\os2\gccomf\hbi18n1.o >> E:\harbour102\harbour\src\macro\obj\os2\gccomf\macrolex.o >> [...] >> Error! E2028: _strcmp is an undefined reference >> Error! E2028: ___moddi3 is an undefined reference >> Error! E2028: ___divdi3 is an undefined reference >> Error! E2028: _pow is an undefined reference >> Error! E2028: _fmod is an undefined reference >> Error! E2028: _ldexp is an undefined reference >> [...] >> Error! E2028: ___main is an undefined reference >> file >> E:\harbour102\harbour\src\common\obj\os2\gccomf\expropt1.o(expropt1.o): >> undefined symbol _strcmp >> file >> E:\harbour102\harbour\src\common\obj\os2\gccomf\expropt2.o(expropt2.o): >> undefined symbol ___moddi3 >> file >> E:\harbour102\harbour\src\common\obj\os2\gccomf\expropt2.o(expropt2.o): >> undefined symbol ___divdi3 >> file >> E:\harbour102\harbour\src\common\obj\os2\gccomf\expropt2.o(expropt2.o): >> undefined symbol _pow >> file >> E:\harbour102\harbour\src\common\obj\os2\gccomf\expropt2.o(expropt2.o): >> undefined symbol _fmod >> file E:\harbour102\harbour\src\common\obj\os2\gccomf\hbarch.o(hbarch.o): >> undefined symbol _ldexp >> file E:\harbour102\harbour\src\common\obj\os2\gccomf\hbarch.o(hbarch.o): >> undefined symbol _frexp >> file E:\harbour102\harbour\src\common\obj\os2\gccomf\hbarch.o(hbarch.o): >> undefined symbol ___fixunsdfdi >> file E:\harbour102\harbour\src\common\obj\os2\gccomf\hbdate.o(hbdate.o): >> undefined symbol ___divdi3 >> file E:\harbour102\harbour\src\common\obj\os2\gccomf\hbdate.o(hbdate.o): >> undefined symbol ___moddi3 >> >> [...] >> >> file E:\harbour102\harbour\src\vm\obj\os2\gccomf\hvmall.o(hvmall.o): >> undefined symbol _fmod >> file E:\harbour102\harbour\src\vm\obj\os2\gccomf\mainstd.o(mainstd.o): >> undefined symbol ___main >> file E:\harbour102\harbour\src\vm\obj\os2\gccomf\procaddr.o(procaddr.o): >> undefined symbol _strcmp >> file E:\harbour102\harbour\src\vm\obj\os2\gccomf\runner.o(runner.o): >> undefined symbol _strcmp >> >> David Macias >> >> _______________________________________________ >> Harbour mailing list (attachment size limit: 40KB) >> Harbour@harbour-project.org >> http://lists.harbour-project.org/mailman/listinfo/harbour >> > -- __________ | | | |__| Maurilio Longo |_|_|_|____| farmaconsult s.r.l. _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour