Joerg Balsiger
2005-Oct-19 21:59 UTC
[Weft QDA users] problems getting weft-qda to run in linux
Dear all, I''m having a terribly hard time getting this running in linux (LFS 6.1) and hope somebody can help. I have successfully installed ruby, sqlite, sqlite-ruby (2.2.3 - could not find 2.2.4 anywhere), and wxGTK-2.4.2 (had to manually move htmlproc.h and xml.h to appropriate directories because the wxGTK install process does not do it). I compiled wxruby with ruby extconf.rb && make, but ruby install.rb produced errors, so I manually moved wxruby.so to an appropriate directory. I also have xpdf. When I untar weft-qda and run ruby weft-qda.rb in the resulting directory, I get the following error: ruby: symbol lookup error: /usr/lib/libwx_gtk2-2.4.so: undefined symbol: _gtk_accel_group_attach I successfully installed weft-qda as a gem, but running it from ruby''s gem directory gives me the same error. Any help would be greatly appreciated. __________________________________ Yahoo! Music Unlimited Access over 1 million songs. Try it free. http://music.yahoo.com/unlimited/
Alex Fenton
2005-Oct-20 01:17 UTC
[Weft QDA users] problems getting weft-qda to run in linux
Hi Joerg Joerg Balsiger wrote:>I''m having a terribly hard time getting this running in linux (LFS 6.1) and >hope somebody can help. > >Sorry, I''m aware the Linux installation process is painful because of the dependencies, but it is doable. Also, I didn''t have a Linux testing box available when releasing 0.9.6, so it has some major bugs on Linux due to wxruby cross-platform inconsistencies. You might want to try CVS HEAD or wait for version 0.9.7 (soon..). Once you have installed sqlite and wxruby, upgrading to future versions of weft is easy.>I have successfully installed ruby, sqlite, sqlite-ruby (2.2.3 - could not find >2.2.4 anywhere), >any version 2.2 should be fine. There''s a reason for the 2.2.4 requirement being there, but it''s kinda long to explain.>and wxGTK-2.4.2 (had to manually move htmlproc.h and xml.h to >appropriate directories because the wxGTK install process does not do it). I >compiled wxruby with ruby extconf.rb && make, but ruby install.rb produced >errors, so I manually moved wxruby.so to an appropriate directory. I also have >xpdf. > >compiling Wx and wxruby is definitely the hardest bit of the install :/ If possible it may be easier to use your Linux''s package manager to install Wx-2.4.2, and just compile wxruby. This worked for me on Ubuntu. If you are compiling Wx yourself, make sure you ./configure with --enable-static and --disable-shared options.>When I untar weft-qda and run ruby weft-qda.rb in the resulting directory, I >get the following error: > >ruby: symbol lookup error: /usr/lib/libwx_gtk2-2.4.so: undefined symbol: >_gtk_accel_group_attach > >I may be wrong, but this sounds like a generic problem with your compiled wxruby. Are you able to run the wxruby examples in the samples/ directory of the tarball? Perhaps you could also post what version of GTK you are using? If it is a general problem with wxruby, I could send you a compiled linux wxruby.so for GTK to try, but I am not sure how well it would work if WxWidgets was compiled against a different version of GTK. regards alex> >__________________________________ >Yahoo! Music Unlimited >Access over 1 million songs. Try it free. >http://music.yahoo.com/unlimited/ >_______________________________________________ >Weft-qda-users mailing list >Weft-qda-users at rubyforge.org >http://rubyforge.org/mailman/listinfo/weft-qda-users > > > >
Joerg Balsiger
2005-Oct-20 11:09 UTC
[Weft QDA users] problems getting weft-qda to run in linux
> Sorry, I''m aware the Linux installation process is painful because of > the dependencies, but it is doable.No luck so far> Also, I didn''t have a Linux testing box available when releasing 0.9.6, > so it has some major bugs on Linux due to wxruby cross-platform > inconsistencies. You might want to try CVS HEADTried that - got the same errors> compiling Wx and wxruby is definitely the hardest bit of the install :/i found several references to issues with compiling wxruby for linux - see, for example, http://rubyforge.org/pipermail/wxruby-users/2004-November/001041.html> If possible it may be easier to use your Linux''s package manager to > install Wx-2.4.2, and just compile wxruby. This worked for me on Ubuntu.Linux from Scratch, which I use, does not come with a package manager, so I need to compile wxGTK as well.> If you are compiling Wx yourself, make sure you ./configure with > --enable-static and --disable-shared options.Did that.> >When I untar weft-qda and run ruby weft-qda.rb in the resulting directory, I > >get the following error: > > > >ruby: symbol lookup error: /usr/lib/libwx_gtk2-2.4.so: undefined symbol: > >_gtk_accel_group_attach > > > > > I may be wrong, but this sounds like a generic problem with your > compiled wxruby. Are you able to run the wxruby examples in the samples/ > directory of the tarball?Some samples work, some don''t, I wouldn''t know how they differ, though. The ones that don''t work generally give me the "undefined symbol: _gtk_accel_group_attach_" error mentioned above> Perhaps you could also post what version of GTK you are using?I have both GTK+-1.2.10 and GTK+-2.6.7 installed - all weft-qda requirements were compiled against the same elements.> regards > alexthanks for getting back to me - any further advise is welcomed (I hope I don''t have to switch to Windows just to finish my dissertation ;-) joerg __________________________________ Yahoo! Mail - PC Magazine Editors'' Choice 2005 http://mail.yahoo.com
Alex Fenton
2005-Oct-20 11:55 UTC
[Weft QDA users] problems getting weft-qda to run in linux
>>You might want to try CVS HEAD >> >> >Tried that - got the same errors > >Weft''s written in just ruby, so if there''s a problem with the wxruby extension, it''ll show up with most versions ...>Linux from Scratch, which I use, does not come with a package manager, so I >need to compile wxGTK as well. >I was wondering what LFS stood for!>>Some samples work, some don''t, I wouldn''t know how they differ, though. The >>ones that don''t work generally give me the "undefined symbol: >>_gtk_accel_group_attach_" error mentioned above >> >> >>http://www.google.co.uk/search?hl=en&q=_gtk_accel_group_attach+wxwidgets Suggests that there are quite a few 2.4.2 wxwidgets apps not working with GTK 2.4+. From one " upgrading to gtk+ 2.4.0 broke every wx application">I have both GTK+-1.2.10 and GTK+-2.6.7 installed - all weft-qda requirements >were compiled against the same elements. > > >You might try compiling WxWidgets against GTK-1.x only, then compiling wxruby against that. I can''t remember the specific option but see ./configure --help. Something like --enable-gtk --disable-gtk2. I think also --disable-unicode is recommended for WxWidgets that is going to be used with wxruby 0.6.0.> >thanks for getting back to me - any further advise is welcomed (I hope I don''t >have to switch to Windows just to finish my dissertation ;-) > >Thanks for your patience - I hope the above helps. I''m really keen that the Linux version is as polished as the Windows one, but it''s not at the moment. 90% of downloads are of Windows binaries rather than gem or source, and my time has been spent in similar proportion - so while the Windows version 0.9.6 is definitely usable (and used) for real projects, I''m not so sure about Linux at the moment ... but please don''t let that put you off reporting any problems as it''s very welcome. alex
Joerg Balsiger
2005-Oct-20 16:02 UTC
[Weft QDA users] problems getting weft-qda to run in linux
> You might try compiling WxWidgets against GTK-1.x only, then compiling > wxruby against that. I can''t remember the specific option but see > ./configure --help. Something like --enable-gtk --disable-gtk2. I think > also --disable-unicode is recommended for WxWidgets that is going to be > used with wxruby 0.6.0.I did as you suggested: recompiled wxGTK against GTK-1.x only with --enable-static --disable-shared --with-gtk --disable-gtk2 and --disable-unicode, then recompiled wxruby against the new wxGTK (still had to add the puts "Removing ${str}" to extconf.rb and remove the .dll line in install.rb). Now I get the following error when trying to run weft-qda: /usr/lib/ruby/1.8/i686-linux/wxruby.so: /usr/lib/ruby/1.8/i686-linux/wxruby.so: undefined symbol: _ZN12wxEvtHandler13sm_eventTableE - /usr/lib/ruby/1.8/i686-linux/wxruby.so (Load Error) from ./lib/weft/wxgui.rb:1 from weft-qda.rb:11in `require'' from weft-qda.rb:11> I''m really keen that the Linux version is as polished as the Windows > one,glad to report on my attempts to get it running joerg __________________________________ Start your day with Yahoo! - Make it your home page! http://www.yahoo.com/r/hs
Hello ! First, I want to thank and publicly congratulate Alex Fenton and all contributors for the Weft-QDA initiative ! I am currently trying to run Weft-QDA under Debian Linux Etch. I have explored two different strategies : 1. Installing with gem 2. Running from source code As soon as I would have succeeded, I will (of course) publish an experience report on the Web. I already give a lot of details hereunder so that you could follow (and perhaps help) me. Sorry for the long message. First, I have attempted to meet requirements. I have tried to make it as easy as possible (using distro package in place of compiling). Under Debian, this gives # apt-get install ruby libzlib-ruby irb # apt-get install libdbd-sqlite-ruby sqlite libgtk1.2-dev libwxgtk2.6-0 wx2.6-i18n xpdf-utils All the requirements were not meet yet (PageTemplate and wxRuby were still missing). I have installed PageTemplate with gem. As far as I know, gem is not available as a Debian package. Here follows a possible way to install it. # wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz # tar -zxvf rubygems-0.9.0.tgz # cd rubygems-0.9.0 # ruby setup.rb # gem install rubygems-update Successfully built RubyGem Name: sources Version: 0.0.1 File: sources-0.0.1.gem # gem install pagetemplate The gem end PageTemplate installation was successfull. Then, I have tried to install weft-qda with gem # gem install weft-qda This requires to install sqlite-ruby... although this surprises me (given that sqlite-ruby was previously installed using apt), I accepts to go further in the installation process. Install required dependency sqlite-ruby? [Yn] Y Select which gem to install for your platform (i486-linux) 1. sqlite-ruby 2.2.3 (mswin32) 2. sqlite-ruby 2.2.3 (ruby) 3. sqlite-ruby 2.2.2 (ruby) 4. sqlite-ruby 2.2.2 (mswin32) 5. sqlite-ruby 2.2.1 (mswin32) 6. sqlite-ruby 2.2.1 (ruby) 7. sqlite-ruby 2.2.0 (mswin32) 8. sqlite-ruby 2.2.0 (ruby) 9. Cancel installation> 2Building native extensions. This could take a while... *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/bin/ruby1.8 --with-sqlite-dir --without-sqlite-dir --with-sqlite-include --without-sqlite-include=${sqlite-dir}/include --with-sqlite-lib --without-sqlite-lib=${sqlite-dir}/lib --with-sqlitelib --without-sqlitelib ERROR: While executing gem ... (RuntimeError) ERROR: Failed to build gem native extension. Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/sqlite-ruby-2.2.3 for inspection. Results logged to /usr/lib/ruby/gems/1.8/gems/sqlite-ruby-2.2.3/ext/gem_make.out Some discussion forums mentions that installing "wx2.6-headers" and "ruby1.8-dev" could help. But it didn''t solve the issue for me. Given that I am completely new to ruby and gem, I certainly miss something in the configuration. Anyway, PageTemplate seems to install with no problem while sqlite-ruby doesn''t. I have decided to test another strategy (run the software from sources). 2. I have download and unpacked the 1.0.1 version of weft-qda. When I try ruby weft-qda.rb It answer (again) that sqlite is unavailable... /caqdas/weft_qda-1.0.1/lib/weft/backend/sqlite.rb:1:in `require'': no such file to load -- sqlite (LoadError) from /caqdas/weft_qda-1.0.1/lib/weft/backend/sqlite.rb:1 from /caqdas/weft_qda-1.0.1/lib/weft/backend.rb:3 from /caqdas/weft_qda-1.0.1/lib/weft.rb:18 from weft-qda.rb:42 So here comes the questions: * Does someone meet these difficulties before ? * Have you an idea that could help ? * Do you know how inform ruby that the content of "libdbd-sqlite-ruby" is available (installed trough the apt package manager) ? NB: WxRuby is still not installed on my system (because it need to be compiled). It is possible this is the reason to my problem. Anyway, the system seems to indicates it is more a question of sqlite... I wish to everyone a very good day! All the best -- Christophe Lejeune Qualitative Sociology http://www.smess.egss.ulg.ac.be/lejeune/
Hi Christopher> First, I want to thank and publicly congratulate Alex Fenton and all > contributors for the Weft-QDA initiative ! >I''ll mention that after a few months where work and moving about a lot have stopped me doing much work on Weft I''m putting some time into the next bugfix and development releases.> I am currently trying to run Weft-QDA under Debian Linux Etch. > I have explored two different strategies : > > 1. Installing with gem > 2. Running from source code >I''m sorry that it''s been a frustrating experience for you, and thank you very much for trying it out and posting detailed debugging info. I think the problems come down to an underlying problem in the way ruby and debian packaging systems interact - which is not much at all. For example, when you try and install weft-qda via rubygems, it knows sqlite is a dependency, but is ignorant of the fact you have installed sqlite and sqlite-ruby through apt. Given this, I''d suggest that the best way to proceed is using option 2) source code. Install the non-ruby packages (sqlite, wxwidgets 2.4 - note that 2.4 is *required*, and dev versions of these if needed) using apt, then install the ruby libraries as follow: Download sqlite-ruby.tar.gz from http://rubyforge.org/frs/?group_id=254&release_id=1522 compile and install, following the instructions. You will probably need to tell it where sqlite (installed via apt) is located. Then download PageTemplate from http://rubyforge.org/frs/?group_id=407&release_id=4486 The installation of this should hopefully be straightforward, because it is just ruby code - no compilation needed. Then install wxruby-0.6.0 from source - this can be downloaded from http://rubyforge.org/frs/?group_id=35&release_id=1143 This will take a while to compile Then you should be ready to go... Below are just some comments on what I suspect the problems you were finding were - just for reference.> # gem install weft-qda > > This requires to install sqlite-ruby... although this surprises me > (given that sqlite-ruby was previously installed using apt),See above - rubygems doesn''t know that you have already done this via apt - it want a gem package, not a debian package. I know this is stupid!> Building native extensions. This could take a while... > *** extconf.rb failed *** > Could not create Makefile due to some reason, probably lack of > necessary libraries and/or headers. Check the mkmf.log file for more > details. You may need configuration options.This is a rubygems defect - you need to tell it where your sqlite include and lib files (from apt) are installed when you run ''gem''. It''s an argument like --with-sqlite=/path/to/sqlite> I have decided to test another strategy (run the software from sources). > > 2. I have download and unpacked the 1.0.1 version of weft-qda. When I try > ruby weft-qda.rb > > It answer (again) that sqlite is unavailable... > /caqdas/weft_qda-1.0.1/lib/weft/backend/sqlite.rb:1:in `require'': no > such file to load -- sqlite (LoadError) > from /caqdas/weft_qda-1.0.1/lib/weft/backend/sqlite.rb:1 > from /caqdas/weft_qda-1.0.1/lib/weft/backend.rb:3 > from /caqdas/weft_qda-1.0.1/lib/weft.rb:18 > from weft-qda.rb:42 >At this point I suspect you have not installed ruby-sqlite either via gems or via a standard .tar.gz. You need both the sqlite and ruby interface to it.> * Does someone meet these difficulties before ? >You are not the first. Creating a native Linux CAQDAS is a key aim for Weft QDA. I really am sorry that the dependencies are such a pain. Depending on other packages does mean I can focus on building Weft, not other stuff. That dependencies are difficult is partly a Linux problem, and partly a problem between Ruby and Debian. I am looking at ways to improve the situation, but I haven''t a Linux box for several months to work on.> * Have you an idea that could help ? >Hopefully, the above.> * Do you know how inform ruby that the content of "libdbd-sqlite-ruby" > is available (installed trough the apt package manager) ? >I wish!> NB: WxRuby is still not installed on my system (because it need to be > compiled). It is possible this is the reason to my problem. Anyway, the > system seems to indicates it is more a question of sqlite... >You definitely will need WxRuby 0.6.0, and it requires WxWidgets 2.4. But let''s cross that bridge when we get to it. cheers alex
Hello everyone, Thanks to Alex''s prompt answer, I have moved further in the installation process today. So, thank you very much Alex for your help !!>I''m sorry that it''s been a frustrating experience for you, and thank >you very much for trying it out and posting detailed debugging info.Don''t worry. It is not frustrating at all. Better: your answer is encouraging. I know what Free Software effort means in terms of collaborating issue. Given that I am documenting my experience, I am sure that it will help people in the future. As I mentioned above, the installation is progressing. This encouraged me even to pursue my attempt to install the Weft-QDA package with gem (I know, you propose me to run it from source-code). And I possibly am really not far from succeed (I hope so). Now, all the required packages are installed (from apt or gem). apt :: wxwidgets 2.4, sqlite, and all the required ''dev'' packages gem :: PageTemplate, sqlite-ruby, weft-qda (!!) wxruby is the only compiled-from-sources program [ruby extconf.rb && make && ruby install.rb] NB: - wxruby was installed after weft-qda - I have removed the wxmsw240.dll (that seems to be unrelevant under Linux) I should then be not far from run Weft-QDA on Debian Linux. Anyway, when I try to launch the software (either as user or root), the system complains as follow: # ruby /usr/bin/weft-qda.rb /usr/lib/ruby/gems/1.8/gems/weft-qda-1.0.1/./weft-qda.rb:28: warning: already initialized constant WEFT_SHAREDIR ruby: symbol lookup error: /usr/lib/ruby/1.8/i486-linux/wxruby.so: undefined symbol: _Z12wxEntryStartiPPc I feel as I am really close to succeed. Has anyone ideas/clues that could help ? Again many thanks. Have a very nice day. -- Christophe Lejeune Qualitative Sociology http://www.smess.egss.ulg.ac.be/lejeune/
Christophe Lejeune wrote:> I have moved further in the installation process today. >Glad it helped.> And I possibly am > really not far from succeed (I hope so). >I think you are very close!> Now, all the required packages are installed (from apt or gem). > > apt :: wxwidgets 2.4, sqlite, and all the required ''dev'' packages > gem :: PageTemplate, sqlite-ruby, weft-qda (!!) >This looks right. Could you post what you had to do to get rubygems to install and compmile sqlite-ruby correctly - eg did you have to add some arguments to ''gem install''?> NB: - wxruby was installed after weft-qdaShouldn''t be a problem. You will be pleased to know that the development version of wxruby (which I''ve been contributing quite a bit to) will have precompiled gems for all platforms.> I should then be not far from run Weft-QDA on Debian Linux. > Anyway, when I try to launch the software (either as user or root), the > system complains as follow: > > # ruby /usr/bin/weft-qda.rb > /usr/lib/ruby/gems/1.8/gems/weft-qda-1.0.1/./weft-qda.rb:28: warning: > already initialized constant WEFT_SHAREDIR > ruby: symbol lookup error: /usr/lib/ruby/1.8/i486-linux/wxruby.so: > undefined symbol: _Z12wxEntryStartiPPc >The first warning is not serious. The real problem is in the second. It looks like something didn''t go quite right with the compile of wxruby. I have seen this error before, but can''t remember how I fixed it other than recompiling. I wonder if it is has maybe linked against wxwidgets 2.6 - do you have this installed? What would be very helpful is if you could post the output of ''ruby extconf.rb'' and a few lines of ''make'' output from when you compile wxruby. If I can''t help we can seek help on the wxruby mailing list. Regards alex
Hello everyone, I am happy to announce that: 1. Weft-QDA is currently running on my Linux Debian system 2. The way I managed to is publicly available. http://www.smess.egss.ulg.ac.be/lejeune/logiciels/weft-qda.installation.debian.en.html Comments, questions or suggestions about this document are very welcome. Many thanks to Alex Fenton that makes it possible !! Hereunder, are answers to questions in Alex''s previous post.> This looks right. Could you post what you had to do to get rubygems to > install and compmile sqlite-ruby correctly - eg did you have to add some > arguments to ''gem install''?No arguments were needed, I simply install the distribution dev package of sqlite (details are available through the URL indicated below).>> ruby: symbol lookup error: /usr/lib/ruby/1.8/i486-linux/wxruby.so: >> undefined symbol: _Z12wxEntryStartiPPc >> > It > looks like something didn''t go quite right with the compile of wxruby. I > have seen this error before, but can''t remember how I fixed it other > than recompiling. I wonder if it is has maybe linked against wxwidgets > 2.6 - do you have this installed?I have removed all the 2.6-related package for two reasons: * The manual mentions the 2.4 (not-2.6) is required * I had errors with 2.6 My compilation of wxruby was done with 2.4 dev packages. The output of ruby extconf.rb is quite short (it simply says "creating Makefile") while the one from make is too long to be posted here. I have pasted it one the documentation of my experience (URL mentioned above). When available, outputs are shown when you follow the link named "See the output". The one you asked for is just under ''make''. For information, the version of my g++ is: # g++ -v Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --with-tune=i686 --enable-checking=release i486-linux-gnu Thread model: posix gcc version 4.1.2 20060814 (prerelease) (Debian 4.1.1-11) Thank you very much again to Alex for precious help and support !! I wish you a very nice day. Yours Sincerely -- Christophe Lejeune Qualitative Sociology http://www.smess.egss.ulg.ac.be/lejeune/