• ベストアンサー

gccのアップグレードについて

以下のHPにあるように、gcc3.3から3.4にアップグレードするのは、ちょっとややこしそうです。 http://www.gentoo.org/doc/ja/gcc-upgrading.xml gccのバイナリだけを置き換えると、何がよくないのでしょうか。ビルドの時、gcc本体の他にもなにかを使っているのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4856/10272)
回答No.2

>gcc本体の他にライブラリが必要ということは、gccが必要とするライブラリはダイナミックリンクライブラリということなのでしょうか。 file /usr/bin/gcc とかするとダイナミックかどうかわかります。 仮に、gcc cpp cc1 ld等がスタティックリンクされていても、コンパイルしたプログラムをリンクするならその際にライブラリが必要です。 >ライブラリの他に、例えばどういったファイルを利用しているのでしょうか。 プリプロセッサ(cpp)やCコンパイラ本体(cc1)等のプログラムや、ヘッダファイル。ヘッダファイルとライブラリは対になります。

aneja
質問者

お礼

とてもわかりやすいご回答ありがとうございます。コンパイラのことをまだまだ知らないということがわかりました。もっと勉強したいと思います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

その「専用ページ」にちゃんと「C++ ABI が変更になった」って書いてあるやんか. ABI が変更になったということは必然的にライブラリも変更しなきゃならんし, そうすると場合によっては当該ライブラリを使う全てのプログラムを更新しなきゃならんかもしれない. 単に「gcc を更新する」だけなら簡単なんだけど, ライブラリまで更新されちゃうから面倒.

aneja
質問者

お礼

ご回答ありがとうございます。ABIの意味がわからず、調べて理解したつもりでも、ライブラリが変更になることまでは思いつきませんでした。もっと勉強します。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
noname#96023
noname#96023
回答No.1

ライブラリなど多数のファイルを入れ替えるためです

aneja
質問者

お礼

早速のご回答、ありがとうございました。 gcc本体は、ライブラリなどをリンクした状態で作られたものと思っていたので、そういうことは考え付きませんでした。 gcc本体の他にライブラリが必要ということは、gccが必要とするライブラリはダイナミックリンクライブラリということなのでしょうか。 あと、ライブラリ「など」と書かれていますが、ライブラリの他に、例えばどういったファイルを利用しているのでしょうか。 よろしければ、ご教示下さい。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • c++でunsigned long long intを用いるには

    OS(ディストリビューション)はubuntuです。 この質問の目標は表題のように 「c++でunsigned long long intを使えるようにすること」 です。なお、マシンは32bitなので64bitよりは遅くなります。 http://www.wdic.org/w/TECH/long%20long まずgccのバージョンは、gcc --versionによると、 gcc (GCC) 3.3.5 (Debian 1:3.3.5-8ubuntu2.1) でした。そこで、gccのバージョンを3.4.4以上に しようと考えました。 (↓の人は3.4.4でできているらしい。 http://qune.cside.com/archives/000959.html) そこで、 http://webos-goodies.jp/archives/50899271.html にそってgccをアップデートしようとしましたが、 /etc/portage/ というディレクトリはありませんでした。次に、 http://www.gentoo.org/doc/ja/gcc-upgrading.xml にそってgccをアップデートしようとしましたが、 emergeというコマンドは入っていませんでした。 さて、質問は以下の通りです。 1.「目標」を達成するのにこのルートはあっているのでしょうか? 2.あっているのなら、emergeのインストール法を教えてください。 3.あっていないなら、どのようにしたら「目標」を達成できるでしょうか?

  • XMLのエラーコードの意味が理解出来ません

    XMLの初心者です、宜しくお願い致します。 XMLファイルをbuild.xmlによりXSLをを読み込ませていますが、 以下のようなエラーメッセジが出るのですが全く意味が理解出来ません。 何が原因でしょうか宜しくお願い致します。 __________________________ BUILD FAILED G:\xmlkhtgk\XML ??\???\workspace_070528\XMLproj\build.xml:19: Could not start xml validation: org.apache.xerces.parsers.SAXParser ________________________ 因みにxslの該当箇所(18行以下)と思われる内容は以下のようなコードです。 <xmlvalidate lenient="no" classname="org.apache.xerces.parsers.SAXParser" file="${doc.dir}/${xml.file}"> <attribute name="http://apache.org/xml/features/validation/schema" value="true" /> <attribute name="http://xml.org/sax/features/namespaces" value="true"/> <property name="http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation" value="${basedir}/${doc.dir}/${tagdef.file}"/> </xmlvalidate>

    • 締切済み
    • XML
  • PHP5でRSS1.0のネームスペースを記述する方法が分かりません

    PHP5のdomを使ってRSS1.0用のxmlファイルを自動生成しようと 試みているのですが、RSS1.0用にネームスペースを記述しようとしても なかなか理想通りに行きません。 理想としては下記のように表示したいのですが <rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="ja"> 現時点では『xmlns="http://purl.org/rss/1.0/"』が表示出来ません。 <?xml version="1.0" encoding="utf-8" ?> <rdf:RDF  (ここが抜けている)  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  xmlns:dc="http://purl.org/dc/elements/1.1/"  xmlns:lang="ja"> 書いたソースコードを記載します。 $doc = new DOMDocument('1.0', 'utf-8'); $doc->formatOutput = true; $root = $doc->createElementNS('http://purl.org/rss/1.0/', 'rdf:RDF'); $doc->appendChild($root); $root->setAttributeNS($NAMESPACE ,'xmlns:rdf', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'); $root->setAttributeNS($NAMESPACE ,'xmlns:dc', 'http://purl.org/dc/elements/1.1/'); $root->setAttributeNS($NAMESPACE ,'xmlns:lang', 'ja'); setAttributeNSで色々と試してみたのですが、『xmlns=』と言う形に出来ませんでした。 初歩的な質問で大変申し訳ありませんが 皆様のお力添えを頂ければと思います。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • エラーメッセジの意味が分かりません

    xmlを本を読みながら勉強しているものです。 Eclipseを使ってxml文書をxslによって書式を変換しているのですが 色々と他の文書を実行しても以下のような同じエラーが出ます。 コードのエラー以前の問題のような気がしますが、内容が理解できません。 一体どこがまずいのでしょうか。 ファィルの参照がどうもまずいみたいなのですが、指定のフォルダなりファイルは認識できいるとおもうのですが、諸兄がたよろしくおねがいします。 --------------- Buildfile: G:XML 入門\workspace_070528\XMLproj\build.xml validate_dtd: [xmlvalidate] G:\XML ??\???\workspace_070528\XMLproj\doc\Books.xml:1:9: The processing instruction target matching "[xX][mM][lL]" is not allowed. BUILD FAILED G:\XML ??\???\workspace_070528\XMLproj\build.xml:10: Could not validate document G:\XML 入門\workspace_070528\XMLproj\doc\Books.xml Total time: 485 milliseconds

    • ベストアンサー
    • XML
  • MySQLのアップグレードの方法を教えてください。

    MySQLをバージョン3.23から4.1にバージョンアップしたいと思っているのですが、以下のオフィシャルサイトの説明は難しすぎて理解できません。(というより、アップグレード後に必要な作業しか書いていない) http://dev.mysql.com/doc/mysql/ja/Upgrade.html どなたかもっと分かりやすく説明して頂けないないでしょうか? サーバーはVPSでroot権限でアクセスできますので、作業手順とコマンドがわかればどうにかなる気がしています。(バックアップや検証の方法等は結構です。) ダウンロードも以下のどれをダウンロードすれば良いのかわかりません。(レンタルサーバ会社に聞くべきでしょうか?) http://dev.mysql.com/downloads/mysql/4.1.html 以上よろしくお願い致します。

  • GCCコンパイラ作成時にmemory.hも作成する方法

    GCCコンパイラ作成時にmemory.hも作成する方法 TOPPERS/JSPのコンフィグレーションツールを ビルドしたく、ビルド実績のあると耳にした GCC3.4.4をCygwin上に作成しました。 GCC3.4.4は以下の3つから作成しました。 ・binutils-2.16.tar.bz2 ・gcc-3.4.4.tar.bz2 ・newlib-1.14.0.tar.gz GCC3.4.4の作成手順は、Web上に掲載されている手順を 参考にして、以下の通り実施しました。 ■binutilsのインストール $ tar zxvf ./binutils-2.16.tar.gz $ cd binutils-2.16 $ ./configure --target=i686-elf --prefix=/cygdrive/c/cygwin/usr/local/gnu $ make $ make install ■gccのインストール $ tar xvjf ./gcc-3.4.4.tar.bz2 $ tar zxvf ./newlib-1.14.0.tar.gz $ export PATH=$PATH:cygdrive/c/cygwin/usr/local/gnu/bin/ $ cd gcc-3.4.4 $ ./configure --target=i686-elf --prefix=/cygdrive/c/cygwin/usr/local/gnu --with-newlib --with-headers=/cygdrive/c/cgywin/usr/local/src/gnu/newlib-1.14.0/newlib/libc/include/ --disable-bootstrap --enable-languages="c,c++" $ make $ make install しかしながら上記の手順で作成すると、コンパイラ作成時に memory.hが作成されません。 そのため、コンフィグレーションツールのビルドが成功しません。 そこで、教えていただきたいのですが、 そもそもGCC3.4.4のコンパイラを作成する際にmemory.hも一緒に作成し、 GCC3.4.4のg++がインクルードする設定にできるのでしょうか? できる場合は、作成に必要な手順を是非とも教えてください。

  • xhtmlからtxt変換 半角文字のせいで文字化け

    題名の通りxhtmlをtxtに変換させたいです。 ウェブサービスを利用してxhtmlをtxtに変えましたが、半角文字から後ろが文字化けしているようです。 例)あいうえお!かきくけこ!さしすせそ  →あいうえお!□□□□□!さしすせそ ヘッドの部分は以下のようになっています。 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="ja" lang="ja"> <head> よろしくお願いします。

  • IEでXMLとDOCTYPEの関係

    PukiWikiのスキンをカスタマイズしていて、困っております。。 PukiWikiでは、HTMLの先頭に、以下のような3行が入るのですが・・・ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> IEでは、DOCTYPEが1行目にないと有効にならないようなのです。。 先頭の「<?xml・・・」は、必ずないといけないのでしょうか?「<?xml・・・」と「<!DOCTYPE・・・>」を入れ替えたりしては、不都合があるのでしょうか?

    • ベストアンサー
    • HTML
  • 急にXMLパースエラーが表示されるようになりました

    現在運営しているサイトでRSSを配信しています。 特にどこかをいじった覚えはないのですが 先月末ごろから急に以下のようなエラーがでるようになりました。 ※ブラウザはFirefoxを使っています。 XML パースエラー: 要素が見つかりません。 URL: http://www.○○○.com/index.rdf 行番号: 1, 列番号: 1: メールソフトでも受信しようとすると「有効なRSSファイルではありません」と表示されるようになりました。 文字コードの設定も確認したのですが原因がわかりません。 配信しているrdfファイルは以下のようになっております。 <?php $uri = "http://feeds.feedburner.jp/○○○"; $reqq = file_get_contents( $uri ); header("Content-type: application/xml"); print $reqq; ?> しくみはよくわかってないのですが 本体部分は別のファイルから読み込んでいます。 また、不思議なのは上記のhttp://feeds.feedburner.jp/○○○ 部分のURLにアクセスすると正常にRSS情報が表示されます。 本体ファイル <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xml:lang="ja"> ...以下続く 原因がまったく特定できず困っております。 宜しくお願いいたします。

    • ベストアンサー
    • XML
  • gentooのインストールが出来ない

    gentooのハンドブックを参照して、 http://www.gentoo.org/doc/ja/handbook/handbook-x86.xml?part=1&chap=7 の、7.b. ソースをインストールする までは出来たのですが、 コード表示 2.2: カーネルソースのシンボリックリンクを確認 で、シンボリックリンクの確認が実際には出来ません。 ここを無視して先に進めてもエラーで先に進めません。 もし、Gentooをインストールした経験がある方がいらしましたら 助言をお願いできませんでしょうか。

エイズの可能性について
このQ&Aのポイント
  • エイズの可能性を考えている方へのアドバイス
  • エイズ以外の病気の可能性や症状について
  • お酒の摂取による体液の異常について
回答を見る