tien_huu_1408 Posted October 5, 2016 Author Share Posted October 5, 2016 (edited) @Tux: I continued to face another error after following your instruction. Hope you could help me solve it! I think it is the last step. Thanks! ld: warning: could not create compact unwind for __Z12do_soft_dipsi: stack subl instruction is too different from dwarf stack size 1258 translated messages, 2 fuzzy translations, 270 untranslated messages. ld: warning: could not create compact unwind for _parse: stack subl instruction is too different from dwarf stack size ld: warning: could not create compact unwind for _get_script_name: stack subl instruction is too different from dwarf stack size ld: warning: could not create compact unwind for _init_scripts: stack subl instruction is too different from dwarf stack size ld: warning: could not create compact unwind for _do_list: stack subl instruction is too different from dwarf stack size ld: warning: could not create compact unwind for __ZL8open_asmj: stack subl instruction is too different from dwarf stack size ld: warning: could not create compact unwind for _disp_instruction: stack subl instruction is too different from dwarf stack size ld: warning: could not create compact unwind for __ZL12generate_asmPcjjPhS_: stack subl instruction is too different from dwarf stack size ld: warning: ignoring file /usr/local/lib/libmuparser.dylib, file was built for x86_64 which is not the architecture being linked (i386): /usr/local/lib/libmuparser.dylib Undefined symbols for architecture i386: "mu::ParserBase::DefineOprt(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, double (*)(double, double), unsigned int, mu::EOprtAssociativity, bool)", referenced from: _parse in parser.o "mu::ParserBase::AddCallback(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, mu::ParserCallback const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, mu::ParserCallback, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, mu::ParserCallback> > >&, char const*)", referenced from: _parse in parser.o "mu::ParserBase::SetVarFactory(double* (*)(char const*, void*), void*)", referenced from: _parse in parser.o "mu::ParserBase::DefineInfixOprt(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, double (*)(double), int, bool)", referenced from: _parse in parser.o "mu::ParserBase::SetExpr(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: _parse in parser.o "mu::ParserBase::DefineVar(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, double*)", referenced from: _parse in parser.o "mu::ParserBase::~ParserBase()", referenced from: mu::Parser::~Parser() in parser.o TConsole::TConsole(char*, char*, int, int, commands_t*) in tconsole.o "mu::ParserError::ParserError(char const*, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: AddVariable(char const*, void*) in parser.o "mu::ParserError::~ParserError()", referenced from: AddVariable(char const*, void*) in parser.o "mu::ParserCallback::ParserCallback(double (*)(char const*), bool)", referenced from: _parse in parser.o "mu::ParserCallback::ParserCallback(double (*)(double), bool, int, mu::ECmdCode)", referenced from: _parse in parser.o "mu::Parser::Parser()", referenced from: __GLOBAL__sub_I_parser.cpp in parser.o TConsole::TConsole(char*, char*, int, int, commands_t*) in tconsole.o "mu::ParserBase::GetVersion(mu::EParserVersionInfo) const", referenced from: TConsole::TConsole(char*, char*, int, int, commands_t*) in tconsole.o "mu::ParserBase::ValidNameChars() const", referenced from: _parse in parser.o "mu::ParserBase::Eval() const", referenced from: _parse in parser.o "mu::ParserError::GetMsg() const", referenced from: _parse in parser.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [raine] Error 1 Edited October 5, 2016 by tien_huu_1408 1 Link to comment Share on other sites More sharing options...
Tux Posted October 5, 2016 Share Posted October 5, 2016 (edited) Bad news your muparser install seems broken, it says it can't link most of what there is inside the lib !So.... it's starting to be hard to just post something about that but I'll try again.1) check this package manager you used to install muparser to see if there is a command line switch to build the static version of muparser (.a). If there is, use it2) and then revert the change in the makefile of the other day to use the libmuparser.a you just generated, check to see where it's installed, maybe it's not in /usr/local/lib but it should.If you can't build the static version with this package manager for some reason then uninstall the muparser you installed with it, download muparser directly from its site (use google), cd to its source directory and type :./configure --disable-shared --disable-samplesmake -j4 (if you have 4 cores)sudo make install(it will probably ask for your admin password)then you'll have a libmuparser.a in /usr/local/lib usable by raine, just put back the line in the makefile to use it. EDIT : before doing that, since you upgraded your muparser in the middle of the build, it's very possible that the files using it were not recompiled. So start by just doingmake cleanand make -j4in raine directory, it might help. Edited October 5, 2016 by Tux Link to comment Share on other sites More sharing options...
tien_huu_1408 Posted October 5, 2016 Author Share Posted October 5, 2016 @Tux: Same errorld: symbol(s) not found for architecture i386clang: error: linker command failed with exit code 1 (use -v to see invocation) Link to comment Share on other sites More sharing options...
Tux Posted October 6, 2016 Share Posted October 6, 2016 (edited) It means what it says, some symbols found while compiling are not found while linking.Maybe it's because a lib is installed for 64 bits only and it means 32 bits here (i386 architecture).Anyway it's your job to find the bad lib, it's probably muparser here.If you installed it from source you might want to makeexport CC="gcc -m32"export CXX="g++ -m32"and then re-run configure, make clean, make -j4.to force a compilation for i386 and not amd64. Good luck ! Sorry forgot you were building for an amd64 system, which makes thinks even more awkward. EDIT : and it's probably related to this "universal" option in the package manager you used. I think you just passed this command line option without editing the configuration file as it was adviced, well it was probably not such a good idea.Now I never used this package manager myself, so it's clearly the limit of what I can say about all this. Edited October 6, 2016 by Tux Link to comment Share on other sites More sharing options...
tien_huu_1408 Posted October 6, 2016 Author Share Posted October 6, 2016 What should I do now? Frustrating to compile Raine ( Maybe I will stick to 0.63.4 instead. But I still want to compile by myself Link to comment Share on other sites More sharing options...
Tux Posted October 6, 2016 Share Posted October 6, 2016 Re-read what I posted, you did something obviously wrong with muparser, probably linked to this "universal" setting, you are the only one who can fix it ! Link to comment Share on other sites More sharing options...
tien_huu_1408 Posted October 7, 2016 Author Share Posted October 7, 2016 (edited) Re-read what I posted, you did something obviously wrong with muparser, probably linked to this "universal" setting, you are the only one who can fix it !When I make clean, I saw this TienHuusMacBook:muparser H2T$ make clean rm -rf ./.deps ./.pch rm -f ./*.o rm -f ./lib/libmuparser.a rm -f ./lib/libmuparser.2.2.4.dylib rm -f ./lib/libmuparser.dylib rm -f ./lib/libmuparser.dylib ./lib/libmuparser.2.dylib rm -f ./samples/example1/example1 It means the file existed. I rebuilt the muparser and check libmuparser.a is in /usr/lib already. TienHuusMacBook:muparser H2T$ sudo make install Password: /usr/bin/install -c -d /usr/local/lib /usr/bin/install -c -m 644 ./lib/libmuparser.a /usr/local/lib /usr/bin/install -c -d /usr/local for f in include/muParser.h include/muParserBase.h include/muParserBytecode.h include/muParserCallback.h include/muParserDLL.h include/muParserDef.h include/muParserError.h include/muParserFixes.h include/muParserInt.h include/muParserStack.h include/muParserTemplateMagic.h include/muParserTest.h include/muParserToken.h include/muParserTokenReader.h; do \ if test ! -d /usr/local/`dirname $f` ; then \ /usr/bin/install -c -d /usr/local/`dirname $f`; \ fi; \ /usr/bin/install -c -m 644 ./$f /usr/local/$f; \ done /usr/bin/install -c -d /usr/local/lib/pkgconfig /usr/bin/install -c -m 644 build/autoconf/muparser.pc /usr/local/lib/pkgconfig I try to remake Raine and it was built successfully. rofile.o darwin-sdl/objectd/sdl/gen_conv.o darwin-sdl/objectd/sdl/sasound.o -lz /usr/local/lib/libpng.a -lm /usr/local/lib/libmuparser.a -framework SDL -framework SDL_ttf -framework SDL_image -framework Cocoa -framework OpenGL /usr/local/lib/libSDL_sound.a /usr/local/lib/libintl.a -liconv Raine (Unix executable file) has been built. I copy this to overwrite in Raine app. Wow, it worked like a charm. Play game perfectly. No crash like rrshier buid version. Thanks a lot for your great support! Edited October 7, 2016 by tien_huu_1408 Link to comment Share on other sites More sharing options...
Tux Posted October 7, 2016 Share Posted October 7, 2016 ! Link to comment Share on other sites More sharing options...
bjrn Posted December 14, 2016 Share Posted December 14, 2016 (edited) i have same problem. i get follwing error when i run make Linking Raine...clang: error: no such file or directory: '/usr/local/lib/libmuparser.a'make: *** [raine] Error 1 i tried make cleanmake -j2 i tried to compile as 32bit with this:export CC="gcc -m32"export CXX="g++ -m32"and then re-run configure, make clean, make -j4.reinstalled muparser with brew reinstall muparser --universal i reinstalled every package with brew, runned brew update, brew upgrade installed everything over and still get same error i tried to change in the makefile to LIBS += -lmuparser on line 869 then i get following error:Linking Raine...ld: framework not found SDLclang: error: linker command failed with exit code 1 (use -v to see invocation)make: *** [raine] Error 1 please help me! Edited December 14, 2016 by bjrn Link to comment Share on other sites More sharing options...
Tux Posted December 14, 2016 Share Posted December 14, 2016 (edited) I didn't say that in the thread already ? The makefile is written to use specifically a static version of libmuparser.a because at the time I didn't find how to build a shared libmuparser for osx.So... if you want to use a more standard muparser, you need to edit the makefile and replace this :(starting at line 868 normally)ifdef DARWINLIBS += /usr/local/lib/libmuparser.aLIBS_DEBUG += /usr/local/lib/libmuparser.aelseLIBS += -lmuparserLIBS_DEBUG += -lmuparserendifby this :LIBS += -lmuparserLIBS_DEBUG += -lmuparser... and for your framework not found, I suppose you followed the instructions from the readme.osx file so you got an installation without any framework, right ?This setup is a real mess, the guy who did this stopped in a hurry and never came back, so he didn't even edit the makefile in git to remove the frameworks... anyway, then all you have to do is replace thisifdef DARWIN# Official SDL1.2 frameworks (SDL / image / ttf) in /Library/Frameworks(around line 1072), by this :ifndef DARWIN This is a quick fix to force it to use generic unix rules here for darwin, which should be fine for what you have. Tell me if there is another error after that !Good luck ! I got a new laptop lately which might be better at running osx, at least in a virtual machine, so I might be able to test all this again...This build should really be more osx like, you download it, drag the icon, and it works, very far from that for now... Edited December 15, 2016 by Tux Link to comment Share on other sites More sharing options...
bjrn Posted December 15, 2016 Share Posted December 15, 2016 I got a little bit further now. Got stucked by: Assembling source/sdl/gen_conv.s...source/sdl/gen_conv.s:40:10: error: invalid alignment value .align 32 ^make: *** [darwin-sdl/object/sdl/gen_conv.o] Error 1make: *** Waiting for unfinished jobs.... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now