Well, 1] I do not pretend to understand this, but I “fixed” the link issue. Though my fix leaves me a tiny bit squeamish. I was able to get past the linker error with this modification to common.mk:
LDFLAGS ?= $(as_needed_LDFLAG) -u xcb_str_sizeof Can someone please help me to understand what –u actually did? Is it a safe modification? I’ll note that inside /usr/lib64 is an older version of libxcb (1.8). It is there only because I needed to do the following (libX11-devel depends on libxcb): yum install libX11-devel My concern is to ensure that the newer versions of the libxcb stuff (that I compiled) overrides the old stuff found in /usr/lib64. 2] Other changes that I made to common.mk include: I3_CFLAGS = -std=c99 -I/usr/local/cwp/include LIBS = -L$(TOPDIR) -li3 -lm -L/usr/local/cwp/lib Is there an environment variable that I could have defined which would have prevented the need for these last two lines? 3] Last question relates to some of the libxcb elements that I did not seem to have to build. These include: xcb-proto, xcb-util-image, xcb-util-renderutil The fact that I did not have to build these seems odd. Should I have built them for completeness? I’ll also note two libraries that I had to build, which were not listed in DEPENDS: xcb-util-wm and xcb-util-keysyms. 4] As mentioned I will fully publish my procedures, once I scrub them. I will stand up a new box and go step by step through my procedures, at that point I will put them online. I’m about to try to give i3 a run now that it is built… fingers crossed. From: Sargrad, Dave Sent: Tuesday, October 28, 2014 10:07 AM To: i3-discuss@i3.zekjur.net Subject: RE: Struggling to build i3 4.8 on centos 6.5 - but almost there Johannes, Thanks again for helping me past that compile issue. I am now attempting to link. I got past a problem with a spurious -l by changing how I disabled pango. Apparently the proper way to disable pango is as follows (common.mk snippet): #PANGO_CFLAGS := $(call cflags_for_lib, cairo) #PANGO_CFLAGS += $(call cflags_for_lib, pangocairo) I3_CPPFLAGS += -DPANGO_SUPPORT=0 #PANGO_LIBS := $(call ldflags_for_lib, cairo) #PANGO_LIBS += $(call ldflags_for_lib, pangocairo) The link issue I am seeing is an undefined xcb symbol: [i3] Link i3 /usr/lib64/libxcb-render.so.0: undefined reference to `xcb_str_sizeof' collect2: ld returned 1 exit status make: *** [i3] Error 1 I found the following online: http://www.murga-linux.com/puppy/viewtopic.php?t=95934&sid=ca175185bed9514c33942f4795f29892 Here it was suggested that –rdynamic be added to the link options. This did not work for me. Which library should contain this symbol? This message is intended only for the addressee and may contain information that is company confidential or privileged. Any technical data in this message may be exported only in accordance with the U.S. International Traffic in Arms Regulations (22 CFR Parts 120-130) or the Export Administration Regulations (15 CFR Parts 730-774). Unauthorized use is strictly prohibited and may be unlawful. If you are not the intended recipient, or the person responsible for delivering to the intended recipient, you should not read, copy, disclose or otherwise use this message. If you have received this email in error, please delete it, and advise the sender immediately.