X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Subject: Re: [geda-user] RFC feedback on release pcb-4.0.0 requested To: geda-user AT delorie DOT com References: <58A4AFF5 DOT 3040008 AT xs4all DOT nl> <7d12886d-a802-d5e3-1abf-b113e436a5ff AT tio DOT cz> <501527a2-ab82-4795-f8b5-2bb7a0795421 AT tio DOT cz> <44d9173e-c265-c444-210d-ae0fecea4b9f AT tio DOT cz> From: Jan Damborsky Message-ID: <76ca7b52-2e4d-ff53-adf9-877b413daf46@tio.cz> Date: Fri, 17 Feb 2017 21:09:00 +0100 User-Agent: Mozilla/5.0 (X11; SunOS i86pc; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/alternative; boundary="------------7F148C079F03C4A732FBA346" Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk This is a multi-part message in MIME format. --------------7F148C079F03C4A732FBA346 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Nope, since opencsw stuff is 3rd "software distribution", not standard part of Oracle Solaris. That said, I have given it a try. Installation of libgd_dev installed couple of other packages, including libgd3, so I ended up with two version of libgd on my system: $ ls -l /usr/lib/libgd.so lrwxrwxrwx 1 root root 14 Dec 23 2013 /usr/lib/libgd.so -> libgd.so.2.0.0 $ ls -l /opt/csw/lib/libgd.so.3 lrwxrwxrwx 1 root root 14 Feb 17 20:05 /opt/csw/lib/libgd.so.3 -> libgd.so.3.0.0 $ Since opencsw installs its stuff in dedicated location (which is good to avoid clash with Oraclepackages), it was necessary to feed pkg-config with appropriate PKG_CONFIG_PATH definitionto make it aware of opencsw libgd: $ PKG_CONFIG_PATH="/opt/csw/lib/pkgconfig/" pkg-config --cflags gdlib -I/opt/csw/include $ Configure step as well as build itself then succeeded without GDLIB_* definitions: $ PKG_CONFIG_PATH="/opt/csw/lib/pkgconfig/" CC=/opt/SUNWspro/bin/cc CXX=/opt/SUNWspro/bin/CC CFLAGS="-m64" LDFLAGS="-L/usr/lib/amd64" ./configure --disable-gl --disable-toporouter ... $ make ... $ echo $? 0 $ So far so good... But inspecting resulting binary, pcb is linked with Oracle libgd, not opencsw one: $ ldd ./src/pcb | grep libgd.so libgd.so.2 => /usr/lib/64/libgd.so.2 $ Which is definitely not desired outcome, since those two libgd versions are likely incompatible (as .so versions indicate). The reason for this is that linker finds Oracle version of library first, since it is installedin standard location. I tried to workaround this by temporary removing Oracle libgd just for purposes of pcb build,but that opened a can of worms - linker started to complain about clash betweenOracle libXrender a opencsw libXrender (which opencsw libgd depends upon), so I stopped my experiments there. Best regards, Jan On 02/17/17 07:27 PM, Peter Clifton (petercjclifton AT googlemail DOT com) [via geda-user AT delorie DOT com] wrote: > Do you have https://www.opencsw.org/package/libgd_dev/installed? > > Peter > > On 17 February 2017 at 18:26, Peter Clifton >wrote: > > That might well be the root-cause of the PCB configure being unhappy with GD. > > Shortly before the 4.0.0 release (Commit on Jan 14th) - the configure check was re-worked to use pkg-config, as is now the preferred method. > > Rather than going back to the (long deprecated) gdlib-config check - any chance you can help us understand what is necessary to get gd installed with pkg-config support on Solaris? > > Kind regards, > > Peter > > On 17 February 2017 at 18:09, Jan Damborsky >wrote: > > Hi Peter, > > $ pkg-config --modversion libgd > Package libgd was not found in the pkg-config search path. > Perhaps you should add the directory containing `libgd.pc' > to the PKG_CONFIG_PATH environment variable > No package 'libgd' found > $ > > It fails, because IPS (*) package delivering libgd > does not contain 'pc' file: > > $ pkg contents library/gd | grep pc > $ > > Jan > > (*) IPS stands for "Image Packaging System" which is packaging system used > on Oracle Solaris 11 > > > > On 02/17/17 06:36 PM, Peter Clifton (petercjclifton AT googlemail DOT com ) [via geda-user AT delorie DOT com ] wrote: >> Chad - do you think we have an issue with how GD is being detected on this platform? >> >> Are we using gd-config in configure, or pkg-config. (It seems the later is preferred now). (I'm not at my development machine at the moment). >> >> See: >> >> https://github.com/gphoto/libgphoto2/issues/137 >> >> >> Jan: >> >> What does this command: >> >> pkg-config --modversion libgd >> >> output? >> >> >> >> On 17 February 2017 at 17:20, Jan Damborsky >wrote: >> >> Hi Chad, >> >> that indeed helped, thanks :-) >> >> 4.0.0 now builds with gcc as well as Oracle Solaris Studio, >> both 32-bit and 64-bit, so I will start using it. >> >> Nothing imminent though, as I "produce" just couple of PCBs >> per year (electronics is my hobby, not a daily job). >> >> Cheers, >> Jan >> >> >> On 02/17/17 02:47 PM, Chad Parker (parker DOT charles AT gmail DOT com ) [via geda-user AT delorie DOT com ] wrote: >> >>> Jan- >>> >>> What happens if you add "-lgd" to your definition of GDLIB_LIBS? >>> >>> --Chad >>> >>> On Fri, Feb 17, 2017 at 4:41 AM, Jan Damborsky >wrote: >>> >>> On 02/15/17 08:45 PM, Bert Timmerman (bert DOT timmerman AT xs4all DOT nl ) [via geda-user AT delorie DOT com ] wrote: >>> >>> Hello list members, >>> >>> It has been almost a month to this day that a new release of pcb was done. >>> >>> In this month there have been some 709 downloads of the tarball. >>> >>> What we active developers would like to have feedback on is: >>> >>> 1) how many list members have downloaded the tarball ? >>> >>> (0 or +1 suffices) >>> >>> >>> +1 >>> >>> >>> 2) how many list members have tried to build an run the new version of pcb ? >>> >>> (0 or +1 suffices) >>> >>> >>> I run pcb on Oracle Solaris 11, so tried to build 4.0.0 there, >>> but it failedduringconfigure phase in following way: >>> >>> $ ./configure --disable-gl --disable-toporouter >>> ... >>> checking for GDLIB... no >>> configure: error: Note: cannot find gdlib. >>> This is required for gcode, nelma, png HIDs >>> You may want to review the following errors: >>> No package 'gdlib' found >>> $ >>> >>> I have libgd installed on the system: >>> >>> $ gdlib-config --all >>> GD library 2.0.35 >>> includedir: /usr/include/gd2 >>> cflags: -I/usr/include/gd2 >>> ldflags: -L/usr/lib >>> libs: -lXpm -lX11 -ljpeg -lfontconfig -lfreetype -lpng -lz -lm >>> libdir: /usr/lib >>> features: GD_XPM GD_JPEG GD_FONTCONFIG GD_FREETYPE GD_PNG GD_GIF GD_GIFANIM GD_OPENPOLYGON >>> $ >>> >>> Setting GDLIB_CFLAGS and GDLIB_LIBS helped a little bit: >>> >>> $ GDLIB_CFLAGS="-I/usr/include/gd2" GDLIB_LIBS="-lXpm -lX11 -ljpeg -lfontconfig -lfreetype -lpng -lz -lm" ./configure --disable-gl --disable-toporouter >>> ... >>> checking for GDLIB... yes >>> checking for gdImageGif... no >>> configure: error: Your gd installation does not appear to include gif support. >>> You may need to update your installation of gd or disable >>> gif export with --disable-gif >>> $ >>> >>> I verified that the library does providegdImageGif(): >>> >>> $ nm /usr/lib/libgd.so|grep gdImageGif$ >>> [183] | 148980| 62|FUNC |GLOB |0 |16 |gdImageGif >>> $ >>> >>> Full config.log available at >>> >>> http://tio.ddns.net/config.log >>> >>> Could you please let me know what I may be missing? >>> >>> Thank you, >>> Jan >>> >>> >> >> > > > --------------7F148C079F03C4A732FBA346 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Nope, since opencsw stuff is 3rd "software distribution", not standard part of Oracle Solaris= .

That said, I have given it a try. Installation of libgd_dev installed couple of other packages,
including libgd3, so I ended up with two version of libgd on my system:

$ ls -l /usr/lib/libgd.so
lrwxrwxrwx=C2=A0=C2=A0 1 root=C2=A0=C2=A0=C2=A0=C2=A0 root= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 14 Dec 23=C2=A0 20= 13 /usr/lib/libgd.so -> libgd.so.2.0.0
$ ls -l /opt/csw/lib/libgd.so.3
lrwxrwxrwx=C2=A0=C2=A0 1 root=C2=A0=C2=A0=C2=A0=C2=A0 root= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 14 Feb 17 20:05 /opt/csw/lib/libgd.so.3 -> libgd.so.3.0.0
$

Since opencsw installs its stuff in dedicated location (which is good to avoid clash
with Oracle
packages), it was necessary to feed pkg-config with appropriate
PKG_CONFIG_PATH definition
to make it aware of opencsw libgd:

$ PKG_CONFIG_PATH=3D"/opt/csw/lib/pkgconfig/" pkg-config --cflags gdlib
-I/opt/csw/include
$

Configure step as well as build itself then succeeded without GDLIB_* definitions:

$ PKG_CONFIG_PATH=3D"/opt/csw/lib/pkgconfig/" CC=3D/opt/SUNWspro/bin/cc CXX=3D/opt/SUNWspro/bin/CC CFLAGS=3D"-m= 64" LDFLAGS=3D"-L/usr/lib/amd64" ./configure --disable-gl --disable-toporouter
...
$ make
...
$ echo $?
0
$

So far so good...

But inspecting resulting binary, pcb is linked with Oracle libgd, not opencsw one:


$ ldd ./src/pcb | grep libgd.so
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 libgd.so.2 =3D&= gt;=C2=A0=C2=A0=C2=A0 /usr/lib/64/libgd.so.2
$

Which is definitely not desired outcome, since those two libgd versions
are likely incompatible (as .so versions indicate).

The reason for this is that linker finds Oracle version of library first,
since it is installed
in standard location= .

I tried to workaround this by temporary removing Oracle libgd just for purposes
of pcb build,
but that opened a can of worms - linker started to complain about
clash between
Oracle libXrender a opencsw libXrender (which opencsw libgd depends upon),
so I stopped my experiments there.


Best regards,
Jan

On 02/17/17 07:27 PM, Peter Clifton (petercjclifton AT googlemail DOT com) [via geda-user@= delorie.com] wrote:
Do you have=C2=A0https://w= ww.opencsw.org/package/libgd_dev/ installed?

Peter

On 17 February 2017 at 18:26, Pete= r Clifton <petercjclifton AT googlemail DOT com> wrote:
That might well be the root-cause of the PCB configure being unhappy with GD.

Shortly before the 4.0.0 release (Commit on Jan 14th) - the configure check was re-worked to use pkg-config, as is now the preferred method.

Rather than going back to the (long deprecated) gdlib-config check - any chance you can help us understand what is necessary to get gd installed with pkg-config support on Solaris?

Kind regards,

Peter

On 17 February 2017 at 18:09, Jan Damborsky <= ;= dambi AT tio DOT cz> wrote:
Hi Peter,

$ pkg-config --modversion libgd<= tt>
Package libgd was not found in the pkg-config search path.
Perhaps you should add the directory containing `libgd.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libgd' found
$

It fails, because IPS (*) package delivering libgd
does not contain 'pc' file:<= br>
$ pkg contents library/gd | grep pc
$

Jan

(*) IPS stands for "Image Packaging System" which is packaging system used
=C2=A0 =C2=A0=C2=A0 on Oracl= e Solaris 11


On 02/17/17 06:36 PM, Peter Clifton (petercjcl= ifton AT googlemail DOT com) [via geda-user AT delorie DOT com= ] wrote:
Chad - do you think we have an issue with how GD is being detected on this platform?

Are we using gd-config in configure, or pkg-config. (It seems the later is preferred now). (I'm not at my development machine at the moment).

See:



Jan:

What does this command:

pkg-config --modversion=C2=A0libgd=

output?



On 17 February 2017 at 17:20, Jan Damborsky = <dambi AT tio DOT cz> wrote:
Jan-
What happens if you add "-lgd" to your definition of GDLIB_LIBS?
--Chad

= On Fri, Feb 17, 2017 at 4:41 AM, Jan Damborsky <d= ambi AT tio DOT cz> wrote:
On 02/15/17 08:45 PM, Bert Timmerman (bert DOT timmerman AT xs4all DOT nl) [via geda-user AT delorie= .com] wrote:
Hello list members,

It has been almost a month to this day that a new release of pcb was done.

In this month there have been some 709 downloads of the tarball.

What we active developers would like to have feedback on is:
1) how many list members have downloaded the tarball ?

=C2=A0 (0 or +1 suffices)

+1


2) how many list members have tried to build an run the new version of pcb ?<= br>
=C2=A0 (0 or +1 suffices)

I run pcb on Oracle Solaris 11, so tried to build 4.0.0 there,
but it failedduringconfigure phase in following way:

$ ./configure --disable-gl --disable-toporouter<= /tt>
...=
checking for GDLIB... no<= tt>
configure: error: Note: cannot find gdlib.<= br> This is required for gcode, nelma, png HIDs<= tt>
You may want to review the following errors:
No package 'gdlib' found
$
I have libgd installed on the system:<= br>
$ gdlib-config --all
GD library=C2=A0 2.0.35<= /tt>
includedir: /usr/include/gd2=
cflags:=C2=A0= =C2=A0 =C2=A0-I/usr/include/= gd2
ldflags:=C2=A0 =C2=A0 =C2=A0 -L/usr/= lib
libs:=C2=A0 = =C2=A0 =C2=A0 =C2=A0-lXpm -lX11 -lj= peg -lfontconfig -lfreetype -lpng -lz -lm
libdir:=C2=A0= =C2=A0 =C2=A0/usr/lib
features:=C2= =A0 =C2=A0GD_XPM GD_JPEG GD_FONTCONFIG GD_FREETYPE GD_PNG GD_GIF GD_GIFANIM GD_OPENPOLYGON
$
Setting GDLIB_CFLAGS and GDLIB_LIBS helped a little bit:<= br>
$ GDLIB_CFLAGS=3D"-I/us= r/include/gd2" GDLIB_LIBS=3D"-lXpm -lX11 -ljpeg -lfontconfig -lfreetype -lpng -lz -lm" ./configure --disable-gl --disable-toporouter<= /tt>
...=
checking for GDLIB... yes=
checking for gdImageGif... no<= /tt>
configure: error: Your gd installation does not appear to include gif support.<= /tt>
You may need to update your installation of gd or disable gif export with --disable-gif
$
I verified that the library does providegdImageGif():<= /tt>

$ nm /usr/lib/libgd.so|gre= p gdImageGif$<= br> [183]=C2=A0 = =C2=A0|=C2=A0 =C2=A0 148980|=C2=A0 = =C2=A0 =C2=A0 =C2=A0 62|FUNC |GLOB |0=C2=A0= =C2=A0 |16 |gdImageGif<= tt>
$
Full config.log available at

http://tio.ddns.net/config.log

Could you please let me know what I may be missing?

Thank you,
Jan=








--------------7F148C079F03C4A732FBA346--