[ 
https://issues.apache.org/jira/browse/ARROW-2313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16400536#comment-16400536
 ] 

ASF GitHub Bot commented on ARROW-2313:
---------------------------------------

wesm commented on issue #1752: ARROW-2313: [C++] Add -NDEBUG flag to arrow.pc
URL: https://github.com/apache/arrow/pull/1752#issuecomment-373408024
 
 
   @pitrou @xhochy on some more contemplation about this issue, I think we 
should make `Buffer::mutable_data` always inline -- right now depending on 
whether libarrow is built in debug or release mode, the symbol will be present 
in the shared library or not. This means that downstream linkers must remember 
to define `NDEBUG` before including Arrow headers if they are using an Arrow 
release build. Does this sound OK (while it is nice to assert that 
`mutable_data()` has not been used on a non-mutable buffer)?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> [GLib] Release builds must define NDEBUG
> ----------------------------------------
>
>                 Key: ARROW-2313
>                 URL: https://issues.apache.org/jira/browse/ARROW-2313
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: GLib
>            Reporter: Wes McKinney
>            Assignee: Kouhei Sutou
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.9.0
>
>
> Ran into another problem with {{verify-release-candidate.sh 0.9.0 0}} -- the 
> GLib build is not defining NDEBUG -- depending on whether Arrow was built in 
> release or debug mode, some symbols (like {{Buffer::mutable_data}}) may not 
> be inlined
> {code}
>   CXX      libarrow_glib_la-compute.lo
>   CC       enums.lo
>   CXXLD    libarrow-glib.la
> ar: `u' modifier ignored since `D' is the default (see `U')
>   GISCAN   Arrow-1.0.gir
> ./.libs/libarrow-glib.so: undefined reference to 
> `arrow::Buffer::mutable_data()'
> collect2: error: ld returned 1 exit status
> linking of temporary binary failed: Command '['/bin/bash', '../libtool', 
> '--mode=link', '--tag=CC', '--silent', 'gcc', '-o', 
> '/tmp/arrow-0.9.0.hlQDV/apache-arrow-0.9.0/c_glib/arrow-glib/tmp-introspect7g38ad/Arrow-1.0',
>  '-export-dynamic', '-g', '-O2', 
> 'tmp-introspect7g38ad/tmp/arrow-0.9.0.hlQDV/apache-arrow-0.9.0/c_glib/arrow-glib/tmp-introspect7g38ad/Arrow-1.0.o',
>  '-L.', 'libarrow-glib.la', '-Wl,--export-dynamic', '-lgmodule-2.0', 
> '-pthread', '-lgio-2.0', '-lgobject-2.0', '-lglib-2.0']' returned non-zero 
> exit status 1
> /usr/share/gobject-introspection-1.0/Makefile.introspection:155: recipe for 
> target 'Arrow-1.0.gir' failed
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to