Re: .configure && make fails to find ld [dlopen]
@Simon libdl is something used on Linux to provide dlopen like functions; on FreeBSD it's already in libc so, removing the LIBS += -ldl removes the problem and the program compiles successfully; I am just a bit lost as how to proceed; See my last email with the attached updated.diff file. Best, Owen On Fri, Jul 7, 2017 at 12:12 AM, Simon J. Gerratywrote: > blubee blubeeme wrote: > > > Thanks for the reply, I haven't set any -static in my env variables or > > anything like that. Here's a brief output of my env > > > the linking to ldl is being done automatically since I call autoreconf > -fi > > and that sets up an m4 directory. grep -rn "\-ldl" in the root of the > > source folder shows that the built in configure script and the scripts in > > the m4 directory sets up those dlopen link example > > Do you *have* a libdl? > I don't on my system (10.3), and I don't see one in the tree (head). > > > $as_echo_n "checking for dlopen in -ldl... " >&6; } > > testing for it is fine - problem would be if it thinks it found it. > > > if ${ac_cv_lib_dl_dlopen+:} false; then : > > $as_echo_n "(cached) " >&6 > > else > > ac_check_lib_save_LIBS=$LIBS > > LIBS="-ldl $LIBS" > > cat confdefs.h - <<_ACEOF >conftest.$ac_ext > > > > those are sprinkled all over the place, how do I avoid that and use libc > > instead? > > If it is a standard test, there may be a knob to disable it. > ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: .configure && make fails to find ld [dlopen]
blubee blubeemewrote: > Thanks for the reply, I haven't set any -static in my env variables or > anything like that. Here's a brief output of my env > the linking to ldl is being done automatically since I call autoreconf -fi > and that sets up an m4 directory. grep -rn "\-ldl" in the root of the > source folder shows that the built in configure script and the scripts in > the m4 directory sets up those dlopen link example Do you *have* a libdl? I don't on my system (10.3), and I don't see one in the tree (head). > $as_echo_n "checking for dlopen in -ldl... " >&6; } testing for it is fine - problem would be if it thinks it found it. > if ${ac_cv_lib_dl_dlopen+:} false; then : > $as_echo_n "(cached) " >&6 > else > ac_check_lib_save_LIBS=$LIBS > LIBS="-ldl $LIBS" > cat confdefs.h - <<_ACEOF >conftest.$ac_ext > > those are sprinkled all over the place, how do I avoid that and use libc > instead? If it is a standard test, there may be a knob to disable it. ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: .configure && make fails to find ld [dlopen]
Hi Ben If you can help me with this, I would appreciate it greatly. I am trying to port this project to FreeBSD: https://github.com/endlessm/epson-inkjet-printer After I grab those files then I run autoreconf -fi; I am not sure how to get autoreconf to not put INCLUDES, which autoreconf complains about. After running autoreconf -fi I make the edits, that you can see with the attached patch updated.path file. [is there's a way to make autoreconf -fi not write INCLUDES but instead use the AM_CPPFLAGS?] After I edit the files I run ./configure --prefix=/tmp this seems to go well, no errors Then I run make, this seems to go okay as well, it generates 3 warnings but seems to run to completion, pastebin of the warnings: https://pastebin.com/k5hs6011 after that I run make install and it installs some files in the tmp directory: . ├── doc │ ├── AUTHORS │ ├── COPYING │ ├── COPYING.EPSON │ ├── COPYING.LIB │ ├── NEWS │ └── README ├── etc │ └── ld.so.conf.d │ └── 99-epson-inkjet-printer.conf └── lib └── cups └── filter └── epson_inkjet_printer_filter 6 directories, 8 files This might seem a bit silly but I am stuck here. These are the drivers for the printer that I have but I noticed a few things wrong. 1) The PPD files didn't get copied over 2) The filter file is some type shared library and I am not sure how to use it. I know that I will need to move these files to /usr/local/libexec/cups folder in their proper locations but why didn't the PPD files get installed? Can I get some help sorting this out? /usr/local/libexec/cups % tree . . ├── backend │ ├── beh │ ├── dnssd │ ├── driverless -> /usr/local/libexec/cups/driver/driverless │ ├── http -> ipp │ ├── https -> ipp │ ├── implicitclass │ ├── ipp │ ├── ipps -> ipp │ ├── lpd │ ├── parallel │ ├── serial │ ├── snmp │ ├── socket │ └── usb ├── cgi-bin │ ├── admin.cgi │ ├── classes.cgi │ ├── help.cgi │ ├── jobs.cgi │ └── printers.cgi ├── daemon │ ├── cups-deviced │ ├── cups-driverd │ ├── cups-exec │ └── cups-lpd ├── driver │ └── driverless ├── filter │ ├── bannertopdf │ ├── commandtoescpx │ ├── commandtopclx │ ├── commandtops │ ├── foomatic-rip │ ├── gstopdf │ ├── gstopxl │ ├── gstoraster │ ├── gziptoany │ ├── imagetopdf │ ├── imagetops │ ├── imagetoraster │ ├── pdftoijs │ ├── pdftoopvp │ ├── pdftopdf │ ├── pdftops │ ├── pdftoraster │ ├── pstops │ ├── rastertodymo -> rastertolabel │ ├── rastertoepson │ ├── rastertoescpx │ ├── rastertohp │ ├── rastertolabel │ ├── rastertopclx │ ├── rastertopdf │ ├── rastertops │ ├── rastertopwg │ ├── sys5ippprinter │ ├── texttopdf │ ├── texttops │ └── texttotext ├── monitor │ ├── bcp │ └── tbcp └── notifier ├── dbus ├── mailto └── rss On Thu, Jul 6, 2017 at 9:52 PM, Benjamin Kadukwrote: > On Thu, Jul 06, 2017 at 09:55:35AM +0800, blubee blubeeme wrote: > > > > those are sprinkled all over the place, how do I avoid that and use libc > > instead? > > The software you are building needs to update their configure process > to cope with dlopen being somewhere other than libdl, from what information > you've provided. Without looking at their source tree it's hard to > say exactly what this would entail. > > -Ben > diff -ruN epson-inkjet-printer/Makefile.am --ep/Makefile.am --- epson-inkjet-printer/Makefile.am 2017-07-06 10:33:43.822281000 +0800 +++ --ep/Makefile.am 2017-07-06 23:04:13.137811000 +0800 @@ -12,5 +12,6 @@ ldsohooksdir = $(sysconfdir)/ld.so.conf.d ldsohooks_DATA = ld.so.conf.d/99-epson-inkjet-printer.conf +ACLOCAL_AMFLAGS = -I m4 EXTRA_DIST = $(doc_DATA) $(ldsohooks_DATA) diff -ruN epson-inkjet-printer/configure.ac --ep/configure.ac --- epson-inkjet-printer/configure.ac 2017-07-06 10:33:43.82248 +0800 +++ --ep/configure.ac 2017-07-06 23:04:13.138123000 +0800 @@ -7,6 +7,7 @@ AC_CONFIG_SRCDIR([src/raster_to_epson.h]) AC_CONFIG_HEADER([config.h]) +AC_CONFIG_MACRO_DIRS([m4]) # Checks for programs. AC_PROG_CC @@ -14,9 +15,6 @@ AC_PROG_LN_S AC_PROG_LIBTOOL -# Checks for libraries. -AC_CHECK_LIB([dl], [dlopen]) - # Define flags AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug],[enable debug]), @@ -50,7 +48,6 @@ CUPS_SERVER_DIR=${prefix}/lib/cups CUPS_LIBS='-lcups -lm' CUPS_IMAGE_LIBS='-lcupsimage -lcups -ljpeg -lm' - DL_LIBS='-ldl' STDCPP_LIBS='-lstdc++' fi diff -ruN epson-inkjet-printer/src/Makefile.am --ep/src/Makefile.am --- epson-inkjet-printer/src/Makefile.am 2017-07-06 10:33:43.847522000 +0800 +++ --ep/src/Makefile.am 2017-07-06 23:04:13.235545000 +0800 @@ -2,7 +2,7 @@ SUBDIRS = memory raster pagemanager filteropt -INCLUDES = \ +AM_CPPFLAGS = \ -I../include \ -I./raster \ -I./memory \ diff -ruN epson-inkjet-printer/src/filteropt/Makefile.am --ep/src/filteropt/Makefile.am --- epson-inkjet-printer/src/filteropt/Makefile.am 2017-07-06 10:33:43.847946000 +0800 +++
Re: .configure && make fails to find ld [dlopen]
On Thu, Jul 06, 2017 at 09:55:35AM +0800, blubee blubeeme wrote: > > those are sprinkled all over the place, how do I avoid that and use libc > instead? The software you are building needs to update their configure process to cope with dlopen being somewhere other than libdl, from what information you've provided. Without looking at their source tree it's hard to say exactly what this would entail. -Ben ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: .configure && make fails to find ld [dlopen]
Thanks for the reply, I haven't set any -static in my env variables or anything like that. Here's a brief output of my env 1. OSTYPE=FreeBSD 2. MACHTYPE=x86_64 3. CC=clang 4. PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin 5. EDITOR=vi 6. LDFLAGS=-L/usr/local/lib 7. LD_LIBRARY_PATH=/usr/local/llvm38/lib 8. CPPFLAGS=-I/usr/local/include 9. CXX=clang++ 10. SHELL=/bin/tcsh 11. HOSTTYPE=FreeBSD 12. CFLAGS=-I/usr/local/include the linking to ldl is being done automatically since I call autoreconf -fi and that sets up an m4 directory. grep -rn "\-ldl" in the root of the source folder shows that the built in configure script and the scripts in the m4 directory sets up those dlopen link example # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext those are sprinkled all over the place, how do I avoid that and use libc instead? Best, Owen On Thu, Jul 6, 2017 at 8:14 AM, Simon J. Gerratywrote: > blubee blubeeme wrote: > > I run autoreconf -fi and it asks me to add AC_CONFIG_MACRO_DIRS([m4]) to > my > > configure.ac file, which I do. It creates a ./m4 directory and proceeds. > > > > After running .configure --prefix=/tmp [for testing] that' also goes > fine, > > except .configure cannot find dlopen > > checking for dlopen in -ldl... no > > dlopen is actually implemeted in the rtld - so you need to link at least > one shared lib (usually libc) to get it. > > > make also fails when it comes time to link because of the dlopen although > > it's a part of FreeBSD libc > > Check that you don't have -static or equivalent in CFLAGS/LDFLAGS. > ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: .configure && make fails to find ld [dlopen]
blubee blubeemewrote: > I run autoreconf -fi and it asks me to add AC_CONFIG_MACRO_DIRS([m4]) to my > configure.ac file, which I do. It creates a ./m4 directory and proceeds. > > After running .configure --prefix=/tmp [for testing] that' also goes fine, > except .configure cannot find dlopen > checking for dlopen in -ldl... no dlopen is actually implemeted in the rtld - so you need to link at least one shared lib (usually libc) to get it. > make also fails when it comes time to link because of the dlopen although > it's a part of FreeBSD libc Check that you don't have -static or equivalent in CFLAGS/LDFLAGS. ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"