Disko Forum logo Login  |  Register  |  Lost Password
Problem building disko tools.

Duran
Posts: 37
graphgraph

Problem building disko tools. 6 Years ago  
Dear all,

I've uploaded my copy of disko repository (the last commit is 5569dae7de213bc87d122a30bfaadd39b32e8091). The version of gcc was 4.4.1.

I've found two problems while compiling. The first one is:

[CXX] src/mmstools/mmsfile.cpp
src/mmstools/mmsfile.cpp: In member function ‘bool MMSFile::rewindFile()’:
src/mmstools/mmsfile.cpp:492: error: ‘rewind’ is not a member of ‘std’
scons: *** [build/libs/mmstools/mmsfile.os] Error 1
scons: building terminated because of errors.

I've fixed the error with this patch:

diff --git a/src/mmstools/mmsfile.cpp b/src/mmstools/mmsfile.cpp
index ed70e45..8e9d092 100755
--- a/src/mmstools/mmsfile.cpp
+++ b/src/mmstools/mmsfile.cpp
@@ -26,7 +26,7 @@
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/

-#include <stdio.h>
+#include <cstdio>
#include <string.h>
#include <sys/time.h>
#include <stdlib.h>

(This same path has been reported in another message but there has not been any answer about it).

And the second problem is:

[LD] bin/taff
lib/libmmsgui.so: undefined reference to `MMSTranslator::onTargetLangChanged'
lib/libmmsgui.so: undefined reference to `MMSTranslator::translate(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >& )'
lib/libmmsgui.so: undefined reference to `MMSTranslator::MMSTranslator()'
lib/libmmsgui.so: undefined reference to `MMSTranslator::~MMSTranslator()'
collect2: ld returned 1 exit status
scons: *** [bin/taff] Error 1


Thanks and Best Regards,
Joaquim Duran
 
  The administrator has disabled public write access.
Problem building disko tools.

Stefan
Posts: 91
graph

Re:Problem building disko tools. 6 Years ago  
Hi Joaquim,

I have fixed both your issues in the git. Additionally I think you should compile disko with big_lib=y, that will result in a single disko library and should significantly reduce the hassle during the link process.

This is currently our preferred way of linking, so that we weren't aware that the multilib build is broken. Thanks for the hint.

kind regards
Stefan
 
  The administrator has disabled public write access.
Problem building disko tools.

Duran
Posts: 37
graphgraph

Re:Problem building disko tools. 6 Years ago  
Stefan,

I've recompiled disko in one lig libray with no problem, but when compiling in various libraries, there are still problems:

[LD] bin/taff
lib/libmmscore.so: undefined reference to `MMSAV:ause()'
lib/libmmscore.so: undefined reference to `MMSSound::~MMSSound()'
lib/libmmscore.so: undefined reference to `MMSSound::MMSSound(bool)'
lib/libmmscore.so: undefined reference to `MMSSound:tartPlaying(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)'
lib/libmmscore.so: undefined reference to `MMSAV::isPlaying()'
lib/libmmscore.so: undefined reference to `MMSAV::getTimes(int*, int*)'
lib/libmmscore.so: undefined reference to `MMSAV:lay()'
lib/libmmscore.so: undefined reference to `MMSAV:top(bool)'
lib/libmmscore.so: undefined reference to `MMSAV::isPaused()'
collect2: ld returned 1 exit status
scons: *** [bin/taff] Error 1

Also, as a improvement, I've seen that the single disko that has installed is not stripped. The library should be stripped when compiled for release (no debug nor test). Stripping a library or an executable reduces its size. Take a look at gcc manual, in linker options, option '-s'.

Thanks and Best Regards,
Joaquim Duran
 
  The administrator has disabled public write access.
Problem building disko tools.

Matthias
Posts: 64
graphgraph

Gender: Male Disko Location: Berlin, Germany Birthdate: 1979-04-25
Re:Problem building disko tools. 6 Years ago  
Hi Joaquim,

I fixed the linking bug of taff. Additionally I added the
stripping flag if debug=n as you suggested.
Furthermore there is a new option 'size' that enables
optimizing for size (works only if debug=n).

Thanks for your help...

Best regards,
Matthias
 
  The administrator has disabled public write access.
Powered by FireBoard
get the latest posts directly to your desktop