Jump to content

Recommended Posts

Posted

When compiling latest Mangos on Ubuntu i get several warnings. I leave here one of the fixes while i learn how to fix the rest:

diff --git a/src/game/CombatHandler.cpp b/src/game/CombatHandler.cpp
index ab821bf..a284355 100644
--- a/src/game/CombatHandler.cpp
+++ b/src/game/CombatHandler.cpp
@@ -36,7 +36,7 @@ void WorldSession::HandleAttackSwingOpcode( WorldPacket & recv_data )
    if(!pEnemy)
    {
        if(!guid.IsUnit())
-            sLog.outError("WORLD: %u isn't player, pet or creature", guid.GetString().c_str());
+            sLog.outError("WORLD: %s isn't player, pet or creature", guid.GetString().c_str());
        else
            sLog.outError( "WORLD: Enemy %s not found", guid.GetString().c_str());


The rest of the warnings are divided into 2 groups. The functions which are this 3:

/bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H   -I../../../../dep/ACE_wrappers -I.. -DACE_BUILD_DLL   -W -Wall -Wpointer-arith  -g -O2 -pthread -pipe -O3 -MT libACE_la-LSOCK.lo -MD -MP -MF .deps/libACE_la-LSOCK.Tpo -c -o libACE_la-LSOCK.lo `test -f 'LSOCK.cpp' || echo '../../../../dep/ACE_wrappers/ace/'`LSOCK.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I../../../../dep/ACE_wrappers -I.. -DACE_BUILD_DLL -W -Wall -Wpointer-arith -g -O2 -pthread -pipe -O3 -MT libACE_la-LSOCK.lo -MD -MP -MF .deps/libACE_la-LSOCK.Tpo -c ../../../../dep/ACE_wrappers/ace/LSOCK.cpp  -fPIC -DPIC -o .libs/libACE_la-LSOCK.o
../../../../dep/ACE_wrappers/ace/LSOCK.cpp: In member function ‘ssize_t ACE_LSOCK::send_handle(ACE_HANDLE) const’:
../../../../dep/ACE_wrappers/ace/LSOCK.cpp:62: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../../../dep/ACE_wrappers/ace/LSOCK.cpp: In member function ‘ssize_t ACE_LSOCK::recv_handle(ACE_HANDLE&, char*, ssize_t*) const’:
../../../../dep/ACE_wrappers/ace/LSOCK.cpp:126: warning: dereferencing type-punned pointer will break strict-aliasing rules
mv -f .deps/libACE_la-LSOCK.Tpo .deps/libACE_la-LSOCK.Plo


/bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H   -I../../../../dep/ACE_wrappers -I.. -DACE_BUILD_DLL   -W -Wall -Wpointer-arith  -g -O2 -pthread -pipe -O3 -MT libACE_la-LSOCK_Stream.lo -MD -MP -MF .deps/libACE_la-LSOCK_Stream.Tpo -c -o libACE_la-LSOCK_Stream.lo `test -f 'LSOCK_Stream.cpp' || echo '../../../../dep/ACE_wrappers/ace/'`LSOCK_Stream.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I../../../../dep/ACE_wrappers -I.. -DACE_BUILD_DLL -W -Wall -Wpointer-arith -g -O2 -pthread -pipe -O3 -MT libACE_la-LSOCK_Stream.lo -MD -MP -MF .deps/libACE_la-LSOCK_Stream.Tpo -c ../../../../dep/ACE_wrappers/ace/LSOCK_Stream.cpp  -fPIC -DPIC -o .libs/libACE_la-LSOCK_Stream.o
../../../../dep/ACE_wrappers/ace/LSOCK_Stream.cpp: In member function ‘ssize_t ACE_LSOCK_Stream::send_msg(const iovec*, size_t, ACE_HANDLE)’:
../../../../dep/ACE_wrappers/ace/LSOCK_Stream.cpp:87: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../../../dep/ACE_wrappers/ace/LSOCK_Stream.cpp: In member function ‘ssize_t ACE_LSOCK_Stream::recv_msg(iovec*, size_t, ACE_HANDLE&)’:
../../../../dep/ACE_wrappers/ace/LSOCK_Stream.cpp:123: warning: dereferencing type-punned pointer will break strict-aliasing rules
mv -f .deps/libACE_la-LSOCK_Stream.Tpo .deps/libACE_la-LSOCK_Stream.Plo


/bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H   -I../../../../dep/ACE_wrappers -I.. -DACE_BUILD_DLL   -W -Wall -Wpointer-arith  -g -O2 -pthread -pipe -O3 -MT libACE_la-POSIX_Proactor.lo -MD -MP -MF .deps/libACE_la-POSIX_Proactor.Tpo -c -o libACE_la-POSIX_Proactor.lo `test -f 'POSIX_Proactor.cpp' || echo '../../../../dep/ACE_wrappers/ace/'`POSIX_Proactor.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I../../../../dep/ACE_wrappers -I.. -DACE_BUILD_DLL -W -Wall -Wpointer-arith -g -O2 -pthread -pipe -O3 -MT libACE_la-POSIX_Proactor.lo -MD -MP -MF .deps/libACE_la-POSIX_Proactor.Tpo -c ../../../../dep/ACE_wrappers/ace/POSIX_Proactor.cpp  -fPIC -DPIC -o .libs/libACE_la-POSIX_Proactor.o
../../../../dep/ACE_wrappers/ace/POSIX_Proactor.cpp: In member function ‘virtual int ACE_POSIX_AIOCB_Proactor::get_result_status(ACE_POSIX_Asynch_Result*, int&, size_t&)’:
../../../../dep/ACE_wrappers/ace/POSIX_Proactor.cpp:1242: warning: null argument where non-null required (argument 1)
../../../../dep/ACE_wrappers/ace/POSIX_Proactor.cpp:1246: warning: null argument where non-null required (argument 1)
../../../../dep/ACE_wrappers/ace/POSIX_Proactor.cpp: In member function ‘virtual int ACE_POSIX_AIOCB_Proactor::start_aio_i(ACE_POSIX_Asynch_Result*)’:
../../../../dep/ACE_wrappers/ace/POSIX_Proactor.cpp:1433: warning: null argument where non-null required (argument 1)
../../../../dep/ACE_wrappers/ace/POSIX_Proactor.cpp:1437: warning: null argument where non-null required (argument 1)
mv -f .deps/libACE_la-POSIX_Proactor.Tpo .deps/libACE_la-POSIX_Proactor.Plo

And the warn_unused_result:

  CXX    genrevision.o
../../../../src/tools/genrevision/genrevision.cpp: In function ‘void extractDataFromSvn(FILE*, bool, RawData&)’:
../../../../src/tools/genrevision/genrevision.cpp:41: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:42: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:43: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:44: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:45: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:46: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:47: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:48: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:49: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
../../../../src/tools/genrevision/genrevision.cpp:50: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
 CXXLD  genrevision



 CXX    dotconfpp.o
../../../../src/shared/Config/dotconfpp/dotconfpp.cpp: In member function ‘int DOTCONFDocument::setContent(const char*)’:
../../../../src/shared/Config/dotconfpp/dotconfpp.cpp:425: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
 CXX    mempool.o



 CXX    ModelContainer.o
../../../../src/shared/vmap/ModelContainer.cpp: In member function ‘bool VMAP::ModelContainer::readFile(const char*)’:
../../../../src/shared/vmap/ModelContainer.cpp:258: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
 CXX    SubModel.o



 CXX    VMapManager.o
../../../../src/shared/vmap/VMapManager.cpp: In member function ‘bool VMAP::VMapManager::_existsMap(const std::string&, unsigned int, int, int, bool)’:
../../../../src/shared/vmap/VMapManager.cpp:294: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
 AR     libmangosvmaps.a



 CXX    DBCStores.o
../../../src/game/DBCStores.cpp: In function ‘bool ReadDBCBuildFileText(const std::string&, const char*, std::string&)’:
../../../src/game/DBCStores.cpp:191: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
 CXX    debugcmds.o



 CXX    Map.o
../../../src/game/Map.cpp: In static member function ‘static bool Map::ExistMap(uint32, int, int)’:
../../../src/game/Map.cpp:85: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp: In member function ‘bool GridMap::loadData(char*)’:
../../../src/game/Map.cpp:1131: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp: In member function ‘bool GridMap::loadAreaData(FILE*, uint32, uint32)’:
../../../src/game/Map.cpp:1184: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1192: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp: In member function ‘bool GridMap::loadHeightData(FILE*, uint32, uint32)’:
../../../src/game/Map.cpp:1201: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1212: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1213: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1221: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1222: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1230: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1231: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp: In member function ‘bool GridMap::loadLiquidData(FILE*, uint32, uint32)’:
../../../src/game/Map.cpp:1244: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1258: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1263: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
 CXX    MapInstanced.o

Posted

Looks like good work, but that's only the opinion of someone who is far from qualified to be a developer. I base it on the intuitive sense of the overall structure looking correct and the sensibility of your attention to detail.

So why would this be in Core Mods and not in Patch Submissions? It looks like a must have fix to me.

Posted

I want to remove all this compile bugs before posting on that section. Also fix the scriptdev2 bugs when compiling so it looks more clean. They are not that important as others but look clean when compiling.

Posted

Ok For the second part i found out that the attribute warn_unused_result is a common problem for gcc. gcc 4.5 fixes tis issue but since i have ubuntu 9.10 am still using the 4.4 branch. So this will be solve when 10.04 comes out.

For the first part i need to wait for gcc 4.5 to find out about something since it looks it is also something not fixed yet.

Posted
You could just recompile your kernel with gcc 4.5, but I understand that's a task not many enjoy doing. lol

Still, thanks for keeping on top of this.

There's probably an Ubuntu 9.04/9.10 repository that contains the packages for GCC 4.5+ he could try installing that but that might give more problems.

  • 3 weeks later...
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use