openube / opennero

Game platform for Artificial Intelligence research and education
Other
1 stars 0 forks source link

build of Irrlicht failing on x86_64 linux with relocate errors. #83

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Find an x86_64 linux machine without libpng-dev, libjpeg-dev or libbz2-dev 
libraries installed
2. Run cmake followed by make
3. Observe errors reported in BuildingOpenNero comments

This problem is due to Irrlicht attempting to incorrectly link with libpng, 
libjpeg or libbz2 libraries built from included source.

The workaround for this problem is to install the packages:
  * libpng-dev
  * libjpeg-dev
  * libbz2-dev
Before proceeding with the cmake step.

However, it should be possible to change the build process so that linking 
works correctly in the absence of these libraries.

Original issue reported on code.google.com by ikarpov on 19 Sep 2011 at 7:35

GoogleCodeExporter commented 9 years ago
It may be good to note that this will pop up when running cmake without the 
libraries:

-- Could NOT find JPEG (missing:  JPEG_LIBRARY JPEG_INCLUDE_DIR) 
-- Could NOT find BZip2 (missing:  BZIP2_LIBRARIES BZIP2_INCLUDE_DIR) 

After installing the dev packages, these messages went away and make ran 
without a problem for me.  Thanks much.

Original comment by gregast...@gmail.com on 19 Sep 2011 at 8:03

GoogleCodeExporter commented 9 years ago
It may be worth mentioning that you want libpng 1.2. Irrlicht does not compile 
against 1.5:

[ 34%] Building CXX object 
external/source/Irrlicht/CMakeFiles/Irrlicht.dir/CImageLoaderPNG.cpp.o          

/home/banshee/development/opennero/trunk/external/source/Irrlicht/CImageLoaderPN
G.cpp: In function ‘void irr::video::png_cpexcept_error(png_structp, 
png_const_charp)’:                 
/home/banshee/development/opennero/trunk/external/source/Irrlicht/CImageLoaderPN
G.cpp:31:17: error: invalid use of incomplete type ‘png_struct {aka struct 
png_struct_def}’
/usr/include/png.h:825:16: error: forward declaration of ‘png_struct {aka 
struct png_struct_def}’
/home/banshee/development/opennero/trunk/external/source/Irrlicht/CImageLoaderPN
G.cpp: In function ‘void irr::video::user_read_data_fcn(png_structp, 
png_bytep, png_size_t)’:
/home/banshee/development/opennero/trunk/external/source/Irrlicht/CImageLoaderPN
G.cpp:40:45: error: invalid use of incomplete type ‘png_struct {aka struct 
png_struct_def}’
/usr/include/png.h:825:16: error: forward declaration of ‘png_struct {aka 
struct png_struct_def}’
make[2]: *** 
[external/source/Irrlicht/CMakeFiles/Irrlicht.dir/CImageLoaderPNG.cpp.o] Error 1
make[1]: *** [external/source/Irrlicht/CMakeFiles/Irrlicht.dir/all] Error 2
make: *** [all] Error 2

Original comment by maciej.h...@gmail.com on 14 Nov 2011 at 12:32

GoogleCodeExporter commented 9 years ago

Original comment by ikarpov on 1 Sep 2013 at 7:01

GoogleCodeExporter commented 9 years ago
Issue 140 has been merged into this issue.

Original comment by ikarpov on 1 Sep 2013 at 7:13