From mboxrd@z Thu Jan 1 00:00:00 1970 From: seth andrews Subject: Re: Bug: babel with c++ [8.2.10 (8.2.10-29-g89a0ac-elpa] Date: Tue, 13 Jan 2015 17:36:30 -0700 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=047d7ba982123cadd9050c91ee38 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36305) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YBBwn-0007ws-5m for emacs-orgmode@gnu.org; Tue, 13 Jan 2015 19:36:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YBBwl-0006Iz-DB for emacs-orgmode@gnu.org; Tue, 13 Jan 2015 19:36:33 -0500 Received: from mail-wg0-x229.google.com ([2a00:1450:400c:c00::229]:48713) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YBBwl-0006Il-2P for emacs-orgmode@gnu.org; Tue, 13 Jan 2015 19:36:31 -0500 Received: by mail-wg0-f41.google.com with SMTP id l18so6102072wgh.0 for ; Tue, 13 Jan 2015 16:36:30 -0800 (PST) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org --047d7ba982123cadd9050c91ee38 Content-Type: text/plain; charset=UTF-8 Here's a simple example of the bug I just sent, if you try to run this with babel it fails. #+begin_src C++ :exports both :includes (list "\"boost/filesystem.hpp\"" "") :flags "-lboost_system" printf("testing\n"); #+end_src On 13 January 2015 at 17:16, seth andrews wrote: > C++ (or c code for that matter) that needs to link to any libraries will > not compile with babel. In the function org-babel-C-execute, the file name > is given last, making it impossible to pass compiler flags that will effect > linking. A simple fix is to switch the order of the last two arguments to > format. > > Emacs : GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.7) > of 2014-03-07 on lamiak, modified by Debian > Package: Org-mode version 8.2.10 (8.2.10-29-g89a0ac-elpa @ > /home/seth/.emacs.d/elpa/org-20150112/) > > current state: > ============== > (setq > org-tab-first-hook '(org-hide-block-toggle-maybe > org-src-native-tab-command-maybe > org-babel-hide-result-toggle-maybe > org-babel-header-arg-expand) > org-speed-command-hook '(org-speed-command-default-hook > org-babel-speed-command-hook) > org-occur-hook '(org-first-headline-recenter) > org-metaup-hook '(org-babel-load-in-session-maybe) > org-html-format-drawer-function '(lambda (name contents) contents) > org-latex-format-inlinetask-function 'ignore > org-confirm-shell-link-function 'yes-or-no-p > org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default > org-special-ctrl-a/e t > org-latex-format-headline-function > 'org-latex-format-headline-default-function > org-after-todo-state-change-hook '(org-clock-out-if-current) > org-latex-format-drawer-function '(lambda (name contents) contents) > org-from-is-user-regexp "\\" > org-src-mode-hook '(org-src-babel-configure-edit-buffer > org-src-mode-configure-edit-buffer) > org-agenda-before-write-hook '(org-agenda-add-entry-text) > org-babel-pre-tangle-hook '(save-buffer) > org-mode-hook '(#[nil "\300\301\302\303\304$\207" > [org-add-hook change-major-mode-hook org-show-block-all > append local] 5] > #[nil "\300\301\302\303\304$\207" > [org-add-hook change-major-mode-hook > org-babel-show-result-all append local] 5] > org-babel-result-hide-spec org-babel-hide-all-hashes) > org-ascii-format-drawer-function '(lambda (name contents width) contents) > org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point > org-babel-execute-safely-maybe) > org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers > org-cycle-hide-inline-tasks org-cycle-show-empty-lines > org-optimize-window-after-visibility-change) > org-babel-tangle-lang-exts '(("C++" . "cpp") ("emacs-lisp" . "el")) > org-confirm-elisp-link-function 'yes-or-no-p > org-metadown-hook '(org-babel-pop-to-session-maybe) > org-html-format-headline-function 'ignore > org-babel-load-languages '((gnuplot . t) (emacs-lisp . t) (C . t)) > org-html-format-inlinetask-function 'ignore > org-clock-out-hook '(org-clock-remove-empty-clock-drawer) > org-src-fontify-natively t > ) > > --047d7ba982123cadd9050c91ee38 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Here's a simple example of the bug I just sent, if you= try to run this with babel it fails.
#+begin_src C++ :exports both :inc= ludes (list "\"boost/filesystem.hpp\"" "<stdio.= h>") :flags "-lboost_system"
=C2=A0printf("testin= g\n");
#+end_src


On 13 January 2015 at 17:16, seth andrews <sethdandr= ews@gmail.com> wrote:
C++ (or c code for that matter) that needs t= o link to any libraries will not compile with babel.=C2=A0 In the function = org-babel-C-execute, the file name is given last, making it impossible to p= ass compiler flags that will effect linking.=C2=A0 A simple fix is to switc= h the order of the last two arguments to format.

Emacs=C2=A0 : GNU E= macs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.7)
=C2=A0of 2014-03-= 07 on lamiak, modified by Debian
Package: Org-mode version 8.2.10 (8.2.1= 0-29-g89a0ac-elpa @ /home/seth/.emacs.d/elpa/org-20150112/)

current = state:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
(setq
=C2=A0org-= tab-first-hook '(org-hide-block-toggle-maybe org-src-native-tab-command= -maybe
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0= =C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0 org-babel-hide-result-toggle-maybe o= rg-babel-header-arg-expand)
=C2=A0org-speed-command-hook '(org-speed= -command-default-hook org-babel-speed-command-hook)
=C2=A0org-occur-hook= '(org-first-headline-recenter)
=C2=A0org-metaup-hook '(org-babe= l-load-in-session-maybe)
=C2=A0org-html-format-drawer-function '(lam= bda (name contents) contents)
=C2=A0org-latex-format-inlinetask-function= 'ignore
=C2=A0org-confirm-shell-link-function 'yes-or-no-p
= =C2=A0org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask= -default
=C2=A0org-special-ctrl-a/e t
=C2=A0org-latex-format-headline= -function 'org-latex-format-headline-default-function
=C2=A0org-afte= r-todo-state-change-hook '(org-clock-out-if-current)
=C2=A0org-latex= -format-drawer-function '(lambda (name contents) contents)
=C2=A0org= -from-is-user-regexp "\\<seth\\>"
=C2=A0org-src-mode-hoo= k '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buf= fer)
=C2=A0org-agenda-before-write-hook '(org-agenda-add-entry-text)=
=C2=A0org-babel-pre-tangle-hook '(save-buffer)
=C2=A0org-mode-ho= ok '(#[nil "\300\301\302\303\304$\207"
=C2=A0=C2=A0=C2=A0 = =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0 [org-= add-hook change-major-mode-hook org-show-block-all append local] 5]
=C2= =A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 = =C2=A0#[nil "\300\301\302\303\304$\207"
=C2=A0=C2=A0=C2=A0 =C2= =A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0 [org-add= -hook change-major-mode-hook org-babel-show-result-all append local] 5]
= =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0= =C2=A0org-babel-result-hide-spec org-babel-hide-all-hashes)
=C2=A0org-a= scii-format-drawer-function '(lambda (name contents width) contents)=C2=A0org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execu= te-safely-maybe)
=C2=A0org-cycle-hook '(org-cycle-hide-archived-subt= rees org-cycle-hide-drawers
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0= =C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0 org-cycle-hide-inline-tasks org-cycl= e-show-empty-lines
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2= =A0 =C2=A0=C2=A0=C2=A0 =C2=A0 org-optimize-window-after-visibility-change)<= br>=C2=A0org-babel-tangle-lang-exts '(("C++" . "cpp"= ;) ("emacs-lisp" . "el"))
=C2=A0org-confirm-elisp-li= nk-function 'yes-or-no-p
=C2=A0org-metadown-hook '(org-babel-pop= -to-session-maybe)
=C2=A0org-html-format-headline-function 'ignore=C2=A0org-babel-load-languages '((gnuplot . t) (emacs-lisp . t) (C . = t))
=C2=A0org-html-format-inlinetask-function 'ignore
=C2=A0org-c= lock-out-hook '(org-clock-remove-empty-clock-drawer)
=C2=A0org-src-f= ontify-natively t
=C2=A0)


--047d7ba982123cadd9050c91ee38--