Hello, folks--
I have been having some trouble building CD 5.8.1 on Arch Linux (which of
course means I can't build IUP, which is the goal). I have successfully
compiled a few previous versions of CD, but it's not working now.
Arch uses build scripts called PKGBUILD; the PKGBUILD I obtained from the
Arch User Repository (aur.archlinux.org) had the following Make invocation:
make -j1
I modified this to:
USE_GTK3=Yes NO_STATIC=Yes make -j1
Or:
USE_GTK3=Yes USE_X11=Yes NO_STATIC=Yes make -j1
Either way I get errors, but they are different errors depending on whether
I say USE_X11 or not, as follows:
With USE_X11=Yes
================
Tecmake: starting [ cdpdf:Linux312_64 ]
if [ ! -d ../obj/cdpdf/Linux312_64 ] ; then mkdir -p
../obj/cdpdf/Linux312_64 ; fi
Tecmake: compiling cdpdf.c ...
gcc -c -Wall -O2 -m64 -fPIC -I. -Isim -Ipdflib/pdflib -I../include
-I/usr/X11R6/include -DCD_NO_OLD_INTERFACE -DTEC_UNAME=Linux312_64
-DTEC_SYSNAME=Linux -DLinux=3.12 -DTEC_LITTLEENDIAN -DTEC_64 -DFUNCPROTO=15
-DNDEBUG -o ../obj/cdpdf/Linux312_64/cdpdf.o drv/cdpdf.c
Tecmake: linking libcdpdf.so ...
gcc -shared -o ../lib/Linux312_64/libcdpdf.so
../obj/cdpdf/Linux312_64/cdpdf.o -L../lib/Linux312_64 -L/usr/X11R6/lib64
-lpdflib -lcd -lXmu -lXt -lXext -lX11 -lm
/usr/bin/ld: cannot find -lcd
collect2: error: ld returned 1 exit status
../tecmake.mak:1378: recipe for target '../lib/Linux312_64/libcdpdf.so'
failed
make[2]: *** [../lib/Linux312_64/libcdpdf.so] Error 1
Makefile:27: recipe for target 'cdpdf' failed
make[1]: *** [cdpdf] Error 2
Makefile:4: recipe for target 'do_all' failed
make: *** [do_all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
Without USE_X11
===============
Tecmake: starting [ cdcontextplus:Linux312_64 ]
Tecmake: linking libcdcontextplus.so ...
gcc -shared -o ../lib/Linux312_64/libcdcontextplus.so
../obj/cdcontextplus/Linux312_64/cdxrender.o
../obj/cdcontextplus/Linux312_64/cdxrplus.o -L../lib/Linux312_64
-L/usr/X11R6/lib64 -lXrender -lXft -lcdx11 -lXmu -lXt -lXext -lX11 -lm
/usr/bin/ld: cannot find -lcdx11
collect2: error: ld returned 1 exit status
../tecmake.mak:1378: recipe for target
'../lib/Linux312_64/libcdcontextplus.so' failed
make[2]: *** [../lib/Linux312_64/libcdcontextplus.so] Error 1
Makefile:32: recipe for target 'cdcontextplus' failed
make[1]: *** [cdcontextplus] Error 2
Makefile:4: recipe for target 'do_all' failed
make: *** [do_all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
It appears that some components require 'libcd' and some others require
'libcdx11'. So I think I need one of two things: either all components use
the same version of libcd, or both versions are available. I don't
particularly care which, as long as the final result is usable.
Also, there is another issue that seems to affect all of your packages
(I've seen it with multiple versions of IUP, CD, and IM). There always seem
to be certain subdirectories in the source code on which the owner has *no
permissions*. So if you don't reset the permissions before compiling, you
get errors because some output files can't be written. I'm thinking maybe
you develop primarily on Windows? Because I have been compiling software
packages on Linux for about 18 years, and I don't think I've ever seen this
before. Although it's a fairly minor problem, this kind of thing makes
Linux people nervous. So at some point you might want to check into the
causes.
Thanks for any info!
--
Matt Gushee
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Iup-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/iup-users