Hmm, actually it would seem that AMBuild current version is not that cross-platform friendly (It might be better in a next version). Right now it's likely not read in cygwin context.
As solution, you could setup a VM, using VirutalBox, or VMWare. It would be much better to compile proper binaries inside the OS environment. It's very easy, and it will compile faster too.
You could also fix MakeFile. Well I might give a try tomorrow and will post here. But you should consider a VM.
Now I'm trying to compile .so on Linux via ambuild, and get this errors
Spoiler
PHP Code:
[16402] cc -pipe -fno-strict-aliasing -Wall -Werror -Wno-uninitialized -Wno-unused -Wno-switch -Wno-format -Wno-format-security -m32 -fvisibility=hidden -Wno-narrowing -Wno-parentheses -g3 -ggdb3 -D_LINUX -DPOSIX -DLINUX -DAMX_NOPROPLIST -DPAWN_CELL_SIZE=32 -DAMXMODX_BUILD -DAMXX_USE_VERSIONLIB -DAMXX_GENERATED_BUILD -DHAVE_STDINT_H -I /home/debian/build/includes -I /home/debian/amxmodx/support/versionlib -I /home/debian/amxmodx/public -I /home/debian/amxmodx/public/sdk -I /home/debian/amxmodx/public/amtl/include -I /home/debian/amxmodx/public/memtools -I /home/debian/amxmodx/third_party -I /home/debian/amxmodx/third_party/hashing -I /home/debian/amxmodx/third_party/zlib -H -c /home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c -o _third_party_libmaxminddb_maxminddb.o
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c:158:55: error: expected ‘;’, ‘,’ or ‘)’ before ‘p’
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c:159:57: error: expected ‘;’, ‘,’ or ‘)’ before ‘p’
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c: In function ‘populate_languages_metadata’:
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c:491:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c:491:5: note: use option -std=c99 or -std=gnu99 to compile your code
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c: In function ‘populate_description_metadata’:
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c:544:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c: In function ‘find_address_in_search_tree’:
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c:727:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c: In function ‘lookup_path_in_array’:
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c:1001:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c: In function ‘decode_one’:
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c:1233:9: error: implicit declaration of function ‘get_ieee754_float’ [-Werror=implicit-function-declaration]
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c:1240:9: error: implicit declaration of function ‘get_ieee754_double’ [-Werror=implicit-function-declaration]
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c: At top level:
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c:1421:55: error: expected ‘;’, ‘,’ or ‘)’ before ‘p’
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c:1436:57: error: expected ‘;’, ‘,’ or ‘)’ before ‘p’
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c: In function ‘free_languages_metadata’:
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c:1543:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c: In function ‘free_descriptions_metadata’:
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c:1555:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c: In function ‘bytes_to_hex’:
/home/debian/amxmodx/third_party/libmaxminddb/maxminddb.c:1765:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
cc1: all warnings being treated as errors
Build failed.
root@debian:/home/debian/build#
Last edited by FromTheFuture; 04-01-2015 at 11:49.
Finally I did it, thank you very much.
I'm compile with --no-mysql, its normal? Because have errors with him.
And how to change Debug/Release mode and compile amxmodx only, without different modules?
The output log seems like unrelated to mysql. Not sure what you did exactly.
In debug mode, you use --enable-debug
You can't select AMXX only, but it's okay, because you will compile all one time and after that, it will compile only the files which have been changed.
Where I can see all these commands?
At compile time I'm get many warnings, it is not dangerous?
And I think that ambuild manual need to be updated with gcc import instruction for .so compiling on windows and other fixes.
What warning you're talking about? It should be compiled fine at it is, with provided HLSDK/Metamod from github. The automatic 1.8.3-dev builds use AMBuild without issues and no warnings.