nhorman / dropwatch

user space utility to interface to kernel dropwatch facility
GNU General Public License v2.0
632 stars 92 forks source link

Building failure on Ubuntu-22.04 #82

Closed etienne-lorrain closed 1 year ago

etienne-lorrain commented 1 year ago

Hi, I have to modify those to get building success on such distribution. I am not a specialist of "./autogen.sh ; ./configure " but after those two lines, I need to apply this patch and then everything works right:

diff -ur dropwatch/src/Makefile dropwatch-1.5.4/src/Makefile
--- dropwatch/src/Makefile  2023-09-05 10:20:47.042111354 +0100
+++ dropwatch-1.5.4/src/Makefile    2023-09-05 14:03:23.883769251 +0100
@@ -268,7 +268,7 @@
 top_builddir = ..
 top_srcdir = ..
 AM_CFLAGS = -g -Wall -Werror $(LIBNL3_CFLAGS) $(LIBNLG3_CFLAGS) $(READLINE_CFLAGS)
-LIBS = $(LIBNL3_LIBS) $(LIBNLG3_LIBS) $(READLINE_LIBS) -lpcap \
+AM_LDFLAGS = $(LIBNL3_LIBS) $(LIBNLG3_LIBS) $(READLINE_LIBS) -lpcap \
    $(am__append_2)
 AM_CPPFLAGS = -D_GNU_SOURCE
 dropwatch_SOURCES = main.c lookup.c lookup_kas.c $(am__append_1)
@@ -351,11 +351,11 @@

 dropwatch$(EXEEXT): $(dropwatch_OBJECTS) $(dropwatch_DEPENDENCIES) $(EXTRA_dropwatch_DEPENDENCIES) 
    @rm -f dropwatch$(EXEEXT)
-   $(AM_V_CCLD)$(LINK) $(dropwatch_OBJECTS) $(dropwatch_LDADD) -Wl,--start-group $(LIBS) -Wl,--end-group
+   $(AM_V_CCLD)$(LINK) $(dropwatch_OBJECTS) $(dropwatch_LDADD) $(LIBS)

 dwdump$(EXEEXT): $(dwdump_OBJECTS) $(dwdump_DEPENDENCIES) $(EXTRA_dwdump_DEPENDENCIES) 
    @rm -f dwdump$(EXEEXT)
-   $(AM_V_CCLD)$(LINK) $(dwdump_OBJECTS) $(dwdump_LDADD) -Wl,--start-group $(LIBS)  -Wl,--end-group
+   $(AM_V_CCLD)$(LINK) $(dwdump_OBJECTS) $(dwdump_LDADD) $(LIBS)

 mostlyclean-compile:
    -rm -f *.$(OBJEXT)

The kind of errors I get without the patch is:

gcc -g -Wall -Werror -I/usr/include/libnl3 -I/usr/include/libnl3 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -lnl-3 -lnl-genl-3 -lnl-3 -lreadline -lpcap -lbfd  -o dropwatch main.o lookup.o lookup_kas.o lookup_bfd.o  
/usr/bin/ld: main.o: in function `free_netlink_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:254: undefined reference to `nlmsg_free'
/usr/bin/ld: main.o: in function `handle_dm_config_new_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:565: undefined reference to `genlmsg_parse'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:574: undefined reference to `nla_get_u8'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:586: undefined reference to `nla_get_u32'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:589: undefined reference to `nla_get_u32'
/usr/bin/ld: main.o: in function `setup_netlink_socket':

I.e. libraries not listed at the end of the parameter list for the linker step... Hope this helps, Thanks for providing dropwatch.

nhorman commented 1 year ago

you shouldn't ever modify Makefile directly in an autotools generated project, as those files are generated from the Makefile.am template in the corresponding directory.

As for whats going on with your build, I can't say. It seems you have made additional changes to the Makefile above and beyond what you have above (given that you have a LIBS line that you are changing, and the autotools template never sets up LIBS in the upstream tree). I would suggest you run the following from a clean checkout: ./autogen.sh ./configure make

and post the exact errors that you get. I may be able to tell you more precisely whats going on then

etienne-lorrain commented 1 year ago

Hi nhorman, the error I get when I do not patch the Makefile is given at the end of the report, here is an exact reproduction of the total log:

etienne@etienne-7950x:~$ wget https://github.com/nhorman/dropwatch/archive/refs/tags/v1.5.4.tar.gz
--2023-09-06 10:06:54--  https://github.com/nhorman/dropwatch/archive/refs/tags/v1.5.4.tar.gz
Resolving github.com (github.com)... 20.248.137.48
Connecting to github.com (github.com)|20.248.137.48|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/nhorman/dropwatch/tar.gz/refs/tags/v1.5.4 [following]
--2023-09-06 10:06:55--  https://codeload.github.com/nhorman/dropwatch/tar.gz/refs/tags/v1.5.4
Resolving codeload.github.com (codeload.github.com)... 140.82.112.10
Connecting to codeload.github.com (codeload.github.com)|140.82.112.10|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: ‘v1.5.4.tar.gz’

v1.5.4.tar.gz           [ <=>                ]  24.19K  --.-KB/s    in 0.09s   

2023-09-06 10:07:00 (269 KB/s) - ‘v1.5.4.tar.gz’ saved [24774]

etienne@etienne-7950x:~$ tar xf v1.5.4.tar.gz
etienne@etienne-7950x:~$ cd 
.cache/          dropwatch-1.5.4/ parallella/      .thunderbird/
cato/            eeti/            Pictures/        timemembench/
.config/         .gnupg/          Public/          tmp/
Desktop/         .jfrog/          Seagate/         Videos/
.docker/         .local/          snap/            .vim/
Documents/       .mozilla/        .ssh/            
Downloads/       Music/           Templates/       
etienne@etienne-7950x:~$ cd dropwatch-1.5.4/
etienne@etienne-7950x:~/dropwatch-1.5.4$ ./autogen.sh
+ mkdir -p m4
+ autoreconf -fv --install
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: /usr/bin/autoconf --force
configure.ac:34: warning: AC_OUTPUT should be used without arguments.
configure.ac:34: You should run autoupdate.
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:12: installing './compile'
configure.ac:8: installing './install-sh'
configure.ac:8: installing './missing'
src/Makefile.am: installing './depcomp'
parallel-tests: installing './test-driver'
autoreconf: Leaving directory '.'
etienne@etienne-7950x:~/dropwatch-1.5.4$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
./configure: line 3102: LT_INIT: command not found
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking for gawk... (cached) gawk
checking for getopt_long... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libnl-3.0... yes
checking for libnl-genl-3.0... yes
checking for readline... yes
checking for libpcap... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for bfd.h... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating doc/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: executing depfiles commands
configure: 
configure: dropwatch Version:     1.5.4
configure: Target:                 
configure: Installation prefix:    /usr/local
configure: Compiler:               gcc
configure: Compiler flags: -g -O2
configure: BFD library support: yes
etienne@etienne-7950x:~/dropwatch-1.5.4$ make
make  all-recursive
make[1]: Entering directory '/home/etienne/dropwatch-1.5.4'
Making all in src
make[2]: Entering directory '/home/etienne/dropwatch-1.5.4/src'
depbase=`echo main.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..  -D_GNU_SOURCE  -g -Wall -Werror -I/usr/include/libnl3 -I/usr/include/libnl3 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -MT main.o -MD -MP -MF $depbase.Tpo -c -o main.o main.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo lookup.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..  -D_GNU_SOURCE  -g -Wall -Werror -I/usr/include/libnl3 -I/usr/include/libnl3 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -MT lookup.o -MD -MP -MF $depbase.Tpo -c -o lookup.o lookup.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo lookup_kas.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..  -D_GNU_SOURCE  -g -Wall -Werror -I/usr/include/libnl3 -I/usr/include/libnl3 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -MT lookup_kas.o -MD -MP -MF $depbase.Tpo -c -o lookup_kas.o lookup_kas.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo lookup_bfd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..  -D_GNU_SOURCE  -g -Wall -Werror -I/usr/include/libnl3 -I/usr/include/libnl3 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -MT lookup_bfd.o -MD -MP -MF $depbase.Tpo -c -o lookup_bfd.o lookup_bfd.c &&\
mv -f $depbase.Tpo $depbase.Po
gcc -g -Wall -Werror -I/usr/include/libnl3 -I/usr/include/libnl3 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -g -O2 -lnl-3 -lnl-genl-3 -lnl-3 -lreadline -lpcap -lbfd  -o dropwatch main.o lookup.o lookup_kas.o lookup_bfd.o  
/usr/bin/ld: main.o: in function `free_netlink_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:254: undefined reference to `nlmsg_free'
/usr/bin/ld: main.o: in function `handle_dm_config_new_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:565: undefined reference to `genlmsg_parse'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:574: undefined reference to `nla_get_u8'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:586: undefined reference to `nla_get_u32'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:589: undefined reference to `nla_get_u32'
/usr/bin/ld: main.o: in function `setup_netlink_socket':
/home/etienne/dropwatch-1.5.4/src/main.c:170: undefined reference to `nl_socket_alloc'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:172: undefined reference to `genl_connect'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:174: undefined reference to `genl_ctrl_resolve'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:183: undefined reference to `nl_close'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:184: undefined reference to `nl_socket_free'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:186: undefined reference to `nl_socket_alloc'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:187: undefined reference to `nl_join_groups'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:189: undefined reference to `nl_connect'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:194: undefined reference to `nl_close'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:195: undefined reference to `nl_socket_free'
/usr/bin/ld: main.o: in function `alloc_netlink_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:210: undefined reference to `nlmsg_alloc'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:211: undefined reference to `genlmsg_put'
/usr/bin/ld: main.o: in function `free_netlink_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:254: undefined reference to `nlmsg_free'
/usr/bin/ld: main.o: in function `recv_netlink_message':
/home/etienne/dropwatch-1.5.4/src/main.c:280: undefined reference to `nl_recv'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:325: undefined reference to `nlmsg_data'
/usr/bin/ld: main.o: in function `free_netlink_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:254: undefined reference to `nlmsg_free'
/usr/bin/ld: main.o: in function `recv_netlink_message':
/home/etienne/dropwatch-1.5.4/src/main.c:307: undefined reference to `nlmsg_data'
/usr/bin/ld: main.o: in function `free_netlink_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:254: undefined reference to `nlmsg_free'
/usr/bin/ld: main.o: in function `process_rx_message':
/home/etienne/dropwatch-1.5.4/src/main.c:354: undefined reference to `nlmsg_data'
/usr/bin/ld: main.o: in function `print_nested_hw_entry':
/home/etienne/dropwatch-1.5.4/src/main.c:366: undefined reference to `nla_parse_nested'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:374: undefined reference to `nla_get_string'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:374: undefined reference to `nla_get_u32'
/usr/bin/ld: main.o: in function `print_nested_hw_entries':
/home/etienne/dropwatch-1.5.4/src/main.c:384: undefined reference to `nla_data'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:384: undefined reference to `nla_len'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:384: undefined reference to `nla_next'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:384: undefined reference to `nla_ok'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:385: undefined reference to `nla_type'
/usr/bin/ld: main.o: in function `handle_dm_alert_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:404: undefined reference to `nlmsg_data'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:406: undefined reference to `genlmsg_data'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:406: undefined reference to `nla_data'
/usr/bin/ld: main.o: in function `free_netlink_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:254: undefined reference to `nlmsg_free'
/usr/bin/ld: main.o: in function `handle_dm_alert_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:412: undefined reference to `genlmsg_parse'
/usr/bin/ld: main.o: in function `print_nested_port':
/home/etienne/dropwatch-1.5.4/src/main.c:443: undefined reference to `nla_parse_nested'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:449: undefined reference to `nla_get_u32'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:453: undefined reference to `nla_get_string'
/usr/bin/ld: main.o: in function `free_netlink_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:254: undefined reference to `nlmsg_free'
/usr/bin/ld: main.o: in function `handle_dm_packet_alert_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:485: undefined reference to `genlmsg_parse'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:490: undefined reference to `nla_get_u64'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:490: undefined reference to `nla_get_string'
/usr/bin/ld: main.o: in function `print_packet_origin':
/home/etienne/dropwatch-1.5.4/src/main.c:462: undefined reference to `nla_get_u16'
/usr/bin/ld: main.o: in function `handle_dm_packet_alert_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:506: undefined reference to `nla_data'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:507: undefined reference to `nla_len'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:522: undefined reference to `nla_get_u64'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:533: undefined reference to `nla_get_u16'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:536: undefined reference to `nla_len'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:539: undefined reference to `nla_get_u32'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:543: undefined reference to `nla_get_string'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:495: undefined reference to `nla_get_string'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:495: undefined reference to `nla_get_string'
/usr/bin/ld: main.o: in function `print_packet_origin':
/home/etienne/dropwatch-1.5.4/src/main.c:462: undefined reference to `nla_get_u16'
/usr/bin/ld: main.o: in function `print_nested_stats':
/home/etienne/dropwatch-1.5.4/src/main.c:601: undefined reference to `nla_parse_nested'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:607: undefined reference to `nla_get_u64'
/usr/bin/ld: main.o: in function `free_netlink_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:254: undefined reference to `nlmsg_free'
/usr/bin/ld: main.o: in function `handle_dm_stats_new_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:618: undefined reference to `genlmsg_parse'
/usr/bin/ld: main.o: in function `enable_drop_monitor':
/home/etienne/dropwatch-1.5.4/src/main.c:713: undefined reference to `nla_put_flag'
/usr/bin/ld: main.o: in function `free_netlink_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:254: undefined reference to `nlmsg_free'
/usr/bin/ld: main.o: in function `enable_drop_monitor':
/home/etienne/dropwatch-1.5.4/src/main.c:716: undefined reference to `nla_put_flag'
/usr/bin/ld: main.o: in function `disable_drop_monitor':
/home/etienne/dropwatch-1.5.4/src/main.c:734: undefined reference to `nla_put_flag'
/usr/bin/ld: main.o: in function `free_netlink_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:254: undefined reference to `nlmsg_free'
/usr/bin/ld: main.o: in function `disable_drop_monitor':
/home/etienne/dropwatch-1.5.4/src/main.c:737: undefined reference to `nla_put_flag'
/usr/bin/ld: main.o: in function `set_alert_mode':
/home/etienne/dropwatch-1.5.4/src/main.c:769: undefined reference to `nla_put_u8'
/usr/bin/ld: main.o: in function `free_netlink_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:254: undefined reference to `nlmsg_free'
/usr/bin/ld: main.o: in function `set_trunc_len':
/home/etienne/dropwatch-1.5.4/src/main.c:789: undefined reference to `nla_put_u32'
/usr/bin/ld: main.o: in function `free_netlink_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:254: undefined reference to `nlmsg_free'
/usr/bin/ld: main.o: in function `set_queue_len':
/home/etienne/dropwatch-1.5.4/src/main.c:809: undefined reference to `nla_put_u32'
/usr/bin/ld: main.o: in function `free_netlink_msg':
/home/etienne/dropwatch-1.5.4/src/main.c:254: undefined reference to `nlmsg_free'
/usr/bin/ld: main.o: in function `enter_command_line_mode':
/home/etienne/dropwatch-1.5.4/src/main.c:869: undefined reference to `readline'
/usr/bin/ld: main.o: in function `send_netlink_message':
/home/etienne/dropwatch-1.5.4/src/main.c:265: undefined reference to `nl_send'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:265: undefined reference to `nl_send'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:265: undefined reference to `nl_send'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:265: undefined reference to `nl_send'
/usr/bin/ld: /home/etienne/dropwatch-1.5.4/src/main.c:265: undefined reference to `nl_send'
/usr/bin/ld: main.o:/home/etienne/dropwatch-1.5.4/src/main.c:265: more undefined references to `nl_send' follow
/usr/bin/ld: main.o: in function `main':
/home/etienne/dropwatch-1.5.4/src/main.c:1155: undefined reference to `nl_close'
/usr/bin/ld: lookup_bfd.o: in function `lookup_bfd_init':
/home/etienne/dropwatch-1.5.4/src/lookup_bfd.c:48: undefined reference to `bfd_init'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:354: dropwatch] Error 1
make[2]: Leaving directory '/home/etienne/dropwatch-1.5.4/src'
make[1]: *** [Makefile:372: all-recursive] Error 1
make[1]: Leaving directory '/home/etienne/dropwatch-1.5.4'
make: *** [Makefile:313: all] Error 2
etienne@etienne-7950x:~/dropwatch-1.5.4$ 

I know that I shall not modify the Makefile, but I am not good enough to modify the autotool sources to produce such effect on the Makefile. The libraries shall be given last on the linker command because the linker process such files only once in the order specified. So the libraries shall be listed in the LIBS variable and not on the AM_LDFLAGS variable, I do not know how to modify autotools to get that result.

ahans commented 1 year ago

This happens not only on Ubuntu 22.04, it also happens on 20.04 (and probably any other distribution). It is triggered when libtool is not installed. If it is installed, it takes care of the linking step and puts the library flags at the end. But it's possible to also tell automake to do the right thing, which I did in #83.

etienne-lorrain commented 1 year ago

Works for me, Thanks.

ahans commented 1 year ago

Closing this before the PR is merged is a bit pre-mature. I'm not the maintainer of this repo, @nhorman is. But glad to hear it works for you!

nhorman commented 1 year ago

but....its been merged, last week

etienne-lorrain commented 1 year ago

Ah sorry, I checked the branch with the fix, did not retest the main branch. Thanks!