Date: Thu, 8 Mar 2012 15:40:42 +0530 From: Gautam <list@execve.net> To: bf1783@gmail.com, freebsd-ports@freebsd.org Subject: Re: graphics/png does not build with lang/gcc Message-ID: <CAD9pFYC4FWDojC4XDspGpSL5juJMwjbCRN9gfzqKTZoKKJAfnw@mail.gmail.com> In-Reply-To: <CAD9pFYA-y6u7bCkZvOk=863n4TA6c5tCosP_P%2BBEx5mXRDEprA@mail.gmail.com> References: <CAGFTUwPUFdP=Z20%2BbL59qFuh_V6R1R-GcyrK03dxESL6ZyGz7A@mail.gmail.com> <CAD9pFYA-y6u7bCkZvOk=863n4TA6c5tCosP_P%2BBEx5mXRDEprA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
sorry, missed the list. On Thu, Mar 8, 2012 at 3:39 PM, Gautam <list@execve.net> wrote: > Hi, > > On Wed, Mar 7, 2012 at 5:41 PM, b. f. <bf1783@googlemail.com> wrote: > >> > On Mon, Feb 27, 2012 at 9:51 PM, Gautam <list at execve.net> wrote: >> > Should I file a PR for this? >> >> There are some unresolved problems with stack protection, but you >> should not have to encounter them when building this port. The custom >> gcc article that you are attempting to use was written at a time when >> some of the related port Makefiles had some shortcomings that no >> longer exist, and is not the recommended way to use lang/gcc* for >> ports. For all but a handful of ports that lang/gcc* depends upon, or >> those that don't respect the toolchain-related variables, you can just >> install lang/gcc or lang/gcc46 and set USE_GCC=4.6 in your build >> environment, an included Makefile, or on the command line. I have been >> building graphics/png in this way for years. You can and should >> dispense with the libmap.conf additions, the hardcoded CC, CXX, and >> CPP in make.conf, etc. >> >> >> Thanks for your comments. I now tried this on the fresh 9.0-REL system I > created, -- I cleared out make.conf, deleted libmap.conf. The problem still > exists. Any pointers? > > Here is the log: > > uname -a > > FreeBSD vmboX 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:15:25 UTC > 2012 root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 > vmboX# pkg_version -0v [K [Kv > > binutils-2.22 < needs updating (port has 2.22_1) > gcc-4.6.2 < needs updating (port has 4.6.2_1) > gmp-5.0.2 < needs updating (port has 5.0.3) > libiconv-1.13.1_1 = up-to-date with port > mpc-0.9 = up-to-date with port > mpfr-3.1.0_2 = up-to-date with port > vmboX# cd /etc > > vmboX# cat /etc/make.conf > > vmboX# cat /etc/liba [Kmap.conf > > cat: /etc/libmap.conf: No such file or directory > > vmboX# cd /usr/ports/graphics/png > > vmboX# make clean > > ===> Cleaning for png-1.4.8_1 > > vmboX# env USE_GCC=4.6 make > > ===> Vulnerability check disabled, database not found > > ===> License check disabled, port has not defined LICENSE > ===> Found saved configuration for png-1.4.8_1 > ===> Extracting for png-1.4.8_1 > > => SHA256 Checksum OK for libpng-1.4.8.tar.xz. > => SHA256 Checksum OK for libpng-1.4.8-apng.patch.gz. > /bin/cp /usr/ports/distfiles//libpng-1.4.8-apng.patch.gz > /usr/ports/graphics/png/work/libpng-1.4.8/ > /usr/bin/gzip -nf -9 -d > /usr/ports/graphics/png/work/libpng-1.4.8/libpng-1.4.8-apng.patch.gz > ===> Patching for png-1.4.8_1 > ===> Applying extra patch > /usr/ports/graphics/png/work/libpng-1.4.8/libpng-1.4.8-apng.patch > ===> Applying FreeBSD patches for png-1.4.8_1 > ===> png-1.4.8_1 depends on executable: gcc46 - found > ===> png-1.4.8_1 depends on file: /usr/local/bin/as - found > ===> Configuring for png-1.4.8_1 > ===> Building for png-1.4.8_1 > ( cat scripts/libpng-config-head.in; echo prefix=\"/usr/local\"; echo > libdir=\"/usr/local/lib\"; echo ccopts=\"-O2 -pipe > -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing\"; echo > cppflags=\"\"; echo I_opts=\"-I/usr/local/include/libpng\"; echo > L_opts=\"-L/usr/local/lib\"; echo libs=\"-lpng -lz -lm\"; echo > ldopts=\"-Wl,-rpath=/usr/local/lib/gcc46\"; cat scripts/ > libpng-config-body.in ) > libpng-config > chmod +x libpng-config > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c png.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c png.c -o png.So > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngset.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c pngset.c -o > pngset.So > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngget.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c pngget.c -o > pngget.So > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngrutil.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c pngrutil.c -o > pngrutil.So > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngtrans.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c pngtrans.c -o > pngtrans.So > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngwutil.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c pngwutil.c -o > pngwutil.So > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngread.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c pngread.c -o > pngread.So > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngrio.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c pngrio.c -o > pngrio.So > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngwio.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c pngwio.c -o > pngwio.So > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngwrite.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c pngwrite.c -o > pngwrite.So > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngrtran.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c pngrtran.c -o > pngrtran.So > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngwtran.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c pngwtran.c -o > pngwtran.So > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngmem.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c pngmem.c -o > pngmem.So > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngerror.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c pngerror.c -o > pngerror.So > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngpread.c > gcc46 -fpic -DPIC -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 > -fno-strict-aliasing -I. -std=gnu99 -fstack-protector -c pngpread.c -o > pngpread.So > > gzip -cn libpng.3 > libpng.3.gz > gzip -cn libpngpf.3 > libpngpf.3.gz > gzip -cn png.5 > png.5.gz > gcc46 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc46 -fno-strict-aliasing -I. > -std=gnu99 -fstack-protector -c pngtest.c > building static png library > /usr/local/bin/ranlib libpng.a > building shared library libpng.so.6 > pngread.So: In function `png_create_read_struct_2': > pngread.c:(.text+0x4da): undefined reference to `__stack_chk_fail_local' > pngrutil.So: In function `png_inflate': > pngrutil.c:(.text+0x168): undefined reference to `__stack_chk_fail_local' > pngrutil.So: In function `png_decompress_chunk': > pngrutil.c:(.text+0x79c): undefined reference to `__stack_chk_fail_local' > pngrutil.So: In function `.L72': > pngrutil.c:(.text+0x9cb): undefined reference to `__stack_chk_fail_local' > pngrutil.So: In function `png_handle_cHRM': > pngrutil.c:(.text+0x15fe): undefined reference to `__stack_chk_fail_local' > pngrutil.So:pngrutil.c:(.text+0x1b99): more undefined references to > `__stack_chk_fail_local' follow > > collect2: ld returned 1 exit status > *** Error code 1 > 1 error > *** Error code 1 > > Stop in /usr/ports/graphics/png. > *** Error code 1 > > Stop in /usr/ports/graphics/png. > vmboX# > > Thanks > Gautam >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAD9pFYC4FWDojC4XDspGpSL5juJMwjbCRN9gfzqKTZoKKJAfnw>