Bug #907

Troubles while compiling the client + minor hints to fix some of them

Added by liveriondev over 8 years ago. Updated over 8 years ago.

Status:Rejected Start date:05/16/2010
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:Build
Target version:-

Description

I'm using Debian and I'm following the steps from the page http://dev.ryzom.com/wiki/ryzom/BuildForLinux.

When linking the client, I got this message :

/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_opengl.a(driver_opengl.o): In function `NL3D::CDriverGL::getCurrentScreenMode(NL3D::GfxMode&)':
driver_opengl.cpp:(.text+0x3b71): undefined reference to `XF86VidModeGetModeLine'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_opengl.a(driver_opengl.o): In function `NL3D::CDriverGL::getModes(std::vector<NL3D::GfxMode, std::allocator<NL3D::GfxMode> >&)':
driver_opengl.cpp:(.text+0x3d31): undefined reference to `XF86VidModeGetAllModeLines'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_opengl.a(driver_opengl.o): In function `NL3D::CDriverGL::release()':
driver_opengl.cpp:(.text+0x5c97): undefined reference to `XF86VidModeSwitchToMode'
driver_opengl.cpp:(.text+0x5d3d): undefined reference to `XF86VidModeSetViewPort'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_opengl.a(driver_opengl.o): In function `NL3D::CDriverGL::setDisplay(void*, NL3D::GfxMode const&, bool, bool)':
driver_opengl.cpp:(.text+0xa066): undefined reference to `XF86VidModeGetModeLine'
driver_opengl.cpp:(.text+0xa092): undefined reference to `XF86VidModeGetViewPort'
driver_opengl.cpp:(.text+0xa0b8): undefined reference to `XF86VidModeGetAllModeLines'
driver_opengl.cpp:(.text+0xa1d2): undefined reference to `XF86VidModeSwitchToMode'
driver_opengl.cpp:(.text+0xa27e): undefined reference to `XF86VidModeSetViewPort'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnelsnd.a(sound_driver.o): In function `NLSOUND::ISoundDriver::createDriver(NLSOUND::ISoundDriver::IStringMapperProvider*, NLSOUND::ISoundDriver::TDriver)':
sound_driver.cpp:(.text+0x261): undefined reference to `NLSOUND::createISoundDriverInstanceFMod(NLSOUND::ISoundDriver::IStringMapperProvider*)'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(sound_driver_al.o): In function `NLSOUND::CSoundDriverAL::countMaxEffects()':
sound_driver_al.cpp:(.text+0x490): undefined reference to `AlExtEfx'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(sound_driver_al.o): In function `NLSOUND::CSoundDriverAL::createReverbEffect()':
sound_driver_al.cpp:(.text+0x10c3): undefined reference to `alGenAuxiliaryEffectSlots'
sound_driver_al.cpp:(.text+0x10eb): undefined reference to `alGenEffects'
sound_driver_al.cpp:(.text+0x1114): undefined reference to `alEffecti'
sound_driver_al.cpp:(.text+0x113c): undefined reference to `alAuxiliaryEffectSloti'
sound_driver_al.cpp:(.text+0x1158): undefined reference to `alAuxiliaryEffectSloti'
sound_driver_al.cpp:(.text+0x1180): undefined reference to `NLSOUND::CStandardReverbEffectAL::CStandardReverbEffectAL(NLSOUND::CSoundDriverAL*, unsigned int, unsigned int)'
sound_driver_al.cpp:(.text+0x12fb): undefined reference to `alDeleteAuxiliaryEffectSlots'
sound_driver_al.cpp:(.text+0x1383): undefined reference to `alDeleteAuxiliaryEffectSlots'
sound_driver_al.cpp:(.text+0x1394): undefined reference to `alDeleteEffects'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(sound_driver_al.o): In function `NLSOUND::CSoundDriverAL::initDevice(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, NLSOUND::ISoundDriver::TSoundOptions)':
sound_driver_al.cpp:(.text+0x16a9): undefined reference to `AlEnumerateAllExt'
sound_driver_al.cpp:(.text+0x1894): undefined reference to `alExtInitDevice'
sound_driver_al.cpp:(.text+0x18bf): undefined reference to `AlExtEfx'
sound_driver_al.cpp:(.text+0x1a5a): undefined reference to `AlExtEfx'
sound_driver_al.cpp:(.text+0x1a6c): undefined reference to `AlExtXRam'
sound_driver_al.cpp:(.text+0x1e12): undefined reference to `AlExtXRam'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(sound_driver_al.o): In function `NLSOUND::CSoundDriverAL::CSoundDriverAL(NLSOUND::ISoundDriver::IStringMapperProvider*)':
sound_driver_al.cpp:(.text+0x213c): undefined reference to `alExtInit'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(sound_driver_al.o): In function `NLSOUND::CSoundDriverAL::CSoundDriverAL(NLSOUND::ISoundDriver::IStringMapperProvider*)':
sound_driver_al.cpp:(.text+0x22bd): undefined reference to `alExtInit'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(sound_driver_al.o): In function `NLSOUND::CSoundDriverAL::getDevices(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)':
sound_driver_al.cpp:(.text+0x2fb2): undefined reference to `AlEnumerateAllExt'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(source_al.o): In function `NLSOUND::CSourceAL::setupEffectFilter()':
source_al.cpp:(.text+0x226): undefined reference to `alFilterf'
source_al.cpp:(.text+0x24c): undefined reference to `alFilterf'
source_al.cpp:(.text+0x2e2): undefined reference to `alFilterf'
source_al.cpp:(.text+0x30a): undefined reference to `alFilterf'
source_al.cpp:(.text+0x358): undefined reference to `alFilterf'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(source_al.o): In function `NLSOUND::CSourceAL::setEffectFilter(NLSOUND::ISource::TFilter, float, float, float)':
source_al.cpp:(.text+0x3ff): undefined reference to `alFilteri'
source_al.cpp:(.text+0x428): undefined reference to `alFilteri'
source_al.cpp:(.text+0x458): undefined reference to `alFilteri'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(source_al.o): In function `NLSOUND::CSourceAL::setEffect(NLSOUND::IReverbEffect*)':
source_al.cpp:(.text+0x51f): undefined reference to `typeinfo for NLSOUND::CEffectAL'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(source_al.o): In function `NLSOUND::CSourceAL::setupDirectFilter()':
source_al.cpp:(.text+0x58a): undefined reference to `alFilterf'
source_al.cpp:(.text+0x616): undefined reference to `alFilterf'
source_al.cpp:(.text+0x63a): undefined reference to `alFilterf'
source_al.cpp:(.text+0x662): undefined reference to `alFilterf'
source_al.cpp:(.text+0x688): undefined reference to `alFilterf'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(source_al.o):source_al.cpp:(.text+0x6ae): more undefined references to `alFilterf' follow
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(source_al.o): In function `NLSOUND::CSourceAL::setDirectFilter(NLSOUND::ISource::TFilter, float, float, float)':
source_al.cpp:(.text+0x74f): undefined reference to `alFilteri'
source_al.cpp:(.text+0x778): undefined reference to `alFilteri'
source_al.cpp:(.text+0x7a8): undefined reference to `alFilteri'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(source_al.o): In function `NLSOUND::CSourceAL::release()':
source_al.cpp:(.text+0x12cf): undefined reference to `alDeleteFilters'
source_al.cpp:(.text+0x12f8): undefined reference to `alDeleteFilters'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(source_al.o): In function `NLSOUND::CSourceAL::CSourceAL(NLSOUND::CSoundDriverAL*)':
source_al.cpp:(.text+0x1900): undefined reference to `alGenFilters'
source_al.cpp:(.text+0x191c): undefined reference to `alFilteri'
source_al.cpp:(.text+0x1938): undefined reference to `alFilterf'
source_al.cpp:(.text+0x1954): undefined reference to `alFilterf'
source_al.cpp:(.text+0x1968): undefined reference to `alGenFilters'
source_al.cpp:(.text+0x1984): undefined reference to `alFilteri'
source_al.cpp:(.text+0x19a0): undefined reference to `alFilterf'
source_al.cpp:(.text+0x19bc): undefined reference to `alFilterf'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(source_al.o): In function `NLSOUND::CSourceAL::CSourceAL(NLSOUND::CSoundDriverAL*)':
source_al.cpp:(.text+0x1cd0): undefined reference to `alGenFilters'
source_al.cpp:(.text+0x1cec): undefined reference to `alFilteri'
source_al.cpp:(.text+0x1d08): undefined reference to `alFilterf'
source_al.cpp:(.text+0x1d24): undefined reference to `alFilterf'
source_al.cpp:(.text+0x1d38): undefined reference to `alGenFilters'
source_al.cpp:(.text+0x1d54): undefined reference to `alFilteri'
source_al.cpp:(.text+0x1d70): undefined reference to `alFilterf'
source_al.cpp:(.text+0x1d8c): undefined reference to `alFilterf'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(source_al.o): In function `NLSOUND::CSourceAL::~CSourceAL()':
source_al.cpp:(.text+0x1e78): undefined reference to `alDeleteFilters'
source_al.cpp:(.text+0x1e98): undefined reference to `alDeleteFilters'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(source_al.o): In function `NLSOUND::CSourceAL::~CSourceAL()':
source_al.cpp:(.text+0x1f90): undefined reference to `alDeleteFilters'
source_al.cpp:(.text+0x1fb0): undefined reference to `alDeleteFilters'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(source_al.o): In function `NLSOUND::CSourceAL::~CSourceAL()':
source_al.cpp:(.text+0x20a0): undefined reference to `alDeleteFilters'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(source_al.o):source_al.cpp:(.text+0x20c0): more undefined references to `alDeleteFilters' follow
collect2: ld returned 1 exit status

The XF86* related failures can be fixed by adding '-lXxf86vm' into the command line.

About the other ones, most of them disappear by using a newer version of OpenAL than the one available in Debian (see http://www.kcat.strangesoft.net/openal.html#download, thank you ratmice_ :) )

But the following errors are still remaining and I think they come from the code source itself :

/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnelsnd.a(sound_driver.o): In function `NLSOUND::ISoundDriver::createDriver(NLSOUND::ISoundDriver::IStringMapperProvider*, NLSOUND::ISoundDriver::TDriver)':
sound_driver.cpp:(.text+0x261): undefined reference to `NLSOUND::createISoundDriverInstanceFMod(NLSOUND::ISoundDriver::IStringMapperProvider*)'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(sound_driver_al.o): In function `NLSOUND::CSoundDriverAL::countMaxEffects()':
sound_driver_al.cpp:(.text+0x490): undefined reference to `AlExtEfx'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(sound_driver_al.o): In function `NLSOUND::CSoundDriverAL::createReverbEffect()':
sound_driver_al.cpp:(.text+0x1180): undefined reference to `NLSOUND::CStandardReverbEffectAL::CStandardReverbEffectAL(NLSOUND::CSoundDriverAL*, unsigned int, unsigned int)'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(sound_driver_al.o): In function `NLSOUND::CSoundDriverAL::initDevice(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, NLSOUND::ISoundDriver::TSoundOptions)':
sound_driver_al.cpp:(.text+0x16a9): undefined reference to `AlEnumerateAllExt'
sound_driver_al.cpp:(.text+0x1894): undefined reference to `alExtInitDevice'
sound_driver_al.cpp:(.text+0x18bf): undefined reference to `AlExtEfx'
sound_driver_al.cpp:(.text+0x1a5a): undefined reference to `AlExtEfx'
sound_driver_al.cpp:(.text+0x1a6c): undefined reference to `AlExtXRam'
sound_driver_al.cpp:(.text+0x1e12): undefined reference to `AlExtXRam'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(sound_driver_al.o): In function `NLSOUND::CSoundDriverAL::CSoundDriverAL(NLSOUND::ISoundDriver::IStringMapperProvider*)':
sound_driver_al.cpp:(.text+0x213c): undefined reference to `alExtInit'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(sound_driver_al.o): In function `NLSOUND::CSoundDriverAL::CSoundDriverAL(NLSOUND::ISoundDriver::IStringMapperProvider*)':
sound_driver_al.cpp:(.text+0x22bd): undefined reference to `alExtInit'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(sound_driver_al.o): In function `NLSOUND::CSoundDriverAL::getDevices(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)':
sound_driver_al.cpp:(.text+0x2fb2): undefined reference to `AlEnumerateAllExt'
/home/ocb/prog/ryzom/ryzom/code/ryzom//../../code/install/release/lib/libnel_drv_openal.a(source_al.o): In function `NLSOUND::CSourceAL::setEffect(NLSOUND::IReverbEffect*)':
source_al.cpp:(.text+0x51f): undefined reference to `typeinfo for NLSOUND::CEffectAL'
collect2: ld returned 1 exit status

Any idea to solve this problem ?

History

#1 Updated by vl over 8 years ago

I don't know what the problem is exactly but I know that if you compile the client with cmake system, you'll not have these errors.

#2 Updated by liveriondev over 8 years ago

Just for information, about packaging NeLNS, I got this message :

CPack: Create package using DEB
CPack: Install projects
CPack: - Run preinstall target for: NeLNS
CPack: - Install project: NeLNS
CMake Error at /home/ocb/prog/ryzom/ryzom/code/nelns/build/cmake_install.cmake:36 (FILE):
file problem creating directory: /usr/local/var/log/nelns

If I create this directory, it builds fine.

#3 Updated by liveriondev over 8 years ago

Ok. Compilation success.

But I have a huge list of "file not found" when running the client. Even with the 7z file downloaded from sf.net :/

The best I can see is a black screen with lots of labels showing an alternative text for each missing picture. Do the advices from http://dev.ryzom.com/wiki/ryzom/RunClientOnWindows not apply for Linux ?

#4 Updated by kervala over 8 years ago

liveriondev wrote:

Ok. Compilation success.

But I have a huge list of "file not found" when running the client. Even with the 7z file downloaded from sf.net :/

The best I can see is a black screen with lots of labels showing an alternative text for each missing picture. Do the advices from http://dev.ryzom.com/wiki/ryzom/RunClientOnWindows not apply for Linux ?

Don't worry, even with official client it has a lot of files not found :)

#5 Updated by liveriondev over 8 years ago

Hmm...

What I wanted to say is that, in my case, I only have unclickable alternative labels.

I guess/hope the official client is not that bad !

#6 Updated by kervala over 8 years ago

Sure you have to copy/move your client binary to your game folder otherwise it can't find anything :) Or you can "install" binaries and launch it from your game folder.

Example :

Client is /usr/bin/client and you're in /home/login/games/ryzom_core, so you just have to type "client".

#7 Updated by kervala over 8 years ago

  • Status changed from New to Rejected

Also available in: Atom PDF