Re: .configure && make fails to find ld [dlopen]

2017-07-06 Thread blubee blubeeme
@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. Gerraty  wrote:

> 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]

2017-07-06 Thread Simon J. Gerraty
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]

2017-07-06 Thread blubee blubeeme
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 Kaduk  wrote:

> 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]

2017-07-06 Thread Benjamin Kaduk
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]

2017-07-05 Thread blubee blubeeme
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. Gerraty  wrote:

> 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]

2017-07-05 Thread Simon J. Gerraty
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"