Jump to content

Strange build issues under linux


Reiken

Recommended Posts

Finally got around to building a mjolnir/later copy to try out the new external music lump feature (thanks), and ran into a few odd issues during the build process that I thought I should note:

1. I initially interacted directly with CMake (make a build subdir, etc) and all was well except for the build scripts failing to make a link, 'libpng.a' to 'libpng15.a' (renaming libpng15.a to libpng.a myself fixed it, and this ended up being the only way I could get Eternity to build, in the end.)

2. After the first attempt at the above, I decided to do what I should have in the first place, and read the docs ;), so I went the autogen.sh route and got a cryptic error during the make, maybe from too much strictness from the compiler on casting? Here it is:

amx.cpp: In function ‘int amx_Callback(AMX*, cell, cell*, cell*)’:
amx.cpp:454: error: cast from ‘cell (*)(tagAMX*, cell*)’ to ‘cell’ loses precision
amx.cpp: In function ‘int amx_BrowseRelocate(AMX*)’:
amx.cpp:715: error: cast from ‘unsigned char*’ to ‘ucell’ loses precision
amx.cpp:778: error: cast from ‘unsigned char*’ to ‘ucell’ loses precision
amx.cpp: In function ‘void expand(unsigned char*, long int, long int)’:
amx.cpp:831: warning: comparison between signed and unsigned integer expressions
amx.cpp: In function ‘int amx_Register(AMX*, AMX_NATIVE_INFO*, int)’:
amx.cpp:1613: error: cast from ‘cell (*)(tagAMX*, cell*)’ to ‘ucell’ loses precision
amx.cpp: In function ‘int amx_Exec(AMX*, cell*, int, int, ...)’:
amx.cpp:1743: error: cast from ‘void**’ to ‘cell’ loses precision
amx.cpp:1788: warning: comparison between signed and unsigned integer expressions
3. Once everything was built, the eternity bash script which calls eternity.real had to have the eternity.real call manually edited to ./eternity.real.

Sorry if these are non-issues/probably arising from my own configuration, but I thought I'd pass these along just in case.

I'm running Ubuntu 10.04 64-bit, and using gcc 4.4.3.

edit: Oh yeah, this is an svn build of 3.40.22 Midgard

Share this post


Link to post
Reiken said:

Finally got around to building a mjolnir/later copy to try out the new external music lump feature (thanks), and ran into a few odd issues during the build process that I thought I should note:

1. I initially interacted directly with CMake (make a build subdir, etc) and all was well except for the build scripts failing to make a link, 'libpng.a' to 'libpng15.a' (renaming libpng15.a to libpng.a myself fixed it, and this ended up being the only way I could get Eternity to build, in the end.)

2. After the first attempt at the above, I decided to do what I should have in the first place, and read the docs ;), so I went the autogen.sh route and got a cryptic error during the make, maybe from too much strictness from the compiler on casting? Here it is:

amx.cpp: In function ‘int amx_Callback(AMX*, cell, cell*, cell*)’:
amx.cpp:454: error: cast from ‘cell (*)(tagAMX*, cell*)’ to ‘cell’ loses precision
amx.cpp: In function ‘int amx_BrowseRelocate(AMX*)’:
amx.cpp:715: error: cast from ‘unsigned char*’ to ‘ucell’ loses precision
amx.cpp:778: error: cast from ‘unsigned char*’ to ‘ucell’ loses precision
amx.cpp: In function ‘void expand(unsigned char*, long int, long int)’:
amx.cpp:831: warning: comparison between signed and unsigned integer expressions
amx.cpp: In function ‘int amx_Register(AMX*, AMX_NATIVE_INFO*, int)’:
amx.cpp:1613: error: cast from ‘cell (*)(tagAMX*, cell*)’ to ‘ucell’ loses precision
amx.cpp: In function ‘int amx_Exec(AMX*, cell*, int, int, ...)’:
amx.cpp:1743: error: cast from ‘void**’ to ‘cell’ loses precision
amx.cpp:1788: warning: comparison between signed and unsigned integer expressions
3. Once everything was built, the eternity bash script which calls eternity.real had to have the eternity.real call manually edited to ./eternity.real.

Sorry if these are non-issues/probably arising from my own configuration, but I thought I'd pass these along just in case.

I'm running Ubuntu 10.04 64-bit, and using gcc 4.4.3.

edit: Oh yeah, this is an svn build of 3.40.22 Midgard

You need to define EE_NO_SMALL_SUPPORT when compiling for 64-bit targets.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...