пʼятницю, 7 січня 2011 р.
R під Macports
R використовує рідні бібліотеки OS X (libJPEG, libLAPACK, veclib і т.ін.). Проблема виникає, коли DYLD_LIBRARY_PATH містить стежку до бібліотек Macports. Тоді R не може завантажити деякі бібліотеки. Здається, DYLD_LIBRARY_PATH не потрібен для R. Якщо цю змінну прибрати з ldpaths, що розташований у /opt/local/lib/R/etc/x86_64, то R працюватиме коректно.
неділю, 24 жовтня 2010 р.
Sleipnir та boost::regex
Sleipnir/stdafx.h містить макрос
#define strcpy_s(a,b,c) strcpy(a,c)
Цей макрос ламає boost::re_detail::strcpy. Тому включення boost/regex.hpp має завжди бути до включення Sleipir/stdafx.h
#define strcpy_s(a,b,c) strcpy(a,c)
Цей макрос ламає boost::re_detail::strcpy. Тому включення boost/regex.hpp має завжди бути до включення Sleipir/stdafx.h
четвер, 20 травня 2010 р.
Посилання
Майже всі хеші та масиви у GBrowse доступні через посилання. Наприклад, настройки у html1 можно дістати наступним чином.
html1 = sub {
my $txt;
my $cfg = $_[1];
while (my ($key, $value) = each(%$c)) {
$txt .= "$key : $value";
}
return $txt;
}
Як сховати стежку у GBrowse
Howto стверджує, що за це відповідає параметр visible. Можливо так і є у версіях 2.х, але у 1.70 має бути 'hide = 1'
пʼятницю, 26 березня 2010 р.
libjpeg на Леопарді
Дуже багато часу змарнував з цим libjpeg'ом. Помилки бувають різні, але переважно компілятор скаржиться що якась функція відсутня у /usr/local/lib/libJPEG.dylib. Леопард має свої вбудовані бібліотеки для зображень і вони розташовані у /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources. Проте всі вони мають одну осбливість: назва після lib йде великими літерами. Наприклад, libJPEG.dylib або libTIFF.dylib. Бібліотеки досить старі і побудовані під Леопард, тому в них є деякі функції, що відсутні у стандарних версіях доступних до завантаження. Якщо стандартні версії встановлені у /usr/local/lib та змінні LD_LIBRARY_PATH і DYLD_LIBRARY_PATH вказують на ту директорію, компілятор використовуватими неприйнятну версію. (Нагадаю, що типова файлова система під Леопардом не залежить від реґістру; тому libjpeg.dylib та libJPEG.dylib не відрізняються.) У таких випадках перед компілюванням треба додати стежку до Леопардівських бібліотек.
export LD_LIBRARY_PATH=/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources:$LD_LIBRARY_PATH
export DYLD_LIBRARY_PATH=$LD_LIBRARY_PATH
Джерело натхнення: http://tolstoy.newcastle.edu.au/R/devel/05/05/0755.html
export LD_LIBRARY_PATH=/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources:$LD_LIBRARY_PATH
export DYLD_LIBRARY_PATH=$LD_LIBRARY_PATH
Джерело натхнення: http://tolstoy.newcastle.edu.au/R/devel/05/05/0755.html
неділю, 21 лютого 2010 р.
libsequence та прапорці
Чомусь libsequence ігнорує змінні середовища. Заміст
export CFLAGS="-arch x86_64"
./configure
має бути
./configure CFLAGS="-arch x86_64" CPPFLAGS="-arch x86_64" \
CXXFLAGS="-arch x86_64" LDFLAGS="-arch x86_64"
export CFLAGS="-arch x86_64"
./configure
має бути
./configure CFLAGS="-arch x86_64" CPPFLAGS="-arch x86_64" \
CXXFLAGS="-arch x86_64" LDFLAGS="-arch x86_64"
Boost
Треба було скомпілювати Boost під Дарвіном. Щоб не думати що там обере лінкер під час запуску, хотілось виключно 64-бітну версію і лише для Інтел. Документація на сайті чомусь не дуже. Щонайменше у мене недостатньо досвіду, щоб зрозуміти, що саме вони мають на увазі. Отже...
./bootstrap --with-libraries=regex,filesystem,iostreams
sudo ./bjam link=static threading=multi architecture=x86 \
address-model=64 install
Опції:
link={static|shared}
architecture={ppc|x86|combined}
address-model={32|64|32_64}
./bootstrap --with-libraries=regex,filesystem,iostreams
sudo ./bjam link=static threading=multi architecture=x86 \
address-model=64 install
Опції:
link={static|shared}
architecture={ppc|x86|combined}
address-model={32|64|32_64}
Підписатися на:
Дописи (Atom)