Jump to content

incompatible libLeadwerks.a


nelsoncs
 Share

Recommended Posts

Anyone have a clue how this has foobar'd for me?

 

1. updated through steam -> no effect

2. clean build -> no effect

 

-lRakNetDLL (/home/<usr-name>/src/RakNet_PC-4.08/Lib/DLL/libRakNetDLL.so)

-lopenal (/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libopenal.so)

-lGL (/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libGL.so)

-lGLU (/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libGLU.so)

-lsteam_api (/home/<usr-name>/.steam/steam/SteamApps/common/Leadwerks Game Engine/Library/Linux/libsteam_api.so)

-lX11 (/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libX11.so)

/lib/x86_64-linux-gnu/libpthread.so.0

/usr/bin/ld: skipping incompatible /home/<usr-name>/.steam/steam/SteamApps/common/Leadwerks Game Engine/Library/Linux/Debug/libLeadwerks.a when searching for -lLeadwerks

/usr/bin/ld: cannot find -lLeadwerks

collect2: error: ld returned 1 exit status

makefile:60: recipe for target 'Server' failed

make: *** [server] Error 1

 

Thanks.

Link to comment
Share on other sites

What linux distribution are you using? what architecture is it

What version of gcc you have ? (post gcc -v output)

 

ld expects the static libs to be of the same architecture.

I think you are trying to build a 32bit binary and link in the Leadwerks static libs which are 64 bit.

 

Or you have a 32bit gcc (which is hard to beleive this days).

Can try to run objdump -a on the libLeadwerks.a ( will print the architecture of the static lib ) but im sure that is elf64-x86-64.

 

Need more information on your environment to be shure.

I made this with Leadwerks/UAK:

Structura Stacky Desktop Edition

Website:

Binary Station

Link to comment
Share on other sites

Thanks, yes I already checked with objdump and elf64-x86-64 was top of the list.

 

Linux: Ubuntu 15.10

uname -a: Linux higgie 4.2.0-18-generic #22-Ubuntu SMP Fri Nov 6 18:25:50 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

gcc:

g++ -v

Using built-in specs.

COLLECT_GCC=g++

COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper

Target: x86_64-linux-gnu

Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.2.1-22ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu

Thread model: posix

gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2)

Link to comment
Share on other sites

objdump -a ./libLeadwerks.a

In archive ./libLeadwerks.a:

 

Address.o: file format elf32-i386

rw-rw-r-- 1000/1000 70748 Sep 22 12:51 2015 Address.o

 

(deleted rest of output)

 

objdump -i '/home/develop/.steam/steam/SteamApps/common/Leadwerks Game Engine/Library/Linux/Debug/Leadwerks.a'

BFD header file version (GNU Binutils for Ubuntu) 2.25.1

elf64-x86-64

(header little endian, data little endian)

i386

Link to comment
Share on other sites

so, you are right except I have no idea why I have ended up with an i386 version of the leadwerks.lib.

 

I have a backup from the leadwerks 3.2 era (before the full steam integration) and :

 

objdump -a '~/src/Leadwerks_3_2/Library/Linux/Debug/Leadwerks.a'

In archive ~/src/Leadwerks_3_2/Library/Linux/Debug/Leadwerks.a:

 

Address.o: file format elf64-x86-64

rw-rw-r-- 1000/1000 96864 Sep 18 09:40 2014 Address.o

 

I also tried having Steam perform the "validate cache" on my .steam install and it wants to replace 5090 files, if allowed to do this, it will still consider them invalid and rinse, repeat.

 

So, it seems like it is possiblethis is really a problem with my steam installation

Link to comment
Share on other sites

Dont know what to say.

 

-rwxrwxr-x 1 alex alex 81052266 Oct 10 23:01 Leadwerks.a

 

Lets see a ls -la on you static lib, last try im running out of ideeas.

 

Also can try to delete Leadwerks from steam and unsubscribe from beta if you have and install again.

I made this with Leadwerks/UAK:

Structura Stacky Desktop Edition

Website:

Binary Station

Link to comment
Share on other sites

moved the .steam directory to a backup, reinstalled steam from scratch and now the lib is x64. still don't know why the heck steam decided to move me to 32 bit but... don't care now.

 

Thanks for steering me in the right direction, aiaf.

 

Submitted as bug report.

Link to comment
Share on other sites

  • 9 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...