I am trying to build the analyzer using the Saleae SDK 1.1.19 but run into an error when running the python script. Not sure if it is because I am running a 64bit version of Ubuntu. I also could not find the ./lib/libAnalyzer.so
link to the analyzer that I am using
https://www.saleae.com/index
Error:
/usr/bin/ld: skipping incompatible ../lib/libAnalyzer.so when searching for -lAnalyzer
/usr/bin/ld: cannot find -lAnalyzer
collect2: ld returned 1 exit status
g++ L"../lib" -lAnalyzer -shared -o"debug/libNSLogicAnalyzer.so" debug/NSLogicAnalyzer.o debug/NSLogicAnalyzerSettings.o debug/NSLogicAnalyzerResults.o
System information:
Ubuntu 12.04LTS 64bit,
Python 2.7.3
thanks!
LC
Ah figured it out, it was calling the 32bit libAnalyzer.so in the lib folder. I just renamed the 64 bit to the same name as the 32bit (renamed the 32bit to something else so it would not create the error again)
Related
I'm a beginner at using Linux, so I'm following a couple of forum threads I've read so far.
I'm trying to compile a C++ program using g++ version 11.3.1, where I have installed SDL2 using the command sudo apt-get install libsdl2-dev and am using the recommended proprietary driver nvidia-driver-525 for my nvidia gtx 1060 graphics card. When I echo $XDG_SESSION_TYPE, it says x11.
However, when I compile the program using the link arguments -lSDL2, it gives me the following compile error:
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libSDL2.so: undefined reference to `wl_proxy_marshal_flags'
collect2: error: ld returned 1 exit status
When I compile the program with the link arguments: -lSDL2 -lwayland-egl -lwayland-client -lwayland-cursor, it compiles successfully. But then when I try to run the program, it gives me this error:
./bin/main.exe: symbol lookup error: /usr/lib/x86_64-linux-gnu/libdecor-0.so.0: undefined symbol: wl_proxy_marshal_flags
I have installed Qt on a CentOS 7 machine following the recommendation of QT documentation:
sudo yum groupinstall "C Development Tools and Libraries"
sudo yum install mesa-libGL-devel
a real nightmare as "C Development Tools and Libraries" does not exist. I have found and installed "Development Tools": manually as the groupinstall does not work!
I managed to run Qt creator but whenever I try to build and run any C++ application I got a cascade of errors:
:-1: error: skipping incompatible
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libGL.so when
searching for -lGL
:-1: error: skipping incompatible /lib/libGL.so when searching for
-lGL
:-1: error: skipping incompatible /usr/lib/libGL.so when searching for
-lGL
:-1: error: cannot find -lGL
:-1: error: collect2: error: ld returned 1 exit status
I need to run the OpenGl library as my application requires the use of the Three libraries. Did anybody successfully installed Qt and OpenGL on a CentOS 7 operating system?
Install the devtoolsets-6 package and make sure you start qtcreator from a shell where you have enabeled devtoolsets 6. Then you'll have a modern dev environment. Also make sure you have installed the NVidia drivers (or AMD equivalents) for proper OpenGL support.
In my VM, I have installed open suse linux 64 bit.
Trying to build an exe for 32 bit.
But on running the command :
g++ prg1.cpp -o prg1 -m32
I get the following error:
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld:
skipping incompatible
/usr/lib64/gcc/x86_64-suse-linux/4.8/libstdc++.so when searching for
-lstdc++ /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld:
skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.8/libstdc++.a
when searching for -lstdc++
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld:
cannot find -lstdc++ collect2: error: ld returned 1 exit status
To build for 32 i have installed the necessary rpms for 32 bit.
On running
g++ -print-search-dirs , the output is
install: /usr/lib64/gcc/x86_64-suse-linux/4.8/ programs:
=/usr/lib64/gcc/x86_64-suse-linux/4.8/:/usr/lib64/gcc/x86_64-suse-linux/4.8/:/usr/lib64/gcc/x86_64-suse-linux/:/usr/lib64/gcc/x86_64-suse-linux/4.8/:/usr/lib64/gcc/x86_64-suse-linux/:/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/x86_64-suse-linux/4.8/:/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/
libraries:
=/usr/lib64/gcc/x86_64-suse-linux/4.8/:/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/lib/x86_64-suse-linux/4.8/:/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/lib/../lib64/:/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../x86_64-suse-linux/4.8/:/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../lib64/:/lib/x86_64-suse-linux/4.8/:/lib/../lib64/:/usr/lib/x86_64-suse-linux/4.8/:/usr/lib/../lib64/:/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/lib/:/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../:/lib/:/usr/lib/
Although the 32 bit libstdc++ is also installed, the linker is not able to link to it. Is any specific flag required to tell the linker to build 32 bit
Or I have to install any other package?
To build for 32 i have installed the necessary rpms for 32 bit.
No, you have not.
Note that in order to build programs you need 32-bit runtime and development libraries. I am guessing that you've installed the former, but not the latter.
PROBLEM SOLVED:::
I am using LEDA library in c++.
command used to make object file.
g++ -I$LEDAROOT/incl -c mult.cpp
this command runs fine
I am getting eroor while linking step.
HERE IS THE EROOR
varun#Kinley:~/Documents/LEDA/test/numbers$ g++ -L$LEDAROOT mult.o -lleda -lX11 -lm
/usr/bin/ld: cannot find -lX11
collect2: error: ld returned 1 exit status
I think I need to install some package,because when I googled this error the most of problems are solved by installing some package .
I didn't find lx11 error
some of the eroor messages that I googled.
error 1
/usr/bin/ld: cannot find -lfreetype collect2: ld returned 1 exit
status
error 2
/usr/bin/ld: cannot find -lz collect2: ld returned 1 exit status
Links where I find these posts
http://www.qtcentre.org/threads/21069-collect2-ld-returned-1-exit-status
http://www.cyberciti.biz/faq/centos-rhel-redhat-usrbinld-cannot-findlc-error/
Do I need to install some package or there is some other problem
Could be two things
1) The X11 library is installed in a non-standard path. Use the search command to see if libX11.a or libX11.so is available on your system. If yes add the directory path to the -L option.
2) You are missing the libX11 library.
In this case, login as admin and use yum (assuming linux) to install this library.
Eg:
"yum install libX11.i386" or "yum install libX11.x86_64", depending on your architecture (32 bit or 64 bit).
I am trying to cross compile a version of my software for a 64bit platform. Can I have the 32bit and 64bit version of libstdc++ installed on the same machine without too much worries of breaking my linux install. The Os is 32bit ubuntu.
I have not cross compiled before and just wanted to check that if I set my CFLAGS and LDFLAGS
for the appropriate CPU I should be ok once I have the correct versions of libstdc++ installed.
I checked a 64bit version of ubuntu however this has a symbolic link
lib64 -> lib
this would mess up lots if this is the case on a 32bit machine too anyone know how to sort this?
I am hitting the following error at the moment
[exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.2.4/libstdc++.so
[exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.2.4/libstdc++.a
when searching for -lstdc++ [exec] /usr/bin/ld: skipping incompatible
and so on till
[exec] /usr/bin/ld: cannot find -lstdc++
[exec] collect2: ld returned 1 exit status
Which seems to be due to fact I do not have the 64bit version of libstdc++
Sure you can.
Just put them into /usr/lib and /usr/lib64, respectively.
Can't check it on Ubuntu, but on Fedora they get there right from the packages:
[~#] repoquery -q -l libstdc++.i386
/usr/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6.0.10
[~#] repoquery -q -l libstdc++.x86_64
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.10