[Çözüldü] Boost Lib Kurulum

Başlatan gomugomuno, 21 Haziran 2012 - 21:22:13

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

gomugomuno

Merhabalar, boost kütüphanesini nasıl kurabilirim. http://www.boost.org/doc/libs/1_49_0/more/getting_started/unix-variants.html#link-your-program-to-a-boost-library adresindekileri yaptım ancak halen include <boost/..> dosyayı bulamıyor.

sem


apt-cache search boost | grep all-dev


paketlerini kurmuş muydunuz?
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

gomugomuno

Hayır , kurmadım. Kurayım mı ?

sem

Kurduktan sonra tekrar deneyeip sonucu bildirir misiniz... Ubuntu altında boost'u ayrıca kurmaya gerek yok.. Deoplarda olduğunu biliyorum ama paket ismini tam çıkaramadım. Büyük ihtimalle paket ismi all-dev ile alakalı olanlar...

Boost kullanmanmadım ama  hiç Wt'yi depodan kurabiliyoruz ve Boost bağımlılığı var. Ve Wt'yi kurmuştum sisteme. O nedenle boost'un da depolarda olduğuna eminim =)


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 21 Haziran 2012 - 22:10:16

Not: Ubuntu altında boost'u ayrıca kurmaya gerek yok yanlış olmuş; harici olarak kurmaya gerek yok olmalıydı.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

gomugomuno

Paketler arasında 1.48 ve aşağı versiyonları var . Ben 1.49 u kurmak istiyorum :)

heartsmagic

Bu boost'un depodaki tam ismi nedir?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

gomugomuno

Tam ismini bende bilmiyorum , boost diye arattım.

if


gomugomuno

Aynı yöntemle bir kaç kere kurdum. Ancak verdiğin linkteki örnekteki gibi #include<boost/regex> usr/include dizini içinde boost dizini  oluşmuyor. Ayrıca prefix komutu ne işe yarıyor ? Teşekkürler @if,@heartsmagic

if

@gomugomuno, prefix diye bir komut bilmiyorum ben. Nerede geçiyor? /usr/include içinde neden boost adında bir dizin oluşması gerekiyor @gomugomuno?

Derlemeyi hangi komutlarla yaptınız?

arpia

prefix kurulum/ayar dosyalarının olduğu yolu belirtmek için kullanılır.

Örn:
./configure --prefix=/home/kullanıcı_adı/buradan_kur
şeklinde. Verdiğim yol örnek sadece, farklı yola bakabilir.

gomugomuno

#11
http://www.boost.org/doc/libs/1_48_0/more/getting_started/unix-variants.html#easy-build-and-install
C++ ta default öntanımlı olarak include makrosunun kütüphaneleri aradığı dizin usr/include değil mi ? :)  Eğer buysa verdiğin linktede bağlantıda #include<boost/regexp.hpp> yani usr/include/boost/regexp.hpp olmaz mı ?
#include <boost/regex.hpp>
#include <iostream>
#include <string>

if

#12
@gomugomuno, o kadarını bilmiyorum. Kodlamaya dair bir bilgim yok. Ama dediğine göre:
Alıntı YapThere are two main ways to *bağlantı to libraries:

    You can specify the full path to each library:

    $ c++ -I path/to/boost_1_48_0 example.cpp -o example \
       ~/boost/stage/lib/libboost_regex-gcc34-mt-d-1_36.a


    You can separately specify a directory to search (with -Ldirectory) and a library name to search for (with -llibrary,2 dropping the filename's leading lib and trailing suffix (.a in this case):

    $ c++ -I path/to/boost_1_48_0 example.cpp -o example \
       -L~/boost/stage/lib/ -lboost_regex-gcc34-mt-d-1_36

    As you can see, this method is just as terse as method A for one library; it really pays off when you're using multiple libraries from the same directory. Note, however, that if you use this method with a library that has both static (.a) and dynamic (.so) builds, the system may choose one automatically for you unless you pass a special option such as -static on the command line.

In both cases above, the bold text is what you'd add to the command lines we explored earlier.


gomugomuno

#13
@f program dosyası içierisinde include a açık  yolu yazarsan çalışıyor.Ancak onun içerisinde başka bir sınıf çağrıldığında onun default yolu olarak eğer ben atamadıysam ki atamadım usr/local/include da arıyor. Bulamayınca hata veriyor.Ki kurarken prefix/include/boost yoluna kuruyor ancak orda böyle bir dizin yok :)
Şuan tekrar kuracağım prefix değerini değiştirip deneyeceğim.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 25 Haziran 2012 - 12:41:13

Yok yine olmadı nerde hata yapıyorum anlamadım.
./bootstrap.sh
./b2 install
bu iki kod sonrası usr/local/ de boost kurulu olması lazım ama yok ?

heartsmagic

Yaptığın işlemleri aynen aktar buraya, çıktıları falan da görelim lütfen.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

if

Hem de ./bootstrap.sh --prefix=path/to/installation/prefix kullanmamışsınız:)

gomugomuno

path/to/installation/prefix bu path olamaz :D sanki prefix parametresine vereceğin değeri açıklamak için yazılmış örnek bir yol :) Yanılıyor muyum ?

if

@gomugomuno, evet örmek o abi. ./bootstrap.sh --prefix=/usr/include gibi olacak ama direk oraya kurmak uygun değil sanırım.

gomugomuno

#18
işlemleri ve çıktıları yazmadan önce * bir şey sorayım.Bu işlemleri yapmak için root olmalı mıyım ?


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 25 Haziran 2012 - 22:00:24

gomugomuno@gomugomuno-EasyNote-TM98:~$ cd Masaüstü
gomugomuno@gomugomuno-EasyNote-TM98:~/Masaüstü$ cd boost_1_49_0
gomugomuno@gomugomuno-EasyNote-TM98:~/Masaüstü/boost_1_49_0$
gomugomuno@gomugomuno-EasyNote-TM98:~/Masaüstü/boost_1_49_0$ ./bootstrap.sh --prefix=PREFIX
Building Boost.Build engine with toolset gcc... tools/build/v2/engine/bin.linuxx86_64/b2
Detecting Python version... 2.7
Detecting Python root... /usr
Unicode/ICU support for Boost.Regex?... not found.
Backing up existing Boost.Build configuration in project-config.jam.3
Generating Boost.Build configuration in project-config.jam...

Bootstrapping is done. To build, run:

    ./b2
   
To adjust configuration, edit 'project-config.jam'.
Further information:

   - Command line help:
     ./b2 --help
     
   - Getting started guide:
     http://www.boost.org/more/getting_started/unix-variants.html
     
   - Boost.Build documentation:
     http://www.boost.org/boost-build2/doc/html/index.html

gomugomuno@gomugomuno-EasyNote-TM98:~/Masaüstü/boost_1_49_0$ ./b2 install
Performing configuration checks

    - has_icu builds           : no
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
    - iconv (libc)             : yes
    - icu                      : no
    - icu (lib64)              : no
    - ../config//has_gcc_visibility builds : yes
    - ../config//has_long_double_support builds : yes
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.

Component configuration:

    - chrono                   : building
    - date_time                : building
    - exception                : building
    - filesystem               : building
    - graph                    : building
    - graph_parallel           : building
    - iostreams                : building
    - locale                   : building
    - math                     : building
    - mpi                      : building
    - program_options          : building
    - python                   : building
    - random                   : building
    - regex                    : building
    - serialization            : building
    - signals                  : building
    - system                   : building
    - test                     : building
    - thread                   : building
    - timer                    : building
    - wave                     : building

...patience...
...patience...
...patience...
...patience...
...found 27217 targets...
...updating 8 targets...
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi/bzip2.o
libs/iostreams/src/bzip2.cpp:20:56: ölümcül hata: bzlib.h: Böyle bir dosya ya da dizin yok
derleme sonlandırıldı.

    "g++"  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC  -DBOOST_ALL_NO_LIB=1 -DBOOST_IOSTREAMS_DYN_LINK=1 -DBOOST_IOSTREAMS_USE_DEPRECATED -DNDEBUG  -I"." -c -o "bin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi/bzip2.o" "libs/iostreams/src/bzip2.cpp"

...failed gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi/bzip2.o...
...skipped <pbin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi>libboost_iostreams.so.1.49.0 for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi>bzip2.o...
...skipped <pPREFIX/lib>libboost_iostreams.so.1.49.0 for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/threading-multi>libboost_iostreams.so.1.49.0...
...skipped <pPREFIX/lib>libboost_iostreams.so for lack of <pPREFIX/lib>libboost_iostreams.so.1.49.0...
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi/bzip2.o
libs/iostreams/src/bzip2.cpp:20:56: ölümcül hata: bzlib.h: Böyle bir dosya ya da dizin yok
derleme sonlandırıldı.

    "g++"  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread  -DBOOST_ALL_NO_LIB=1 -DBOOST_IOSTREAMS_USE_DEPRECATED -DNDEBUG  -I"." -c -o "bin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi/bzip2.o" "libs/iostreams/src/bzip2.cpp"

...failed gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi/bzip2.o...
...skipped <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>libboost_iostreams.a(clean) for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>bzip2.o...
...skipped <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>libboost_iostreams.a for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>bzip2.o...
...skipped <pPREFIX/lib>libboost_iostreams.a for lack of <pbin.v2/libs/iostreams/build/gcc-4.6/release/link-static/threading-multi>libboost_iostreams.a...
...failed updating 2 targets...
...skipped 6 targets...






Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 25 Haziran 2012 - 22:03:29

gomugomuno@gomugomuno-EasyNote-TM98:~/Masaüstü/boost_1_49_0$ ./bootstrap.sh --help
`./bootstrap.sh' prepares Boost for building on a few kinds of systems.

Usage: ./bootstrap.sh [OPTION]...

Defaults for the options are specified in brackets.

Configuration:
  -h, --help                display this help and exit
  --with-bjam=BJAM          use existing Boost.Jam executable (bjam)
                            [automatically built]
  --with-toolset=TOOLSET    use specific Boost.Build toolset
                            [automatically detected]
  --show-libraries          show the set of libraries that require build
                            and installation steps (i.e., those libraries
                            that can be used with --with-libraries or
                            --without-libraries), then exit
  --with-libraries=list     build only a particular set of libraries,
                            describing using either a comma-separated list of
                            library names or "all"
                            [all]
  --without-libraries=list  build all libraries except the ones listed []
  --with-icu                enable Unicode/ICU support in Regex
                            [automatically detected]
  --without-icu             disable Unicode/ICU support in Regex
  --with-icu=DIR            specify the root of the ICU library installation
                            and enable Unicode/ICU support in Regex
                            [automatically detected]
  --with-python=PYTHON      specify the Python executable [python]
  --with-python-root=DIR    specify the root of the Python installation
                            [automatically detected]
  --with-python-version=X.Y specify the Python version as X.Y
                            [automatically detected]

Installation directories:
  --prefix=PREFIX           install Boost into the given PREFIX
                            [/usr/local]
  --exec-prefix=EPREFIX     install Boost binaries into the given EPREFIX
                            [PREFIX]

More precise control over installation directories:
  --libdir=DIR              install libraries here [EPREFIX/lib]
  --includedir=DIR          install headers here [PREFIX/include]


PREFIX değeri ise      [/usr/local]

if

@gomugomuno,  derlemede hatalar var. Önce onları giderelim. ölümcül hata: bzlib.h: Böyle bir dosya ya da dizin yok için[1] sudo apt-get install python-dev
sudo apt-get install python-bzutils
sudo apt-get install libbz2-dev


Sonra ./bootstrap.sh --show-libraries çıktısına bakayım.
[1] http://www.richelbilderbeek.nl/CppInstallErrorBzlibHnoSuchFileOrDirectory.htm

gomugomuno

Building Boost.Build engine with toolset gcc... tools/build/v2/engine/bin.linuxx86_64/b2

The following Boost libraries have portions that require a separate build
and installation step. Any library not listed here can be used by including
the headers only.

The Boost libraries requiring separate building and installation are:
    - chrono
    - date_time
    - exception
    - filesystem
    - graph
    - graph_parallel
    - iostreams
    - locale
    - math
    - mpi
    - program_options
    - python
    - random
    - regex
    - serialization
    - signals
    - system
    - test
    - thread
    - timer
    - wave

if

Tamam, şimdi ./bootstrap.sh --prefix=/usr/local --includedir=/usr/include komutunu vermeniz yeterli görünüyor. eğer Regex için Unicode desteği iserseniz ./bootstrap.sh --prefix=/usr/local --includedir=/usr/include --with-icu komutunu verirsiniz.

Öntanımlı olarak /usr/local altına kuruluyormuş. Tanımlara bakarsanız --includedir=DIR          install headers here [PREFIX/include] sizin aradığınız dosyalar da /usr/local/include altına kuruluyormuş. O yüzden göremiyordunuz.

gomugomuno

Daha önce o dizinleri kontrol etmiştim.Dediklerini yaptım ama yine olmadı. Şimdi root olarak tekrar işlemleri deneyeceğim.

if

@gomugomuno, keşke çıktıyı buraya aktarsaydınız. Hani belki yine derlemede hata çıkmıştır.

gomugomuno

Komik root olmak yeterliymiş :D Aslında ben sordum ama kimse görmedi herhalde :D


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 25 Haziran 2012 - 23:23:13

Çıktıda erişim engellendi yazıyordu root denedim.  Teşekkürler @if   :) Yorduk boşuna sizi.