Hi Louis,
thanks for reporting this. I believe that I managed to fix all compiler
warnings.
The linker warning:
*ld: warning: -bind_at_load is deprecated on macOS*
seems to be caused by different libtool versions. Maybe running *libtoolize*
on your box in the top-level GNU APL directory fixes it, otherwise copy your
local */usr/share/libtool/build-aux/ltmain.sh* to the top-level GNU APL
directory.
After that, re-run ./configure.
You may also want to email your */usr/share/libtool/build-aux/ltmain.sh,
*I might
then be able to fix the one that is shipped with GNU APL.
Best Regards,
Jürgen
On 10/2/23 18:18, Louis Chretien via Bugs and suggestions for GNU APL wrote:
A bunch of warnings are present in the build 1735 of GNU APL on Mac OS:
/bin/sh ../../libtool --tag=CXX --mode=link g++ -I ./.. -g -O2
-DAP_NUM=100 -I/opt/local/include -I /Users/admin/Subversion/apl -o
AP100 AP100-AP100.o AP100-APmain.o ../AP100-Backtrace.o
../AP100-Svar_DB.o ../AP100-Svar_record.o -ldl -lm -lncurses -lcurses
-lpthread
libtool: link: g++ -I ./.. -g -O2 -DAP_NUM=100 -I/opt/local/include -I
/Users/admin/Subversion/apl -o AP100 AP100-AP100.o AP100-APmain.o
../AP100-Backtrace.o ../AP100-Svar_DB.o ../AP100-Svar_record.o
-Wl,-bind_at_load -ldl -lm -lncurses -lcurses -lpthread
ld: warning: -bind_at_load is deprecated on macOS
/bin/sh ../../libtool --tag=CXX --mode=link g++ -I ./.. -g -O2
-I/opt/local/include -I /Users/admin/Subversion/apl -o APserver
APserver-APserver.o APserver-Svar_DB_server.o
../APserver-Svar_record.o -ldl -lm -lncurses -lcurses -lpthread
libtool: link: g++ -I ./.. -g -O2 -I/opt/local/include -I
/Users/admin/Subversion/apl -o APserver APserver-APserver.o
APserver-Svar_DB_server.o ../APserver-Svar_record.o -Wl,-bind_at_load
-ldl -lm -lncurses -lcurses -lpthread
ld: warning: -bind_at_load is deprecated on macOS
g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -I
/Users/admin/Subversion/apl -I/opt/local/include -I
/Users/admin/Subversion/apl -MT apl-Archive.o -MD -MP -MF
.deps/apl-Archive.Tpo -c -o apl-Archive.o `test -f 'Archive.cc
<http://Archive.cc>' || echo './'`Archive.cc <http://Archive.cc>
In file included from Archive.cc:32 <http://archive.cc:32>:
./Archive.hh:44:1: warning: struct 'Token_loc' was previously declared
as a class; this is valid, but may result in linker errors under the
Microsoft C++ ABI [-Wmismatched-tags]
struct Token_loc;
^
./Token.hh:435:7: note: previous use is here
class Token_loc
^
./Archive.hh:44:1: note: did you mean class here?
struct Token_loc;
^~~~~~
class
1 warning generated.
g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -I
/Users/admin/Subversion/apl -I/opt/local/include -I
/Users/admin/Subversion/apl -MT apl-Executable.o -MD -MP -MF
.deps/apl-Executable.Tpo -c -o apl-Executable.o `test -f
'Executable.cc <http://Executable.cc>' || echo './'`Executable.cc
<http://Executable.cc>
Executable.cc:850 <http://executable.cc:850>:11: warning: result of
comparison of constant 2 with expression of type 'Function_PC' is
always true [-Wtautological-constant-out-of-range-compare]
if (pc < 2) return Function_PC_0;
~~ ^ ~
1 warning generated.
g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -I
/Users/admin/Subversion/apl -I/opt/local/include -I
/Users/admin/Subversion/apl -MT apl-LineInput.o -MD -MP -MF
.deps/apl-LineInput.Tpo -c -o apl-LineInput.o `test -f 'LineInput.cc
<http://LineInput.cc>' || echo './'`LineInput.cc <http://LineInput.cc>
LineInput.cc:174 <http://lineinput.cc:174>:5: warning: variable
'count' set but not used [-Wunused-but-set-variable]
int count = 0;
^
1 warning generated.
g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -I
/Users/admin/Subversion/apl -I/opt/local/include -I
/Users/admin/Subversion/apl -MT apl-Parser.o -MD -MP -MF
.deps/apl-Parser.Tpo -c -o apl-Parser.o `test -f 'Parser.cc
<http://Parser.cc>' || echo './'`Parser.cc <http://Parser.cc>
Parser.cc:683 <http://parser.cc:683>:29: warning: use of logical '&&'
with constant operand [-Wconstant-logical-operand]
if (!(DO_FT_LITERAL_AXIS && DO_FT_LITERAL_INDEX)) return false;
^ ~~~~~~~~~~~~~~~~~~~
Parser.cc:683 <http://parser.cc:683>:29: note: use '&' for a bitwise
operation
if (!(DO_FT_LITERAL_AXIS && DO_FT_LITERAL_INDEX)) return false;
^~
&
Parser.cc:683 <http://parser.cc:683>:29: note: remove constant to
silence this warning
if (!(DO_FT_LITERAL_AXIS && DO_FT_LITERAL_INDEX)) return false;
~^~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -I
/Users/admin/Subversion/apl -I/opt/local/include -I
/Users/admin/Subversion/apl -MT apl-Quad_XML.o -MD -MP -MF
.deps/apl-Quad_XML.Tpo -c -o apl-Quad_XML.o `test -f 'Quad_XML.cc
<http://quad_xml.cc>' || echo './'`Quad_XML.cc <http://quad_xml.cc>
Quad_XML.cc:550 <http://quad_xml.cc:550>:11: warning: variable 'count'
set but not used [-Wunused-but-set-variable]
ShapeItem count = 0;
^
1 warning generated.
g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -I
/Users/admin/Subversion/apl -I/opt/local/include -I
/Users/admin/Subversion/apl -MT apl-Workspace.o -MD -MP -MF
.deps/apl-Workspace.Tpo -c -o apl-Workspace.o `test -f 'Workspace.cc
<http://Workspace.cc>' || echo './'`Workspace.cc <http://Workspace.cc>
In file included from Workspace.cc:32 <http://workspace.cc:32>:
./Archive.hh:44:1: warning: struct 'Token_loc' was previously declared
as a class; this is valid, but may result in linker errors under the
Microsoft C++ ABI [-Wmismatched-tags]
struct Token_loc;
^
./Token.hh:435:7: note: previous use is here
class Token_loc
^
./Archive.hh:44:1: note: did you mean class here?
struct Token_loc;
^~~~~~
class
1 warning generated.
/bin/sh ../libtool --tag=CXX --mode=link g++ -Wall -I sql -I
/Users/admin/Subversion/apl -I/opt/local/include -I
/Users/admin/Subversion/apl -export-dynamic -lsqlite3 -o apl
apl-main.o apl-Plot_xcb.o apl-Archive.o apl-Assert.o apl-Avec.o
apl-Backtrace.o apl-Bif_F12_COMMA.o apl-Bif_F12_DOMINO.o
apl-Bif_F12_INDEX_OF.o apl-Bif_F12_INTERVAL_INDEX.o
apl-Bif_F12_FORMAT.o apl-Bif_F12_PARTITION_PICK.o apl-Bif_F12_SORT.o
apl-Bif_F12_TAKE_DROP.o apl-Bif_OPER1_COMMUTE.o apl-Bif_OPER1_EACH.o
apl-Bif_OPER2_POWER.o apl-Bif_OPER2_INNER.o apl-Bif_OPER2_OUTER.o
apl-Bif_OPER2_RANK.o apl-Bif_OPER1_REDUCE.o apl-Bif_OPER1_SCAN.o
apl-CDR.o apl-Cell.o apl-Doxy.o apl-CharCell.o apl-Command.o
apl-Common.o apl-ComplexCell.o apl-DerivedFunction.o apl-DiffOut.o
apl-DynamicObject.o apl-Error.o apl-Executable.o apl-FloatCell.o
apl-Function.o apl-Id.o apl-IndexExpr.o apl-IndexIterator.o
apl-InputFile.o apl-IntCell.o apl-IO_Files.o apl-LApack.o
apl-LibPaths.o apl-LineInput.o apl-Logging.o apl-LvalCell.o
apl-Malloc_hooks.o apl-Nabla.o apl-Macro.o apl-Missing_Libraries.o
apl-NamedObject.o apl-NativeFunction.o apl-NumericCell.o apl-Output.o
apl-Parallel.o apl-Parser.o apl-Performance.o apl-PointerCell.o
apl-Prefix.o apl-Plot_line_properties.o apl-Plot_data.o
apl-Plot_window_properties.o apl-PrimitiveFunction.o apl-PrintBuffer.o
apl-QuadFunction.o apl-ProcessorID.o apl-Quad_CR.o apl-Quad_DLX.o
apl-Quad_FFT.o apl-Quad_FIO.o apl-Quad_FX.o apl-Quad_GTK.o
apl-Quad_JSON.o apl-Quad_MAP.o apl-Quad_PLOT.o apl-Quad_PNG.o
apl-Quad_RE.o apl-Quad_RL.o apl-Quad_RVAL.o apl-Quad_SQL.o
apl-Quad_SVx.o apl-Quad_TF.o apl-Quad_WA.o apl-Quad_XML.o
apl-RealCell.o apl-sbrk.o apl-Shape.o apl-ScalarFunction.o
apl-Security.o apl-StateIndicator.o apl-Svar_DB.o apl-Svar_record.o
apl-Symbol.o apl-SymbolTable.o apl-SystemVariable.o apl-TabExpansion.o
apl-Thread_context.o apl-Token.o apl-Tokenizer.o apl-UCS_string.o
apl-UCS_string_vector.o apl-UserFunction.o apl-UserFunction_header.o
apl-UserPreferences.o apl-UTF8_string.o apl-Value.o apl-ValueHistory.o
apl-Workspace.o apl-static_Objects.o sql/apl-SqliteArgListBuilder.o
sql/apl-SqliteConnection.o sql/apl-SqliteResultValue.o
sql/apl-SqliteProvider.o sql/apl-Connection.o -ldl -lm -lncurses
-lcurses -lpthread -ldl -lm -lncurses -lcurses -lpthread
libtool: link: g++ -Wall -I sql -I /Users/admin/Subversion/apl
-I/opt/local/include -I /Users/admin/Subversion/apl -o apl apl-main.o
apl-Plot_xcb.o apl-Archive.o apl-Assert.o apl-Avec.o apl-Backtrace.o
apl-Bif_F12_COMMA.o apl-Bif_F12_DOMINO.o apl-Bif_F12_INDEX_OF.o
apl-Bif_F12_INTERVAL_INDEX.o apl-Bif_F12_FORMAT.o
apl-Bif_F12_PARTITION_PICK.o apl-Bif_F12_SORT.o
apl-Bif_F12_TAKE_DROP.o apl-Bif_OPER1_COMMUTE.o apl-Bif_OPER1_EACH.o
apl-Bif_OPER2_POWER.o apl-Bif_OPER2_INNER.o apl-Bif_OPER2_OUTER.o
apl-Bif_OPER2_RANK.o apl-Bif_OPER1_REDUCE.o apl-Bif_OPER1_SCAN.o
apl-CDR.o apl-Cell.o apl-Doxy.o apl-CharCell.o apl-Command.o
apl-Common.o apl-ComplexCell.o apl-DerivedFunction.o apl-DiffOut.o
apl-DynamicObject.o apl-Error.o apl-Executable.o apl-FloatCell.o
apl-Function.o apl-Id.o apl-IndexExpr.o apl-IndexIterator.o
apl-InputFile.o apl-IntCell.o apl-IO_Files.o apl-LApack.o
apl-LibPaths.o apl-LineInput.o apl-Logging.o apl-LvalCell.o
apl-Malloc_hooks.o apl-Nabla.o apl-Macro.o apl-Missing_Libraries.o
apl-NamedObject.o apl-NativeFunction.o apl-NumericCell.o apl-Output.o
apl-Parallel.o apl-Parser.o apl-Performance.o apl-PointerCell.o
apl-Prefix.o apl-Plot_line_properties.o apl-Plot_data.o
apl-Plot_window_properties.o apl-PrimitiveFunction.o apl-PrintBuffer.o
apl-QuadFunction.o apl-ProcessorID.o apl-Quad_CR.o apl-Quad_DLX.o
apl-Quad_FFT.o apl-Quad_FIO.o apl-Quad_FX.o apl-Quad_GTK.o
apl-Quad_JSON.o apl-Quad_MAP.o apl-Quad_PLOT.o apl-Quad_PNG.o
apl-Quad_RE.o apl-Quad_RL.o apl-Quad_RVAL.o apl-Quad_SQL.o
apl-Quad_SVx.o apl-Quad_TF.o apl-Quad_WA.o apl-Quad_XML.o
apl-RealCell.o apl-sbrk.o apl-Shape.o apl-ScalarFunction.o
apl-Security.o apl-StateIndicator.o apl-Svar_DB.o apl-Svar_record.o
apl-Symbol.o apl-SymbolTable.o apl-SystemVariable.o apl-TabExpansion.o
apl-Thread_context.o apl-Token.o apl-Tokenizer.o apl-UCS_string.o
apl-UCS_string_vector.o apl-UserFunction.o apl-UserFunction_header.o
apl-UserPreferences.o apl-UTF8_string.o apl-Value.o apl-ValueHistory.o
apl-Workspace.o apl-static_Objects.o sql/apl-SqliteArgListBuilder.o
sql/apl-SqliteConnection.o sql/apl-SqliteResultValue.o
sql/apl-SqliteProvider.o sql/apl-Connection.o -Wl,-bind_at_load
-lsqlite3 -ldl -lm -lncurses -lcurses -lpthread
ld: warning: -bind_at_load is deprecated on macOS
/bin/sh ../libtool --tag=CXX --mode=link g++ -I/opt/local/include
-I /Users/admin/Subversion/apl -o APL_keyboard APL_keyboard.o -ldl
-lm -lncurses -lcurses -lpthread
libtool: link: g++ -I/opt/local/include -I /Users/admin/Subversion/apl
-o APL_keyboard APL_keyboard.o -Wl,-bind_at_load -ldl -lm -lncurses
-lcurses -lpthread
ld: warning: -bind_at_load is deprecated on macOS
/bin/sh ../libtool --tag=CXX --mode=link g++ -I/opt/local/include
-I /Users/admin/Subversion/apl -o APL_keyboard_learn
APL_keyboard_learn.o -ldl -lm -lncurses -lcurses -lpthread
libtool: link: g++ -I/opt/local/include -I /Users/admin/Subversion/apl
-o APL_keyboard_learn APL_keyboard_learn.o -Wl,-bind_at_load -ldl -lm
-lncurses -lcurses -lpthread
ld: warning: -bind_at_load is deprecated on macOS
/bin/sh ../libtool --tag=CXX --mode=link g++ -I/opt/local/include
-I /Users/admin/Subversion/apl -o APL_keyboard_show
APL_keyboard_show.o -ldl -lm -lncurses -lcurses -lpthread
libtool: link: g++ -I/opt/local/include -I /Users/admin/Subversion/apl
-o APL_keyboard_show APL_keyboard_show.o -Wl,-bind_at_load -ldl -lm
-lncurses -lcurses -lpthread
ld: warning: -bind_at_load is deprecated on macOS
/bin/sh ../libtool --tag=CXX --mode=link g++ -I/opt/local/include
-I /Users/admin/Subversion/apl -o apl2html apl2html.o -ldl -lm
-lncurses -lcurses -lpthread
libtool: link: g++ -I/opt/local/include -I /Users/admin/Subversion/apl
-o apl2html apl2html.o -Wl,-bind_at_load -ldl -lm -lncurses -lcurses
-lpthread
ld: warning: -bind_at_load is deprecated on macOS
/bin/sh ../libtool --tag=CXX --mode=link g++ -I/opt/local/include
-I /Users/admin/Subversion/apl -o lines lines.o -ldl -lm -lncurses
-lcurses -lpthread
libtool: link: g++ -I/opt/local/include -I /Users/admin/Subversion/apl
-o lines lines.o -Wl,-bind_at_load -ldl -lm -lncurses -lcurses -lpthread
ld: warning: -bind_at_load is deprecated on macOS
/bin/sh ../libtool --tag=CXX --mode=link g++ -I/opt/local/include
-I /Users/admin/Subversion/apl -o ncurses_emul ncurses_emul.o -ldl
-lm -lncurses -lcurses -lpthread
libtool: link: g++ -I/opt/local/include -I /Users/admin/Subversion/apl
-o ncurses_emul ncurses_emul.o -Wl,-bind_at_load -ldl -lm -lncurses
-lcurses -lpthread
ld: warning: -bind_at_load is deprecated on macOS
depbase=`echo phrase_gen.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I. -I.. -I/opt/local/include -I
/Users/admin/Subversion/apl -MT phrase_gen.o -MD -MP -MF $depbase.Tpo
-c -o phrase_gen.o phrase_gen.cc <http://phrase_gen.cc> &&\
mv -f $depbase.Tpo $depbase.Po
phrase_gen.cc:52 <http://phrase_gen.cc:52>:29: warning: 'sprintf' is
deprecated: This function is provided for compatibility reasons only.
Due to security concerns inherent in the design of sprintf(3), it is
highly recommended that you use snprintf(3) instead.
[-Wdeprecated-declarations]
loop(l, len) b += sprintf(b, "_%s", names[l]);
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h:180:1:
note: 'sprintf' has been explicitly marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons
only. Due to security concerns inherent in the design of sprintf(3),
it is highly recommended that you use snprintf(3) instead.")
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48:
note: expanded from macro '__deprecated_msg'
#define __deprecated_msg(_msg)
__attribute__((__deprecated__(_msg)))
^
phrase_gen.cc:53 <http://phrase_gen.cc:53>:9: warning: 'sprintf' is
deprecated: This function is provided for compatibility reasons only.
Due to security concerns inherent in the design of sprintf(3), it is
highly recommended that you use snprintf(3) instead.
[-Wdeprecated-declarations]
sprintf(b, "[%d]", len);
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h:180:1:
note: 'sprintf' has been explicitly marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons
only. Due to security concerns inherent in the design of sprintf(3),
it is highly recommended that you use snprintf(3) instead.")
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48:
note: expanded from macro '__deprecated_msg'
#define __deprecated_msg(_msg)
__attribute__((__deprecated__(_msg)))
^
2 warnings generated.
/bin/sh ../libtool --tag=CXX --mode=link g++ -I/opt/local/include
-I /Users/admin/Subversion/apl -o phrase_gen phrase_gen.o -ldl -lm
-lncurses -lcurses -lpthread
libtool: link: g++ -I/opt/local/include -I /Users/admin/Subversion/apl
-o phrase_gen phrase_gen.o -Wl,-bind_at_load -ldl -lm -lncurses
-lcurses -lpthread
ld: warning: -bind_at_load is deprecated on macOS
/bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -o sockconst
sockconst.o -ldl -lm -lncurses -lcurses -lpthread
libtool: link: gcc -g -O2 -o sockconst sockconst.o -ldl -lm -lncurses
-lcurses -lpthread
depbase=`echo TLV_server.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT TLV_server.o -MD -MP -MF
$depbase.Tpo -c -o TLV_server.o TLV_server.c &&\
mv -f $depbase.Tpo $depbase.Po
/bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -o TLV_server
TLV_server.o -ldl -lm -lncurses -lcurses -lpthread
libtool: link: gcc -g -O2 -o TLV_server TLV_server.o -ldl -lm
-lncurses -lcurses -lpthread
Making all in websock
Making all in client
make[3]: Nothing to be done for `all'.
Making all in server
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
admin@MBP-15-Louis Subversion %
---
Louis Chrétien
lchret...@mac.com