On Jan 8, 2013, at 12:21 AM, Stephan Witt wrote: > Am 08.01.2013 um 07:17 schrieb Jerry <lancebo...@qwest.net>: > >> >> On Jan 5, 2013, at 8:30 PM, Jerry wrote: >> >>> Hi List, >>> >>> Since I have probably complained the most about the scrolling problem on OS >>> X, I thought I would (finally) try a bisection. >>> >>> Here is what I already know based on downloaded binaries: The problem >>> occurred in at least two stages, between 1.6.10 and 2.0 and again between >>> 2.0 and 2.0.4. I would rate these versions as: >>> >>> 1.6.10 Very Good >>> 2.0 Fair >>> 2.0.4 Bad >>> >>> (I speculate that 1.6.10 is not "Excellent" only because the smallest >>> scrolling increment is substantially greater than one pixel, causing the >>> scrolling to be very fast but not "glassy smooth".) >>> >>> I have installed Git and studied the manpage at git help bisect. However, I >>> am going to need some help as I'm a little wobbly on what to do. I can find >>> my way around SVN but Git seems to be a different creature. In SVN, each >>> commit creates a new version of trunk that is labeled with a serial version >>> number, thus making it easy to make the local repository match any version >>> number. I haven't yet figured out how to do that with Git. Also, I need >>> help to learn how to actually compile the code. I think I have all the >>> prerequisites already installed on my machine. >>> >>> These notes and questions might be pertinent: >>> >>> I am building on OS X 10.7.5 (Lion). >>> >>> Do I need to worry about 32-bit versus 64-bit builds? I'm sure this depends >>> on my Qt libraries which are: >>> >>> Qt version is 4.8.3_1+quartz (via MacPorts). (I also have an older version, >>> probably 4.7, that I downloaded as a binary from Nokia or Trolltech. If I >>> don't do anything special, the build will be against the MacPorts version.) >>> >>> How do I build without debugging code present that could potentially skew >>> the results? >>> >>> I have a version of LyX that I built from SVN almost exactly one year >>> ago--its version is given as 2.1.0svn. It has a corresponding >>> (preferences???) file in which I added or edited a line according to >>> suggestions from this list which caused the scrolling behavior to improve >>> substantially but which also caused the cursor position to be slightly >>> wrong. I don't think other 2.x builds see this but I'm not 100% certain. I >>> forget the details of how I edited that file but my recollection is that it >>> is not seen by other 2.0.x builds. (I don't want to touch that 2.1.0svn >>> build because it works pretty well.) >>> >>> SO IN SUMMARY: >>> * How do I update my my local repository to perform the above-mentioned two >>> bisections? >>> >>> * How do I compile? >>> >>> Jerry >> >> >> I did this: >> >> >> ./autogen.sh >> ./configure \ >> --with-version-suffix=-2.0 \ >> --with-libiconv-prefix=/usr \ >> --with-x=no \ >> --disable-stdlib-debug \ >> >> --prefix=/Applications/Words/LyX_outer_folder/lyx-build-develop-jb-debug/LyX.app >> \ >> --with-qt4-dir=/opt/local/lib \ >> --enable-build-type=release >> make >> make install-strip >> >> >> >> and got this: >> >> >> >> <snip> >> CXX Thesaurus.o >> CXXLD lyx >> Undefined symbols for architecture x86_64: >> "_libiconv_close", referenced from: >> (anonymous namespace)::iconv_codecvt_facet::~iconv_codecvt_facet()in >> liblyxsupport.a(docstream.o) >> (anonymous namespace)::iconv_codecvt_facet::~iconv_codecvt_facet()in >> liblyxsupport.a(docstream.o) >> lyx::IconvProcessor::convert(char const*, unsigned long, char*, unsigned >> long)in liblyxsupport.a(unicode.o) >> lyx::IconvProcessor::Impl::~Impl()in liblyxsupport.a(unicode.o) >> "_libiconv", referenced from: >> (anonymous namespace)::iconv_codecvt_facet::do_out(__mbstate_t&, wchar_t >> const*, wchar_t const*, wchar_t const*&, char*, char*, char*&) constin >> liblyxsupport.a(docstream.o) >> (anonymous namespace)::iconv_codecvt_facet::do_in(__mbstate_t&, char >> const*, char const*, char const*&, wchar_t*, wchar_t*, wchar_t*&) constin >> liblyxsupport.a(docstream.o) >> lyx::IconvProcessor::convert(char const*, unsigned long, char*, unsigned >> long)in liblyxsupport.a(unicode.o) >> "_libiconv_open", referenced from: >> (anonymous >> namespace)::iconv_codecvt_facet::iconv_codecvt_facet(std::basic_string<char, >> std::char_traits<char>, std::allocator<char> > const&, std::_Ios_Openmode, >> unsigned long)in liblyxsupport.a(docstream.o) >> lyx::IconvProcessor::init() in liblyxsupport.a(unicode.o) >> ld: symbol(s) not found for architecture x86_64 >> collect2: ld returned 1 exit status >> make[4]: *** [lyx] Error 1 >> make[3]: *** [install-recursive] Error 1 >> make[2]: *** [install] Error 2 >> make[1]: *** [install-recursive] Error 1 >> make: *** [install-strip] Error 2 >> >> >> >> What went wrong? Recall that I'm on OS X 10.7.5. I have the following >> libraries installed: >> >> >> /opt/local/lib/libiconv.2.dylib >> /opt/local/lib/libiconv.a >> /opt/local/lib/libiconv.dylib >> /opt/local/lib/libiconv.la >> >> /usr/lib/libiconv.2.4.0.dylib >> /usr/lib/libiconv.2.dylib >> /usr/lib/libiconv.dylib >> >> My PATH is: >> >> /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/bin:/usr/local/sbin:/Applications:/usr/local/adacore-gnat-2011/bin > > You didn't answer my mail. Did you read it?
I did but I'm aware that I might not have fully honored it/knew what to do about it. Obviously, I'm not building for a release so I don't need a self-contained bundle. I would have to check, but I think the downloaded Nokia version is somewhere in /usr/local which comes after the Macports version in /opt/local in my PATH. Is that sufficient isolation? > > I'm actively avoid the mix of system and MacPorts libraries. But this might > not be your problem. > > Check the architecture of all relevant (this is sometimes difficult to > decide) libraries. > $ file /opt/local/lib/libiconv.2.dylib > $ otool -L /opt/local/lib/libiconv.2.dylib I will do that soon but I have to sleep now. Can you tell from build commands above if I'm building 64-bit? I assume that on OS X 10.7.x that the default is 64-bit builds. I also note in the slightly stale INSTALL.MacOSX that 64-bit Lyx builds won't launch or words to that effect. Is that no longer true? Have you built for 64-bit arch? Should I revert to 32-bit build? (I know--do otool first.) > > BTW, what version of LyX are you trying to build? In your case I'd rather > start without or with an special version suffix. I'm building from master which I downloaded about two days ago. This is just for practice. As noted in my original post, the bisection will start looking between 2.0 and 2.0.4. > > Stephan