Re: [Xen-devel] [PATCH v2 3/4] m4/python: fix checks for Python library support
Doug Goldstein writes ("Re: [PATCH v2 3/4] m4/python: fix checks for Python library support"): > You need to put your libraries after the sources. e.g. > gcc -W -march=native -Llibs -o program program.c -lm -lcustom Of course. I really was quite thick last week! I have queued this patch now. Acked-by: Ian JacksonIan. ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Re: [Xen-devel] [PATCH v2 3/4] m4/python: fix checks for Python library support
On 2/22/16 10:22 AM, Ian Jackson wrote: > Doug Goldstein writes ("[PATCH v2 3/4] m4/python: fix checks for Python > library support"): >> AC_CHECK_LIB() was running gcc -Llib -lm -lutils conftest.c which on >> platforms that do as needed operations by default will result in >> underlinking. Instead AC_CHECK_LIB() suggests supplying the extra >> libraries necessary in a 5th argument. > > I'm afraid I don't quite follow why the code in the patch has the > effect you desire. Why does setting LDFLAGS not work ? Forgive me if > I'm being dense - I'm afraid I have a cold. > > Regards, > Ian. > In fact this pattern is repeated all over the code base in makefiles: libxenctrl.so.$(MAJOR).$(MINOR): $(CTRL_PIC_OBJS) $(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenctrl.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LDLIBS_libxentoollog) $(LDLIBS_libxenevtchn) $(LDLIBS_libxengnttab) $(LDLIBS_libxengntshr) $(LDLIBS_libxencall) $(LDLIBS_libxenforeignmemory) $(PTHREAD_LIBS) $(APPEND_LDFLAGS) COMPILER CFLAGS/LDFLAGS -o TARGET SOURCE LIBS -- Doug Goldstein signature.asc Description: OpenPGP digital signature ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Re: [Xen-devel] [PATCH v2 3/4] m4/python: fix checks for Python library support
On 2/22/16 10:22 AM, Ian Jackson wrote: > Doug Goldstein writes ("[PATCH v2 3/4] m4/python: fix checks for Python > library support"): >> AC_CHECK_LIB() was running gcc -Llib -lm -lutils conftest.c which on >> platforms that do as needed operations by default will result in >> underlinking. Instead AC_CHECK_LIB() suggests supplying the extra >> libraries necessary in a 5th argument. > > I'm afraid I don't quite follow why the code in the patch has the > effect you desire. Why does setting LDFLAGS not work ? Forgive me if > I'm being dense - I'm afraid I have a cold. > > Regards, > Ian. > You need to put your libraries after the sources. e.g. gcc -W -march=native -Llibs -o program program.c -lm -lcustom Not before. That's why there's a difference between LIBS and LDFLAGS. The proper order is: COMPILER CFLAGS LDFLAGS SOURCES LIBS The reason is the compiler reduces the symbols to only the symbols used in each stage. By putting the libraries first the symbols are all reduced out and the result is a compiler failure. I can link you to the Gentoo docs on this: https://wiki.gentoo.org/wiki/Project:Quality_Assurance/As-needed#Failure_in_..2Fconfigure -- Doug Goldstein signature.asc Description: OpenPGP digital signature ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Re: [Xen-devel] [PATCH v2 3/4] m4/python: fix checks for Python library support
Doug Goldstein writes ("[PATCH v2 3/4] m4/python: fix checks for Python library support"): > AC_CHECK_LIB() was running gcc -Llib -lm -lutils conftest.c which on > platforms that do as needed operations by default will result in > underlinking. Instead AC_CHECK_LIB() suggests supplying the extra > libraries necessary in a 5th argument. I'm afraid I don't quite follow why the code in the patch has the effect you desire. Why does setting LDFLAGS not work ? Forgive me if I'm being dense - I'm afraid I have a cold. Regards, Ian. ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel