chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-janitors] #1335: Building on OS X: egg uses 1 deprecated functi


From: Chicken Trac
Subject: [Chicken-janitors] #1335: Building on OS X: egg uses 1 deprecated function and 1 missing function
Date: Mon, 31 Oct 2016 10:49:09 -0000

#1335: Building on OS X: egg uses 1 deprecated function and 1 missing function
---------------------+--------------------------------
 Reporter:  nxg      |                 Owner:
     Type:  defect   |                Status:  new
 Priority:  major    |             Milestone:  someday
Component:  unknown  |               Version:  4.11.0
 Keywords:           |  Estimated difficulty:  easy
---------------------+--------------------------------
 Building the sqlite3 egg on OS X (10.11.6) produces a warning and an error
 -- see below for full trace.

 Specifically:
 {{{
 'sqlite3_enable_shared_cache' has been explicitly marked deprecated here
 }}}
 The SQLite docs note https://www.sqlite.org/c3ref/enable_shared_cache.html
 that ‘This method is disabled on MacOS X 10.7 and iOS version 5.0 and will
 always return SQLITE_MISUSE’

 Also, the function sqlite3_enable_load_extension appears not to be
 available on OS X.  The SQLite docs
 https://www.sqlite.org/c3ref/enable_load_extension.html seem to recommend
 a different route to disabling this, on security grounds, but I confess I
 don't understand the implications of that.  This function is still
 mentioned in the system sqlite3.h header, but it appears to be absent from
 (been deliberately removed from?) the system sqlite3 library.

 There appear to be alternative documented routes to both of the intended
 functionalities, so I've tentatively marked this as 'easy' difficulty.

 Building with:
 {{{
 chicken-install -n -D disable-shared-cache,disable-load-extension
 }}}
 appears to work OK, though I haven't tested fully.

 Original build output...

 {{{
 % chicken-install -version
 4.11.0
 % chicken-install -n
 retrieving ...
 checking platform for `sqlite3' ...
 checking dependencies for `sqlite3' ...
 install order:
 ("sqlite3")
 installing sqlite3: ...
 changing current directory to .
   '/Data/tools/chicken-4.11.0/bin/csi' -bnq -setup-mode -e "(require-
 library setup-api)" -e "(import setup-api)" -e "(setup-error-handling)" -e
 "(extension-name-and-version '(\"sqlite3\" \"\"))" -e "(keep-intermediates
 #t)" -e "(setup-install-mode #f)" 'sqlite3.setup'
   '/Data/tools/chicken-4.11.0/bin/csc' -feature compiling-extension
 -setup-mode -k   -O2 -d1 -s sqlite3.scm -lsqlite3 -j sqlite3

 Warning: imported identifier doesn't exist in module chicken: dynamic-wind
 sqlite3.c:310:23: warning: 'sqlite3_enable_shared_cache' is deprecated:
 first deprecated
       in macOS 10.7 [-Wdeprecated-declarations]
 C_r=C_int_to_num(&C_a,sqlite3_enable_shared_cache(t0));
                       ^
 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/sqlite3.h:5424:31:
 note:
       'sqlite3_enable_shared_cache' has been explicitly marked deprecated
 here
 SQLITE_API int SQLITE_STDCALL sqlite3_enable_shared_cache(int)
 __OSX_AVAILABLE_BUT...
                               ^
 1 warning generated.
 Undefined symbols for architecture x86_64:
   "_sqlite3_enable_load_extension", referenced from:
       _f_8972 in sqlite3.o
 ld: symbol(s) not found for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see
 invocation)

 Error: shell command terminated with non-zero exit status 256:
 '/Applications/Xcode.app/Contents/Developer/usr/bin/gcc' 'sqlite3.o' -o
 'sqlite3.so' -m64 -bundle -headerpad_max_install_names -lsqlite3
 -L/Data/tools/chicken-4.11.0/lib -lchicken -lm

 Error: shell command failed with nonzero exit status 256:

   '/Data/tools/chicken-4.11.0/bin/csc' -feature compiling-extension
 -setup-mode -k   -O2 -d1 -s sqlite3.scm -lsqlite3 -j sqlite3


 Error: shell command terminated with nonzero exit code
 17920
 "'/Data/tools/chicken-4.11.0/bin/csi' -bnq -setup-mode -e \"(require-
 library set...
 }}}

--
Ticket URL: <https://bugs.call-cc.org/ticket/1335>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]