Results 1 to 10 of 10
  1. #1
    Member Katt's Avatar
    Join Date
    Jan 2008
    Location
    Norway
    Posts
    4

    Default Problems compiling from source in linux, Screen.o, strlen, memset error

    Hi. I tried to compile from source today. This is what stopped the buidling, I guess.

    Code:
    g++ -DHAVE_CONFIG_H -I.    -fno-exceptions -finline-limit=300   -g -O2  -MT Screen.o -MD -MP -MF .deps/Screen.Tpo -c -o Screen.o Screen.cpp
    In file included from global.h:158,
                     from Screen.cpp:1:
    StdString.h: In function ‘void StdString::ssadd(std::string&, const char*)’:
    StdString.h:223: error: ‘strlen’ was not declared in this scope
    In file included from RageTypes.h:6,
                     from Actor.h:6,
                     from ActorFrame.h:6,
                     from Screen.h:6,
                     from Screen.cpp:2:
    EnumHelper.h: At global scope:
    EnumHelper.h:54: error: ‘auto_ptr’ has not been declared
    EnumHelper.h:54: error: expected ‘,’ or ‘...’ before ‘<’ token
    In file included from Screen.h:11,
                     from Screen.cpp:2:
    InputQueue.h: In constructor ‘InputQueueCode::ButtonPress::ButtonPress()’:
    InputQueue.h:35: error: ‘memset’ was not declared in this scope
    make[3]: *** [Screen.o] Error 1
    make[3]: Leaving directory `/home/endre/stepmania-cvs-20080103/src'
    make[2]: *** [all] Error 2
    make[2]: Leaving directory `/home/endre/stepmania-cvs-20080103/src'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/endre/stepmania-cvs-20080103'
    make: *** [build-stamp] Error 2
    Any suggestions? :)

    Reason for compiling, the binary refuses to die when I exit stepmania. I have no idea why, no mysterious output in the terminal either. kill [pid] works though, but I hoped to avoid that.
    Last edited by Katt; 10-04-2008 at 12:47 AM.

  2. #2

    Default

    Hey I am new to the site and I down loaded Stepmania on my laptop and I downloaded to songs in a way I was not suposed to. instead of saveing them to a folder I opened the song and installed it directly into the game. it worked for awhile. then this one song came up by HUGO FUKT and it completely skrewed up my stepmania file. I can no longer play it because I dont know how to get rid of that song from the game. I tried deleting it from my laptop and then redownloading the game but the song HUGO FUKT is still there. does anyone know how to fix this? if so please email me the details to my email address instead thanks. vampireheart_69@yahoo.com

  3. #3

    Default

    I tried also on my x86_64 machine but came out with this-
    Code:
    Making all in src
    make[1]: Entering directory `/home/modmadmike/Downloads/StepMania-CVS-20080103-src/src'
    if test -e ver.cpp; then \
    		build=`sed -rs 's/.*version_num = ([[:digit:]]+);/\1/;q' ver.cpp`; \
    		build=`expr $build + 1`; \
    	else \
    		build=0; \
    	fi; \
    	echo "extern const unsigned long version_num = $build;" > ver.cpp; \
    	echo "extern const char *const version_time = \"`date`\";" >> ver.cpp;
    make  all-am
    make[2]: Entering directory `/home/modmadmike/Downloads/StepMania-CVS-20080103-src/src'
    g++ -DHAVE_CONFIG_H -I.    -fno-exceptions -finline-limit=300   -Wall -W -Wno-unused -Wno-switch -O3  -MT Screen.o -MD -MP -MF .deps/Screen.Tpo -c -o Screen.o Screen.cpp
    In file included from global.h:158,
                     from Screen.cpp:1:
    StdString.h: In function ‘void StdString::ssadd(std::string&, const char*)’:
    StdString.h:223: error: ‘strlen’ was not declared in this scope
    In file included from RageTypes.h:6,
                     from Actor.h:6,
                     from ActorFrame.h:6,
                     from Screen.h:6,
                     from Screen.cpp:2:
    EnumHelper.h: At global scope:
    EnumHelper.h:54: error: ‘auto_ptr’ has not been declared
    EnumHelper.h:54: error: expected ‘,’ or ‘...’ before ‘<’ token
    In file included from Screen.h:11,
                     from Screen.cpp:2:
    InputQueue.h: In constructor ‘InputQueueCode::ButtonPress::ButtonPress()’:
    InputQueue.h:35: error: ‘memset’ was not declared in this scope
    make[2]: *** [Screen.o] Error 1
    make[2]: Leaving directory `/home/modmadmike/Downloads/StepMania-CVS-20080103-src/src'
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/home/modmadmike/Downloads/StepMania-CVS-20080103-src/src'
    make: *** [all-recursive] Error 1

  4. #4
    Member vyhd's Avatar
    Join Date
    Sep 2006
    Location
    Ohio
    Posts
    752

    Default

    You're compiling StepMania on GCC 4.3, and GCC 4.3 requires some headers to be used that previously weren't needed. Add the following to global.h:

    #include <climits>
    #include <cstring>
    #include <memory>
    Last edited by vyhd; 12-03-2008 at 02:48 AM. Reason: SM4 also uses auto_ptr
    -----BEGIN GEEK CODE BLOCK-----
    Version: 3.1
    GMU/CS d- s++: a--- C++ UL++++ P+++ L+++ !E W+++ N- o? K? w-- O? M V?
    PS+++ PE- Y+ PGP-- t 5? X R tv-- b++ DI+ D+ G e- h r++ y-
    ------END GEEK CODE BLOCK------

  5. #5

    Default

    sry to be a idiot but were is my global.h file, i did a search but no go

  6. #6

    Default

    That got me much farther than before, but now when I run make I get:
    ScreenOptionsMasterPrefs.cpp:148: error: explicit template specialization cannot have a storage class
    Last edited by SafeTinspector; 01-17-2009 at 01:01 AM.

  7. #7

    Default Fixed! Source patch by prusnak

    Looks like prusnak patched the source to address the make problem.
    stepmania-gcc43.patch


    Download sm4 source, unpack to folder, patch source using the file from the above link.
    Make sure you've installed all the libs you'll need (like ffmpeg, MAD and theora) as the make may not necessarily error out on them, but you'll miss the resulting functionality.

    Then I ran make and make install and voila! 64 bit Stepmania with no crash!
    And, on my laptop no less (video is ati mobile x1300), able to run full speed at 1440X900. Yay!
    I was not able to do so with the pre-compiled binaries under 32 bit linux.

  8. #8

    Default

    Quote Originally Posted by Vyhd View Post
    You're compiling StepMania on GCC 4.3, and GCC 4.3 requires some headers to be used that previously weren't needed. Add the following to global.h:

    #include <climits>
    #include <cstring>
    #include <memory>
    thanks that seems to have fixed it so far (Still compiling). I can't believe i didn't know where it was last time!

  9. #9

    Default

    NVM it didn't work. I tried
    $ patch ~/Downloads/stepmania-gcc43.patch
    in the StepMania-CVS-20080103-src directory.
    am I doing this right? because its just sitting there without opening a new prompt.

  10. #10

    Default

    nvm got the patch to install by
    $ patch -p1 -i ~/Downloads/stepmania-gcc43.patch
    thx!

Similar Threads

  1. Compiling SM3.9 or SM3.9+ from source is not working
    By swtrse in forum 3rd-Party builds
    Replies: 7
    Last Post: 08-14-2008, 12:58 PM
  2. Failures compiling 3.9+ from source
    By kurisu in forum 3rd-Party builds
    Replies: 3
    Last Post: 07-10-2008, 09:58 PM
  3. Compiling Stepmania 3.9 from Source
    By kurisu in forum General questions
    Replies: 0
    Last Post: 11-08-2007, 07:25 AM
  4. Compiling SM source
    By tjbautista01 in forum General StepMania
    Replies: 1
    Last Post: 09-09-2007, 08:48 AM
  5. Compiling source binaries (dependency hell?)
    By DustAurora in forum General questions
    Replies: 8
    Last Post: 10-21-2006, 07:58 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Thanks to

SourceForge.net Logo