X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com Message-ID: <557B436F.1050101@gmx.de> Date: Fri, 12 Jun 2015 22:39:11 +0200 From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de)" User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.13) Gecko/20101206 SUSE/3.1.7 Thunderbird/3.1.7 MIME-Version: 1.0 To: djgpp AT delorie DOT com Subject: Re: DJGGP 2.05 upgrade problems. References: <201506091712 DOT t59HCPci004068 AT delorie DOT com> <557739E0 DOT 6070608 AT gmail DOT com> <55775E64 DOT 2090901 AT gmail DOT com> <5579ED42 DOT 6070309 AT gmail DOT com> <5579FE8D DOT 3080501 AT gmail DOT com> In-Reply-To: <5579FE8D.3080501@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:P8+GDM+ywFmaMTG7eIM0CZIL9EEjzH44lAEqno5tRQg+Ltgc8+V iEXfjZk7qAEveDPhA7ubhLkTp6f32PkyYU4ythld4EU98Et0d+7cDoDOofY3q8MwO/JngZF 3oa72ivHczOMuRnX7LoYgwodVh9g2o4ZYpZTDP7uH0csSxgYqzFG4/DGTHUFyDFfnnz03pJ R47FkLrqql45afN/OROnA== X-UI-Out-Filterresults: notjunk:1;V01:K0:Rxf+F8YgmUo=:fIna0wQXsh80IyZ2ACMRbG 9DKdu7Ak93TXild4zW6BOhSf/yDGJ9Q6x6LAwDxr96rFrjD/30e2YhNju+tFwl0XAvJ5aQ3Yf pBfJgdG5z2r0DnjPiQGtbVjBAGrBppLSaD1Lvzx06wRhgbiek32nv1zPen24y49JWO7PSUs1f nFTVIuVlcMEED+Ifc8ADC2xXTJWujoNZPvtQYe94iiWA6qe8GBSaQEIkpvnJ5MNBHVKCRlhJ7 zUFr1tHM+38xXs0IRWu8szgc9y7J8Ayght8Er3/x1RveaY74JCUfxL4mjeadUyIFp9IgbH7PZ BqvEaxg5kqZp3JyDbG4xYlQQC4zhzZ9vNrHnXGj93FnHoIKTE9Q1JLQo5GX/VYmR36EWiv1Xv pATs9w2+j1SsqS+zQujxe0jjH862Nyh7yjzLTS31sQ8yUU6HWyKStEJaYmFXJ3GYomUGQV6t9 HWfO9ilAZqi9HAZuZtQxXL9eYHFSJrQfNMFU5rkGJn/rNMATmD0C/BZybKjHhpI/e+BOYPRsF Soe8wzKC0L8kg/WvsG2LV67lO9HJ4eZhq9vp2tMLeyqiZB/hF4GLuuRoZrITUxs5LBUMkl/AH rEV/zJjus7a6m+rsHiOzpIWTbNUESnwC0fqaogwHEtbfUd1K0woNnn3+lPXN1MMTtu18js24g q0qEvoGWwrGhWJV8qK+zeIS9y+kt7j1c8QBLSM6eLllBSw7XH5SH+pwyCwuRVSKqiKP8= Reply-To: djgpp AT delorie DOT com Am 11.06.2015 23:33, schrieb Frank Sapone (emoaddict15 AT gmail DOT com): > GCC is v5.1.0 and binutils is whatever that latest release update was that was posted a few days ago. > > CFLAGS = -g -Wall -O2 [snip] First I would seriously suggest that you add the -save-temps flag to you CFLAGS. This saves the intermediary files for inspection. Second, you are using programs from the /beta directory compiled with djdev204 or djdev205. Some of them have been compiled with NLS support enabled. The NLS support is provided by the gettext and iconv libraries that have been compiled as DXE3 modules. This means that the programs like make or grep have been linked with these DXE3 modules or dlls. No mather if you like/use/enable/disable NLS on your system the libraries MUST be installed because the programs linked with them try to find them at start. If they cannot be found then the program aborts with an error output like this: H:\q2dos>make libintl.DXE: module loading failed (No such file or directory (ENOENT)) Abort! Exiting due to signal SIGABRT Raised at eip=00027604 eax=000ed9b8 ebx=00000120 ecx=00000008 edx=00000000 esi=00025334 edi=000252d9 ebp=000ee598 esp=000ed9a4 program=C:\DJGPP-2.04\BIN\MAKE.EXE cs: sel=01a7 base=02990000 limit=000fffff ds: sel=01af base=02990000 limit=000fffff es: sel=01af base=02990000 limit=000fffff fs: sel=017f base=00008f00 limit=0000ffff gs: sel=01bf base=00000000 limit=0010ffff ss: sel=01af base=02990000 limit=000fffff App stack: [000ee608..0006e60c] Exceptn stack: [0006e52c..0006c5ec] Call frame traceback EIPs: 0x000323ea Installing gettext and iconv is mandatory. Third, I have tried to compile the q2dos sources using my 205 installation and it failed with the following error message: gcc -g2 -Wall -O0 -save-temps -I wattcp/inc -Did386 -DREF_HARD_LINKED -DGAME_HARD_LINKED -DUSE_DOS_CD -DOGG_SUPPORT -DCLIENT_SPLIT_NETFRAME -DGAMESPY -I libogg/inc -I libvorb/inc -c client/cl_input.c -o client/cl_input.o In file included from h:/q2dos/game/q_shared.h:40:0, from h:/q2dos/qcommon/qcommon.h:23, from client/ref.h:23, from client/client.h:30, from client/cl_input.c:22: c:/djgpp-2.04/include/time.h:126:16: Fehler: expected "=", ",", ";", "asm" or "__attribute__" before "unsigned" _EXTERN_INLINE unsigned long long ^ makeo2a.frank:169: die Regel für Ziel "client/cl_input.o" scheiterte make.exe: *** [client/cl_input.o] Fehler 1 An inspection of time.h from djdev205 shows that the following lines are the crucial ones: #include unsigned long long _rdtsc(void); _EXTERN_INLINE unsigned long long _rdtsc(void) { #if ((__GNUC__ == 4 && __GNUC_MINOR__ >= 8) || (__GNUC__ > 4)) return __builtin_ia32_rdtsc(); #else unsigned long long result; __asm__ __volatile__ ("rdtsc" : "=A"(result) ); return result; #endif } The important issue here is to understand that the inclusion of sys/cdefs.h provides the definition of the macro _EXTERN_INLINE. An inspection of the preprocessor file shows that the WATT32 package provides its one version of sys/cdefs.h stored in C_INCLUDE_PATH=/dev/env/DJDIR/net/watt/inc and this version seems to inhibit the expansion of _EXTERN_INLINE, causing the compiler abort. Futher investigations needs to be done to see how the headers of WATT32 port needs to be fixed. From the preprocessor output: # 1 "wattcp/inc/sys/cdefs.h" 1 3 4 # 49 "wattcp/inc/sys/cdefs.h" 3 4 # 1 "wattcp/inc/sys/cdefs.h" 1 3 4 # 50 "wattcp/inc/sys/cdefs.h" 2 3 4 # 107 "wattcp/inc/sys/cdefs.h" 3 4 struct mbuf { struct mbuf *next; struct mbuf *anext; unsigned size; int refcnt; struct mbuf *dup; char *data; unsigned cnt; }; # 123 "c:/djgpp-2.04/include/time.h" 2 3 4 unsigned long long _rdtsc(void); _EXTERN_INLINE unsigned long long _rdtsc(void) { return __builtin_ia32_rdtsc(); } # 41 "h:/q2dos/game/q_shared.h" 2 # 49 "h:/q2dos/game/q_shared.h" Regards, Juan M. Guerrero