[Dillo-dev] future of dillo

25 views
Skip to first unread message

Globe Trotter

unread,
Mar 27, 2020, 11:50:28 AM3/27/20
to Dillo Mailing List
So, there was talk on Fedora to drop dillo because the project is dead and software is failing:



They may have found a workaround for now but it is likely to die in the near future.

Is there any reason why 3.1 is in limbo for such a long time? We are told to use it, but there is absolutely no attempt to package it. Does it still require further development?

I tried to compile 3.1 from Hg, but I get the following:

$./autogen.sh
aclocal       found
autoheader       found
autoconf       found
automake       found
[Checks passed]
Generating...


$./configure --enable-ssl --enable-ipv6 --enable-dependency-tracking
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
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 we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... 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 g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for ranlib... ranlib
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking size of char... 1
checking size of short... 2
checking size of long... 8
checking size of int... 4
checking size of void *... 8
checking for int16_t... yes
checking for uint16_t... yes
checking for int32_t... yes
checking for uint32_t... yes
checking for gethostbyname... yes
checking for setsockopt... yes
checking for socklen_t... socklen_t
checking FLTK 1.3... checking for fltk-config... /bin/fltk-config   yes
checking whether to link to X11... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking for jpeg_destroy_decompress in -ljpeg... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for zlibVersion in -lz... yes
checking for libpng-config... /bin/libpng16-config
checking for libpng version... 1.6.37
checking for mbedtls/ssl.h... yes
checking for mbedtls_ssl_init in -lmbedtls... yes
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking for iconv_open in -lc... yes
checking for pthread_create in -lpthread... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for unistd.h... (cached) yes
checking sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating dlib/Makefile
config.status: creating dpip/Makefile
config.status: creating dpid/Makefile
config.status: creating dpi/Makefile
config.status: creating doc/Makefile
config.status: creating dw/Makefile
config.status: creating lout/Makefile
config.status: creating src/Makefile
config.status: creating src/IO/Makefile
config.status: creating test/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands


$ make
............
g++  -g -O2 -Wall -W -Wno-unused-parameter -fno-rtti -fno-exceptions  -L/usr/local/lib -o dw-simple-container-test dw_simple_container.o dw_simple_container_test.o ../dw/libDw-widgets.a ../dw/libDw-fltk.a ../dw/libDw-core.a ../lout/liblout.a -lfltk
/bin/ld: ../dw/libDw-fltk.a(libDw_fltk_a-fltkviewbase.o): undefined reference to symbol 'XCreatePixmap'
/bin/ld: /usr/lib64/libX11.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:767: dw-simple-container-test] Error 1

So, I can not figure out what the problem here is. I do have X11 installed. What is it? I am not sure if the configure arguments are all correct: the README does not say annthing and I guessed based on the

Btw, the project might benefit from moving to something like github and involving more ways to contribute. I really value the work done so far but an OSS project is also served by users who can contribute and those that do not feel that they will contribute enough to be on the list of maintainers but might submit some patch for consideration at a github site.

Thanks!


Petr Pisar

unread,
Mar 27, 2020, 2:14:02 PM3/27/20
to dill...@dillo.org
On Fri, Mar 27, 2020 at 03:31:02PM +0000, Globe Trotter wrote:
> g++  -g -O2 -Wall -W -Wno-unused-parameter -fno-rtti -fno-exceptions  -L/usr/local/lib -o dw-simple-container-test dw_simple_container.o dw_simple_container_test.o ../dw/libDw-widgets.a ../dw/libDw-fltk.a ../dw/libDw-core.a ../lout/liblout.a -lfltk
> /bin/ld: ../dw/libDw-fltk.a(libDw_fltk_a-fltkviewbase.o): undefined reference to symbol 'XCreatePixmap'

It says that libDw_fltk_a-fltkviewbase.o object file refers to XCreatePixmap
symbol. To build dw-simple-container-test program from that object file
a library is needed that defines the symbol and that library must be named
using the "-l" argument to to the g++ command.

> /bin/ld: /usr/lib64/libX11.so.6: error adding symbols: DSO missing from command line

The linker is so nice that it searched the system and found that definition in
/usr/lib64/libX11.so.6 library.

> collect2: error: ld returned 1 exit status
>
But it keeps reporting it as an error because it the library must be specified
explicitly.

So what is missing is -lX11 argument to the g++ program. This is obviously
a bug in the ./configure script that it does not check for libX11 library and
a bug in the Makefile that it does not add -lX11 to linker flags for the
dw-simple-container-test test program.

> So, I can not figure out what the problem here is. I do have X11 installed.
> What is it?

You also need /usr/lib64/libX11.so file (without the .6 suffix) on your
system.

This problem is called an underlinking and it is a result of sloppy build
scripts. It probably worked in the old days when linkers mixed transative
library dependencies together (libfltk library itself is linked to libX11),
but modern linkers are stricter. That's due to security and performance
reasons.

-- Petr
signature.asc

Globe Trotter

unread,
Mar 27, 2020, 7:43:07 PM3/27/20
to Dillo Mailing List
Hi,

Thanks very much! I do have libX11-devel installed which provudes /usr/lib64/libX11.so

Is it possible to fix the configure script and submit it as a patch upstream?

I do hope that dillo has a future.

Thanks!


-- Petr_______________________________________________
Dillo-dev mailing list
Dill...@dillo.org
http://lists.dillo.org/cgi-bin/mailman/listinfo/dillo-dev
http://www.dillo.org/
You get this email because your address itsm...@yahoo.com is in the
mailing list dillo-dev.

Reply all
Reply to author
Forward
0 new messages