compiling a tar ball - needed help please...
Hello,
Installing from tar ball is always difficult for me. The steps are easy but i get stuck always in 'make'. Here, i try to install a package called openalpp (openAL++ - Open Audio Library ++). Sometimes i can't understand where is the error. Can anyone make out? Here is the error displayed when i tried to 'make'. **************************************************** Making all in tests make[1]: Entering directory `/home/priya/rpms_tars/OpenAL/openalpp/tes ts' /bin/sh ../libtool --mode=link g++ -O2 -Wall -W -o teststream test stream.o ../src/libopenalpp.la -lopenal -lopenal g++ -O2 -Wall -W -o .libs/teststream teststream.o ../src/.libs/libope nalpp.so -lopenal -Wl,--rpath -Wl,/usr/local/lib teststream.o(.text+0x33): In function `main': : undefined reference to `ost::InetAddress::InetAddress[in-charge](cha r const*, ost::InetAddrValidator const*)' teststream.o(.text+0x40): In function `main': : undefined reference to `ost::UDPSocket::UDPSocket[in-charge](ost::In etAddress const&, unsigned short)' teststream.o(.text+0x48): In function `main': : undefined reference to `ost::InetAddress::~InetAddress [in-charge]() ' teststream.o(.text+0x5f): In function `main': : undefined reference to `openalpp::NetStream::NetStream[in-charge](os t::UDPSocket*, openalpp::SampleFormat, unsigned, unsigned)' teststream.o(.text+0xdb): In function `main': : undefined reference to `openalpp::NetStream::~NetStream [in-charge]( )' teststream.o(.text+0xe6): In function `main': : undefined reference to `ost::UDPSocket::~UDPSocket [in-charge]()' teststream.o(.text+0x121): In function `main': : undefined reference to `ost::InetAddress::~InetAddress [in-charge]() ' teststream.o(.text+0x203): In function `main': : undefined reference to `openalpp::NetStream::~NetStream [in-charge]( )' teststream.o(.text+0x212): In function `main': : undefined reference to `ost::UDPSocket::~UDPSocket [in-charge]()' ../src/.libs/libopenalpp.so: undefined reference to `dlerror' ../src/.libs/libopenalpp.so: undefined reference to `pthread_create' ../src/.libs/libopenalpp.so: undefined reference to `openalpp::Stream: :Stop(unsigned)' ../src/.libs/libopenalpp.so: undefined reference to `pthread_cancel' ../src/.libs/libopenalpp.so: undefined reference to `dlopen' ../src/.libs/libopenalpp.so: undefined reference to `dlsym' ../src/.libs/libopenalpp.so: undefined reference to `openalpp::Stream: :Stream[in-charge](openalpp::Stream const&)' ../src/.libs/libopenalpp.so: undefined reference to `pthread_mutex_try lock' ../src/.libs/libopenalpp.so: undefined reference to `pthread_atfork' ../src/.libs/libopenalpp.so: undefined reference to `pthread_join' ../src/.libs/libopenalpp.so: undefined reference to `openalpp::Stream: :Record(unsigned)' collect2: ld returned 1 exit status make[1]: *** [teststream] Error 1 make[1]: Leaving directory `/home/priya/rpms_tars/OpenAL/openalpp/test s' make: *** [all-recursive] Error 1 ****************************** Thanks. |
Blah. Make makes probles sometimes.. It depends on your distro, libraries and compiler versions.. If some sort of program make that problem to me and I can't fix it, I just leave that program and search for an alternative. If it is something that can't be replaced..
About the current error.. it sounds to me like a syntaxis error in the teststream.o file. So try get the source from somewhere else. If it si sure is working.. then probably your compiler doesn't work.. Btw, if it is tarball why don't you try installing it via pkgtool? |
Well, did the configure step give errors? Did you add any non-standard options? The linker doesn't seem to get any libraries, look at the missing pthread and dlopen errors, these are system libs, it should have -ldl -lphthread in the command line, in addition to the stuff that gets you the specific libs.
try a make clean && make. Hope it helps, mlp |
Yes, i tried doing 'make clean' and then 'make' again. But the same error exists... I tried different source file as told by ivanatora. I think the installation was success. how to check that actually? hmm... i checked in /usr/local/include. it had created a directory alpp and all the .h files are available there. so, that means the installation is fine right? but....
In the src directory there are some .cpp files. when i make and run them it says 'segmentation fault' :( Also, when i compile the test programs it gives some error. I also checked if there are some errors in ./configure. it tells the following... ********************************************** loading cache ./config.cache checking for c++... (cached) g++ checking whether the C++ compiler (g++ ) works... yes checking whether the C++ compiler (g++ ) is a cross-compiler... no checking whether we are using GNU C++... (cached) yes checking whether g++ accepts -g... (cached) yes checking how to run the C++ preprocessor... (cached) g++ -E checking how to run the C preprocessor... (cached) cc -E checking whether ln -s works... (cached) yes checking for main in -lopenal... (cached) yes checking for main in -lccgnu... (cached) no Excluding streaming and capture capabilities (CommonC++ 1.9 not found) checking for ANSI C header files... (cached) yes checking for working const... (cached) no creating ./config.status creating Makefile creating src/Makefile ********************************************************** it tells that CommonC++ 1.9 is not installed but my #rpm -qa | grep CommonC++ shows CommonC++-devel-1.9.5-33 CommonC++-1.9.5-33 and one of my test program error is like this... ___________________________________- g++ testmic.cpp -o testmic In file included from /usr/include/cc++/config.h:452, from /usr/include/cc++/thread.h:49, from ../include/streamupdater.h:28, from ../include/stream.h:27, from ../include/source.h:28, from ../include/alpp.h:34, from testmic.cpp:1: /usr/include/asm/atomic.h:40:2: warning: #warning Using kernel header in userland program. BAD! /tmp/ccGyeEzL.o(.text+0x19): In function `main': : undefined reference to `openalpp::InputDevice::InputDevice[in-charge]()' /tmp/ccGyeEzL.o(.text+0x32): In function `main': : undefined reference to `openalpp::Source::Source[in-charge](openalpp::Stream const&, float, float, float)' /tmp/ccGyeEzL.o(.text+0x41): In function `main': : undefined reference to `openalpp::Source::Play()' /tmp/ccGyeEzL.o(.text+0x75): In function `main': : undefined reference to `openalpp::Source::~Source [in-charge]()' /tmp/ccGyeEzL.o(.text+0x84): In function `main': : undefined reference to `openalpp::InputDevice::~InputDevice [in-charge]()' /tmp/ccGyeEzL.o(.text+0x9b): In function `main': : undefined reference to `openalpp::Source::~Source [in-charge]()' /tmp/ccGyeEzL.o(.text+0xb5): In function `main': : undefined reference to `openalpp::InputDevice::~InputDevice [in-charge]()' collect2: ld returned 1 exit status make: *** [testmic] Error 1 ____________________ it clearly takes the .h files from /usr/include/c++... then where is the error? can anyone help me? thanks |
All times are GMT -5. The time now is 12:55 PM. |