When I try to compile a copy of my project on my local machine, I get an error stating that it ‘s skipping over incompatible libraries. This isn’t the case when I’m messing around with the live version hosted on the server at work [it makes perfectly there].
Various other sites have lead me to believe that this might be an environment issue, as I’m developing on a 64-bit distro of Ubuntu and I assume the server version is running on 32-bit. Nevertheless, after setting my environment variables to:
CFLAGS+=" -m32"
CXXFLAGS+=" -m32"
I still receive the same compile error of:
/usr/bin/ld: skipping incompatible /dvlpmnt/libPI-Http.a when searching for -lPI-Http
Can haz tutorial?
==Edit==
This was the output I recieved when I followed Jonathan’s advice:
http.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
Apparently, the library in question is 32-bit after all?
That message isn’t actually an error – it’s just a warning that the file in question isn’t of the right architecture (e.g. 32-bit vs 64-bit, wrong CPU architecture). The linker will keep looking for a library of the right type.
Of course, if you’re also getting an error along the lines of
can't find lPI-Httpthen you have a problem 🙂It’s hard to suggest what the exact remedy will be without knowing the details of your build system and makefiles, but here are a couple of shots in the dark:
flags to
CFLAGSrather thanCTAGS– are you sure this iscorrect? (What you have may be correct – this will depend on your build system!)
LDFLAGSIf that doesn’t help – can you post the full error output, plus the actual command (e.g.
gcc foo.c -m32 -Dxxxetc) that was being executed?