AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Coding MM:S Plugins & SM Extensions (https://forums.alliedmods.net/forumdisplay.php?f=75)
-   -   Solved Undefined symbol GetCPUInformation (https://forums.alliedmods.net/showthread.php?t=294895)

Benoist3012 03-10-2017 16:36

Undefined symbol GetCPUInformation
 
Hello everyone, I've been running lately into an issue with my sourcemod extension, everytime I try to load it, here what happens:
[04] <FAILED> file "testextension.ext.2.tf2.so": extensionpathhere: undefined symbol: GetCPUInformation

So I visited the sdk2013 repo, I saw that:
https://github.com/alliedmodders/hl2...atform.h#L1224
I included the header hoping it would solve my problem, but I knew it wouldn't, and yeah it didn't solve the problem.
And right now I'm clueless on how solving it, so any help on that would be highly appreciated :crab:

psychonic 03-11-2017 07:37

Re: Undefined symbol GetCPUInformation
 
Tier0 isn't being linked.

Benoist3012 03-11-2017 08:51

Re: Undefined symbol GetCPUInformation
 
ldd -d "/home/benoist3012/Desktop/tf2 pluginbot/build/pluginbot.ext.2.tf2/pluginbot.ext.2.tf2.so"
linux-gate.so.1 => (0xf77bf000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf75c5000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7570000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf73b9000)
/lib/ld-linux.so.2 (0x56633000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf739c000)
undefined symbol: GetCPUInformation(/home/benoist3012/Desktop/tf2 pluginbot/build/pluginbot.ext.2.tf2/pluginbot.ext.2.tf2.so)

It's not linked yeah.

Isn't this script https://github.com/alliedmodders/sou...ript#L312#L319
https://github.com/alliedmodders/sou...ript#L386#L391
supposed to add them?

psychonic 03-11-2017 09:02

Re: Undefined symbol GetCPUInformation
 
I believe that the generated command line order is improper for GCC, which causes tier0 and vstdlib to get skipped. It should work on Clang, or you can figure out what the order needs to be and fix the script.

Benoist3012 03-11-2017 09:31

Re: Undefined symbol GetCPUInformation
 
Ah well now they are "added" but not found.
ldd -d "/home/benoist3012/Desktop/tf2 pluginbot/build/pluginbot.ext.2.tf2/pluginbot.ext.2.tf2.so"
linux-gate.so.1 => (0xf7718000)
libvstdlib_srv.so => not found
libtier0_srv.so => not found
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7645000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf74ce000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf74b1000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf72fb000)
/lib/ld-linux.so.2 (0x565c2000)
undefined symbol: GetCPUInformation (/home/benoist3012/Desktop/tf2 pluginbot/build/pluginbot.ext.2.tf2/pluginbot.ext.2.tf2.so)

psychonic 03-11-2017 09:40

Re: Undefined symbol GetCPUInformation
 
They should be at runtime. If you want ldd to find them, you'll have to pass it the same LD_LIBRARY_PATH that the srcds_run script passes to the srcds binary. (Basically making sure that the engine bin directory is included).

Benoist3012 03-11-2017 09:51

Re: Undefined symbol GetCPUInformation
 
Yeah I talked too early it loads fine now thanks!


All times are GMT -4. The time now is 14:33.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.