Hey man
Thanks for your response.
Yes, I'm trying to run this extension on Left 4 Dead 1 (Ubuntu Server 18.04 x86_64).
I was not passing any parameters (I'm new in AMBuild). My command was like this:
Code:
python ../configure.py
Anyway, I tested the command you passed me, and the output was this:
Code:
dartz@dartz-X450CA:~/alliedmodders/l4dtoolz/build3$ python ../configure.py --symbol-files --enable-optimize -s l4d
Checking CC compiler (vendor test gcc) ... ['cc', 'test.c', '-o', 'test']
found gcc version 5.5
Checking CXX compiler (vendor test gcc) ... ['c ++', 'test.cpp', '-o', 'testp']
found gcc version 5.5
So far so good.
On the other hand, the output of AMBuild was this:
Code:
[create] mkdir -p l4dtoolz_mm
[create] mkdir -p package
[create] mkdir -p package/addons
[create] mkdir -p package/addons/l4dtoolz
[create] mkdir -p package/addons/metamod
Spawned taskmaster (pid: 16221)
Spawned worker (pid: 16225)
[16225] cp "/home/dartz/alliedmodders/l4dtoolz/l4dtoolz.vdf" "./package/addons/metamod/l4dtoolz.vdf"
Spawned worker (pid: 16227)
Spawned worker (pid: 16226)
Spawned worker (pid: 16228)
[16228] ln -s /home/dartz/alliedmodders/hl2sdk-l4d/lib/linux/libtier0.so l4dtoolz_mm/libtier0.so
[16228] ln -s /home/dartz/alliedmodders/hl2sdk-l4d/lib/linux/libvstdlib.so l4dtoolz_mm/libvstdlib.so
Spawned worker (pid: 16229)
[16225] cc -pipe -fno-strict-aliasing -Wall -Werror -Wno-unused -Wno-switch -Wno-array-bounds -msse -m32 -fvisibility=hidden -Wno-narrowing -Wno-unused-result -mfpmath=sse -g3 -ggdb3 -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -DHAVE_STDINT_H -DGNUC -D_LINUX -DPOSIX -DSE_LEFT4DEAD2=15 -DSE_LEFT4DEAD=12 -DSOURCE_ENGINE=12 -DCOMPILER_GCC -DNO_HOOK_MALLOC -DNO_MALLOC_OVERRIDE -I /home/dartz/alliedmodders/sourcemod/public -H -c /home/dartz/alliedmodders/sourcemod/public/asm/asm.c -o _home_dartz_alliedmodders_sourcemod_public_asm_asm.o
[16227] c++ -pipe -fno-strict-aliasing -Wall -Werror -Wno-unused -Wno-switch -Wno-array-bounds -msse -m32 -fvisibility=hidden -Wno-narrowing -Wno-unused-result -mfpmath=sse -g3 -ggdb3 -std=c++11 -fno-exceptions -fno-threadsafe-statics -Wno-non-virtual-dtor -Wno-overloaded-virtual -fvisibility-inlines-hidden -Wno-delete-non-virtual-dtor -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -DHAVE_STDINT_H -DGNUC -D_LINUX -DPOSIX -DSE_LEFT4DEAD2=15 -DSE_LEFT4DEAD=12 -DSOURCE_ENGINE=12 -DCOMPILER_GCC -DNO_HOOK_MALLOC -DNO_MALLOC_OVERRIDE -I /home/dartz/alliedmodders/sourcemod/public -I /home/dartz/alliedmodders/l4dtoolz -I /home/dartz/alliedmodders/l4dtoolz/sdk -I /home/dartz/alliedmodders/sourcemod/public -I /home/dartz/alliedmodders/sourcemod/public/extensions -I /home/dartz/alliedmodders/sourcemod/sourcepawn/include -I /home/dartz/alliedmodders/sourcemod/public/amtl/amtl -I /home/dartz/alliedmodders/sourcemod/public/amtl -I /home/dartz/alliedmodders/mmsource-1.10/core -I /home/dartz/alliedmodders/mmsource-1.10/core/sourcehook -I /home/dartz/alliedmodders/hl2sdk-l4d/public -I /home/dartz/alliedmodders/hl2sdk-l4d/public/engine -I /home/dartz/alliedmodders/hl2sdk-l4d/public/mathlib -I /home/dartz/alliedmodders/hl2sdk-l4d/public/vstdlib -I /home/dartz/alliedmodders/hl2sdk-l4d/public/tier0 -I /home/dartz/alliedmodders/hl2sdk-l4d/public/tier1 -I /home/dartz/alliedmodders/hl2sdk-l4d/public/game/server -I /home/dartz/alliedmodders/hl2sdk-l4d/public/toolframework -I /home/dartz/alliedmodders/hl2sdk-l4d/game/shared -I /home/dartz/alliedmodders/hl2sdk-l4d/common -H -c /home/dartz/alliedmodders/l4dtoolz/signature.cpp -o signature.o
[16226] c++ -pipe -fno-strict-aliasing -Wall -Werror -Wno-unused -Wno-switch -Wno-array-bounds -msse -m32 -fvisibility=hidden -Wno-narrowing -Wno-unused-result -mfpmath=sse -g3 -ggdb3 -std=c++11 -fno-exceptions -fno-threadsafe-statics -Wno-non-virtual-dtor -Wno-overloaded-virtual -fvisibility-inlines-hidden -Wno-delete-non-virtual-dtor -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -DHAVE_STDINT_H -DGNUC -D_LINUX -DPOSIX -DSE_LEFT4DEAD2=15 -DSE_LEFT4DEAD=12 -DSOURCE_ENGINE=12 -DCOMPILER_GCC -DNO_HOOK_MALLOC -DNO_MALLOC_OVERRIDE -I /home/dartz/alliedmodders/sourcemod/public -I /home/dartz/alliedmodders/l4dtoolz -I /home/dartz/alliedmodders/l4dtoolz/sdk -I /home/dartz/alliedmodders/sourcemod/public -I /home/dartz/alliedmodders/sourcemod/public/extensions -I /home/dartz/alliedmodders/sourcemod/sourcepawn/include -I /home/dartz/alliedmodders/sourcemod/public/amtl/amtl -I /home/dartz/alliedmodders/sourcemod/public/amtl -I /home/dartz/alliedmodders/mmsource-1.10/core -I /home/dartz/alliedmodders/mmsource-1.10/core/sourcehook -I /home/dartz/alliedmodders/hl2sdk-l4d/public -I /home/dartz/alliedmodders/hl2sdk-l4d/public/engine -I /home/dartz/alliedmodders/hl2sdk-l4d/public/mathlib -I /home/dartz/alliedmodders/hl2sdk-l4d/public/vstdlib -I /home/dartz/alliedmodders/hl2sdk-l4d/public/tier0 -I /home/dartz/alliedmodders/hl2sdk-l4d/public/tier1 -I /home/dartz/alliedmodders/hl2sdk-l4d/public/game/server -I /home/dartz/alliedmodders/hl2sdk-l4d/public/toolframework -I /home/dartz/alliedmodders/hl2sdk-l4d/game/shared -I /home/dartz/alliedmodders/hl2sdk-l4d/common -H -c /home/dartz/alliedmodders/l4dtoolz/l4dtoolz_mm.cpp -o l4dtoolz_mm.o
[16226] ambuild_objcopy_wrapper.sh l4dtoolz_mm.so c++ l4dtoolz_mm.o signature.o _home_dartz_alliedmodders_sourcemod_public_asm_asm.o libvstdlib.so libtier0.so -m32 -Wl,--exclude-libs,ALL -lm -static-libgcc /home/dartz/alliedmodders/hl2sdk-l4d/lib/linux/tier1_i486.a /home/dartz/alliedmodders/hl2sdk-l4d/lib/linux/mathlib_i486.a -shared -o l4dtoolz_mm.so
[Errno 2] No such file or directory
Build failed.
Specifically (the error message was marked in red on the terminal):
Code:
[16226] ambuild_objcopy_wrapper.sh l4dtoolz_mm.so c++ l4dtoolz_mm.o signature.o _home_dartz_alliedmodders_sourcemod_public_asm_asm.o libvstdlib.so libtier0.so -m32 -Wl,--exclude-libs,ALL -lm -static-libgcc /home/dartz/alliedmodders/hl2sdk-l4d/lib/linux/tier1_i486.a /home/dartz/alliedmodders/hl2sdk-l4d/lib/linux/mathlib_i486.a -shared -o l4dtoolz_mm.so
[Errno 2] No such file or directory
Build failed.
Looks like there's some missing file, I do not know.
I checked whether the static libraries mentioned in the error message existed. And yes, they exist. Here is the listing:
Code:
dartz@dartz-X450CA:~/alliedmodders/l4dtoolz/build3$ ls -lha /home/dartz/alliedmodders/hl2sdk-l4d/lib/linux/
total 3,4M
drwxrwxr-x 2 dartz dartz 4,0K jul 25 18:49 .
drwxrwxr-x 5 dartz dartz 4,0K jul 25 18:49 ..
-rw-rw-r-- 1 dartz dartz 346K jul 25 18:49 choreoobjects_i486.a
-rw-rw-r-- 1 dartz dartz 337K jul 25 18:49 dmxloader_i486.a
-rw-rw-r-- 1 dartz dartz 324K jul 25 18:49 libtier0.so
-rw-rw-r-- 1 dartz dartz 255K jul 25 18:49 libvstdlib.so
-rw-rw-r-- 1 dartz dartz 216K jul 25 18:49 mathlib_i486.a
-rw-rw-r-- 1 dartz dartz 1,4M jul 25 18:49 particles_i486.a
-rw-rw-r-- 1 dartz dartz 338K jul 25 18:49 tier1_i486.a
-rw-rw-r-- 1 dartz dartz 184K jul 25 18:49 tier2_i486.a
-rw-rw-r-- 1 dartz dartz 54K jul 25 18:49 tier3_i486.a
Then I decided to do a new test. I ran the command below again (without the --symbol-files parameter):
Code:
python ../configure.py --enable-optimize -s l4d
And AMBuild generated the extension without errors. But Metamod could not load the extension:
Code:
meta load l4dtoolz
Failed to load plugin addons/l4dtoolz/l4dtoolz_mm (/home/steam/.steam/steamcmd/srvl4d/left4dead/addons/l4dtoolz/l4dtoolz_mm.so: undefined symbol: ud_init).
Clearly, it seems to me that the error is indeed in the linking (the --symbol-files parammeter is important), but something else is missing for everything to work.