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

Reply via email to