LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Mandriva (https://www.linuxquestions.org/questions/mandriva-30/)
-   -   why compiling sucks for newbs (https://www.linuxquestions.org/questions/mandriva-30/why-compiling-sucks-for-newbs-106091/)

Micro420 10-20-2003 08:10 PM

Quote:

Originally posted by mac_phil
If you want consistency and easy compiles, switch to Slackware. Harder to install/admin, easier to compile software on.

I've never had problems compiling on Mandrake, but I haven't installed much.

I'm scared of SlackWare! lol :eek:

Micro420 10-20-2003 08:12 PM

Quote:

Originally posted by sandman
most packages have an "install" file to read and a "readme" file to read which usually people do not read. and then get errors. Also there is usually documentation on the website. Why would you want to just ./configure make and make install not knowing where it is going or what it is doing to your pc or setup? Reading may take a few minutes but you will know what needs to be done and what dependencies you need.
Sandman - I wish every website was just so simple to read and understand. I don't have the computer vocabulary as you and many others do so sometimes reading the documentation does not help a newbie like me. And, as earlier stated in this thread, documentations are written either poorly or under the assumption that you know how to get everything and understand how to read the error outputs when compiling. To me, it's all foreign language. :(

Micro420 10-20-2003 08:12 PM

Quote:

Originally posted by h1tman
the install files are usually the same, saying do ./configure, make and make install. rarely are they different.
Yes they are the same. And rarely do the programs work for me. :( I'm still learning trying to figure out the world of compiling. :o

sandman 10-20-2003 08:49 PM

Quote:

Originally posted by Micro420
Sandman - I wish every website was just so simple to read and understand. I don't have the computer vocabulary as you and many others do so sometimes reading the documentation does not help a newbie like me. And, as earlier stated in this thread, documentations are written either poorly or under the assumption that you know how to get everything and understand how to read the error outputs when compiling. To me, it's all foreign language. :(
You are right about poor documentation. alot of packages use the same lame install instuctions you where referring to. The so-called generic install instructions. But, with open source software you can't always expect a well documented package. It would be nice though. So if you have trouble with certain things ask in the forums or google for it, you would be surprised what google can come up with. Also, read all the files in the package, I have seen some that have a blank readme, the generic install, and then a "docs" folder with well documented howto and running instructions.The more you compile programs the more you get used to what the errors mean and what to do about them too.
I wasn't trying to put anyone down with my statements I just like to stress about reading everything you can and know what you are about to do, or ask in great forums like these.
Also, to the quote about all the packages being the same, they are not, and anyone who assumes that and just always does a typical ./configure make make install doesn't need to be compiling programs anyway.

Micro420 10-20-2003 09:16 PM

Quote:

Originally posted by sandman
You are right about poor documentation. alot of packages use the same lame install instuctions you where referring to. The so-called generic install instructions. But, with open source software you can't always expect a well documented package. It would be nice though. So if you have trouble with certain things ask in the forums or google for it, you would be surprised what google can come up with. Also, read all the files in the package, I have seen some that have a blank readme, the generic install, and then a "docs" folder with well documented howto and running instructions.The more you compile programs the more you get used to what the errors mean and what to do about them too.
I wasn't trying to put anyone down with my statements I just like to stress about reading everything you can and know what you are about to do, or ask in great forums like these.
Also, to the quote about all the packages being the same, they are not, and anyone who assumes that and just always does a typical ./configure make make install doesn't need to be compiling programs anyway.

Thanks for the input sandman. I totally agree with you about poor generic documentation. It's just frustrating compiling coming from a newbie. I'm so used to the typical Install Wizard in Windows (although I did like how OpenOffice has a 'setup' file and a Install Wizard-like installation) which made everything easy. Of course, things do get easier with time and experience, which obviously I am not there yet. One day I will be

Kovacs 10-21-2003 12:54 AM

I find that 90% of the time when I get errors compiling it's because of missing dependencies. Generally the missing packages/ libraries etc are specified in the error message and mostly they're all on the cds.

Micro420 10-21-2003 03:16 AM

Quote:

Originally posted by Kovacs
I find that 90% of the time when I get errors compiling it's because of missing dependencies. Generally the missing packages/ libraries etc are specified in the error message and mostly they're all on the cds.
Please interpret this (after typing ./configure):


Good - your configure finished. Start make now

[ken@localhost superkaramba-0.33]$ make
make all-recursive
make[1]: Entering directory `/home/ken/superkaramba-0.33'
Making all in doc
make[2]: Entering directory `/home/ken/superkaramba-0.33/doc'
Making all in .
make[3]: Entering directory `/home/ken/superkaramba-0.33/doc'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/ken/superkaramba-0.33/doc'
Making all in en
make[3]: Entering directory `/home/ken/superkaramba-0.33/doc/en'
make[3]: Circular index.cache.bz2 <- index.cache.bz2 dependency dropped.
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ken/superkaramba-0.33/doc/en'
make[2]: Leaving directory `/home/ken/superkaramba-0.33/doc'
Making all in po
make[2]: Entering directory `/home/ken/superkaramba-0.33/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/ken/superkaramba-0.33/po'
Making all in src
make[2]: Entering directory `/home/ken/superkaramba-0.33/src'
make[3]: Entering directory `/home/ken/superkaramba-0.33/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/lib/qt3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -pedantic -W -Wpointer-arith -Wmissing-prototypes -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -MT main.o -MD -MP -MF ".deps/main.Tpo" \
-c -o main.o `test -f 'main.cpp' || echo './'`main.cpp; \
then mv ".deps/main.Tpo" ".deps/main.Po"; \
else rm -f ".deps/main.Tpo"; exit 1; \
fi
main.cpp:6:20: Python.h: No such file or directory
In file included from main.cpp:22:
karamba.h:5:20: Python.h: No such file or directory
In file included from karamba.h:57,
from main.cpp:22:
imagelabel.h:12:20: Python.h: No such file or directory
In file included from imagelabel.h:24,
from karamba.h:57,
from main.cpp:22:
karamba.h:5:20: Python.h: No such file or directory
In file included from main.cpp:22:
karamba.h:188: syntax error before `*' token
karamba.h:189: syntax error before `*' token
main.cpp:39: syntax error before `*' token
main.cpp: In function `int main(int, char**)':
main.cpp:81: `Py_Initialize' undeclared (first use this function)
main.cpp:81: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp:84: `PyEval_InitThreads' undeclared (first use this function)
main.cpp:86: `mainThreadState' undeclared (first use this function)
main.cpp:89: `PyThreadState_Get' undeclared (first use this function)
main.cpp:92: `PyEval_ReleaseLock' undeclared (first use this function)
main.cpp:122: `PyInterpreterState' undeclared (first use this function)
main.cpp:122: `mainInterpreterState' undeclared (first use this function)
main.cpp:124: `PyThreadState' undeclared (first use this function)
main.cpp:124: `myThreadState' undeclared (first use this function)
main.cpp:124: `PyThreadState_New' undeclared (first use this function)
main.cpp:125: `PyThreadState_Swap' undeclared (first use this function)
main.cpp:126: `PyEval_AcquireLock' undeclared (first use this function)
main.cpp:127: `Py_Finalize' undeclared (first use this function)
make[3]: *** [main.o] Error 1
make[3]: Leaving directory `/home/ken/superkaramba-0.33/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/ken/superkaramba-0.33/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ken/superkaramba-0.33'
[ken@localhost superkaramba-0.33]$ ood - your configure finished. Start make now
bash: ood: command not found0.33]$ ood - your configure finished. Start make now
[ken@localhost superkaramba-0.33]$
[ken@localhost superkaramba-0.33]$ [ken@localhost superkaramba-0.33]$ make
bash: [ken@localhost: command not found
[ken@localhost superkaramba-0.33]$ make all-recursive
Making all in doc
make[1]: Entering directory `/home/ken/superkaramba-0.33/doc'
Making all in .
make[2]: Entering directory `/home/ken/superkaramba-0.33/doc'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/ken/superkaramba-0.33/doc'
Making all in en
make[2]: Entering directory `/home/ken/superkaramba-0.33/doc/en'
make[2]: Circular index.cache.bz2 <- index.cache.bz2 dependency dropped.
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/ken/superkaramba-0.33/doc/en'
make[1]: Leaving directory `/home/ken/superkaramba-0.33/doc'
Making all in po
make[1]: Entering directory `/home/ken/superkaramba-0.33/po'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/ken/superkaramba-0.33/po'
Making all in src
make[1]: Entering directory `/home/ken/superkaramba-0.33/src'
make[2]: Entering directory `/home/ken/superkaramba-0.33/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/lib/qt3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -pedantic -W -Wpointer-arith -Wmissing-prototypes -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -MT main.o -MD -MP -MF ".deps/main.Tpo" \
-c -o main.o `test -f 'main.cpp' || echo './'`main.cpp; \
then mv ".deps/main.Tpo" ".deps/main.Po"; \
else rm -f ".deps/main.Tpo"; exit 1; \
fi
main.cpp:6:20: Python.h: No such file or directory
In file included from main.cpp:22:
karamba.h:5:20: Python.h: No such file or directory
In file included from karamba.h:57,
from main.cpp:22:
imagelabel.h:12:20: Python.h: No such file or directory
In file included from imagelabel.h:24,
from karamba.h:57,
from main.cpp:22:
karamba.h:5:20: Python.h: No such file or directory
In file included from main.cpp:22:
karamba.h:188: syntax error before `*' token
karamba.h:189: syntax error before `*' token
main.cpp:39: syntax error before `*' token
main.cpp: In function `int main(int, char**)':
main.cpp:81: `Py_Initialize' undeclared (first use this function)
main.cpp:81: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp:84: `PyEval_InitThreads' undeclared (first use this function)
main.cpp:86: `mainThreadState' undeclared (first use this function)
main.cpp:89: `PyThreadState_Get' undeclared (first use this function)
main.cpp:92: `PyEval_ReleaseLock' undeclared (first use this function)
main.cpp:122: `PyInterpreterState' undeclared (first use this function)
main.cpp:122: `mainInterpreterState' undeclared (first use this function)
main.cpp:124: `PyThreadState' undeclared (first use this function)
main.cpp:124: `myThreadState' undeclared (first use this function)
main.cpp:124: `PyThreadState_New' undeclared (first use this function)
main.cpp:125: `PyThreadState_Swap' undeclared (first use this function)
main.cpp:126: `PyEval_AcquireLock' undeclared (first use this function)
main.cpp:127: `Py_Finalize' undeclared (first use this function)
make[2]: *** [main.o] Error 1
make[2]: Leaving directory `/home/ken/superkaramba-0.33/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ken/superkaramba-0.33/src'
make: *** [all-recursive] Error 1
aramba-0.33'st superkaramba-0.33]$ make[1]: Entering directory `/home/ken/superk
> Making all in doc
> make[2]: Entering directory `/home/ken/superkaramba-0.33/doc'
> Making all in .
> make[3]: Entering directory `/home/ken/superkaramba-0.33/doc'
bash: command substitution: line 1: unexpected EOF while looking for matching `''
bash: command substitution: line 4: syntax error: unexpected end of file
bash: make[1]:: command not found
[ken@localhost superkaramba-0.33]$ make[3]: Nothing to be done for `all-am'.
> make[3]: Leaving directory `/home/ken/superkaramba-0.33/doc'
> Making all in en
> make[3]: Entering directory `/home/ken/superkaramba-0.33/doc/en'
bash: command substitution: line 1: unexpected EOF while looking for matching `''
bash: command substitution: line 3: syntax error: unexpected end of file
bash: make[3]:: command not found
che.@localhost superkaramba-0.33]$ make[3]: Circular index.cache.bz2 <- index.ca


So WTF just happened? So you can honestly tell me that I have to read through ALL that and determine what I need? You got to be kidding. *Prays that RPM exists soon!*

sandman 10-21-2003 05:56 AM

It looks like you need Python installed or It is not in the directory where the configure script is looking. If you are compiling Karamba or Superkaramba on mandrake or Red Hat you also need to do configure like this ./configure --prefix=/usr telling the script that your kde directory is /usr.

Micro420 10-21-2003 02:32 PM

Quote:

Originally posted by sandman
It looks like you need Python installed or It is not in the directory where the configure script is looking. If you are compiling Karamba or Superkaramba on mandrake or Red Hat you also need to do configure like this ./configure --prefix=/usr telling the script that your kde directory is /usr.
Well I tried the './configure --prefix=/usr' and I still got the same errors.

how do I know if I have python installed? I looked in the Mandrake Control center and it seems like I have python 2.2.2.6 installed.

My problems could all be bypassed as soon as SuperKaramba 0.33 comes out as an RPM. Hopefully soon!

h1tman 10-21-2003 10:38 PM

give us output of ./configure

Micro420 10-22-2003 01:55 AM

Quote:

Originally posted by h1tman
give us output of ./configure
You asked for it!

[ken@localhost superkaramba-0.33]$ ./configure
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether g++ supports -Wundef... yes
checking whether g++ supports -Wno-long-long... yes
checking whether g++ supports -Wnon-virtual-dtor... yes
checking whether g++ supports -fno-exceptions... yes
checking whether g++ supports -fno-check-new... yes
checking whether g++ supports -fexceptions... yes
checking how to run the C++ preprocessor... g++ -E
checking whether g++ supports -frepo... yes
not using lib directory suffix
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking for a sed that does not truncate output...
checking whether ln -s works... yes
checking how to recognise dependant libraries... pass_all
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag works... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
appending configuration tag "GCJ" to libtool
checking if gcj supports -fno-rtti -fno-exceptions... (cached) no
checking for gcj option to produce PIC... -fPIC
checking if gcj PIC flag -fPIC works... no
checking if gcj supports -c -o file.o... no
checking whether the gcj linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for main in -lutil... yes
checking for main in -lcompat... no
checking for crypt in -lcrypt... yes
checking for socklen_t... socklen_t
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for inet_ntoa... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking crt_externs.h usability... no
checking crt_externs.h presence... no
checking for crt_externs.h... no
checking for _NSGetEnviron... no
checking for sys/types.h... (cached) yes
checking for stdint.h... (cached) yes
checking for poll in -lpoll... no
checking CoreAudio/CoreAudio.h usability... no
checking CoreAudio/CoreAudio.h presence... no
checking for CoreAudio/CoreAudio.h... no
checking for res_init... yes
checking if res_init needs custom prototype... no
checking for killpg in -lucb... no
checking for int... yes
checking size of int... 4
checking for long... yes
checking size of long... 4
checking for char *... yes
checking size of char *... 4
checking for char... yes
checking size of char... 1
checking for dlopen in -ldl... yes
checking for shl_unload in -ldld... no
checking for vsnprintf... yes
checking for snprintf... yes
checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
checking for IceConnectionNumber in -lICE... yes
checking for libXext... yes
checking for Xinerama... no
checking for pthread_create in -lpthread... yes
checking for extra includes... no
checking for extra libs... no
checking for libz... -lz
checking for libpng... -lpng -lz -lm
checking for libjpeg6b... no
checking for libjpeg... -ljpeg
checking for Qt... libraries /usr/lib/qt3/lib, headers /usr/lib/qt3/include using -mt
checking if Qt compiles without flags... no
checking for moc... /usr/lib/qt3/bin/moc
checking for uic... /usr/lib/qt3/bin/uic
checking whether uic supports -L ... yes
checking whether uic supports -nounload ... yes
checking if Qt needs -ljpeg... no
checking for rpath... yes
checking for KDE... libraries /usr/lib, headers /usr/include
checking for KDE paths... defaults
checking for dcopidl... /usr/bin/dcopidl
checking for dcopidl2cpp... /usr/bin/dcopidl2cpp
checking for mcopidl... /usr/bin/mcopidl
checking for artsc-config... /usr/bin/artsc-config
checking for kde-config... /usr/bin/kde-config
checking for meinproc... /usr/bin/meinproc
checking whether byte ordering is bigendian... no
checking for MAXPATHLEN... 4096
checking for Python directory... /usr/local
checking for Python2.3... header no library no modules no
checking for Python2.2... header /usr/include/python2.2 library /usr/lib/python2.2/config modules /usr/lib/python2.2
checking if a Python application links... yes
checking for libxmms... no
checking if doc should be compiled... yes
checking if po should be compiled... yes
checking if src should be compiled... yes
configure: creating ./config.status
fast creating Makefile
fast creating doc/Makefile
fast creating doc/en/Makefile
fast creating po/Makefile
fast creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands

Good - your configure finished. Start make now

sandman 10-22-2003 05:54 AM

This is your problem
checking for Python2.3... header no library no modules no
checking for Python2.2... header /usr/include/python2.2 library /usr/lib/python2.2/config modules /usr/lib/python2.2
you need python 2.3 and you have version 2.2.

Micro420 10-22-2003 11:04 AM

Quote:

Originally posted by sandman
This is your problem
checking for Python2.3... header no library no modules no
checking for Python2.2... header /usr/include/python2.2 library /usr/lib/python2.2/config modules /usr/lib/python2.2
you need python 2.3 and you have version 2.2.

This is what I mean! You get a screen full of texts with just yes/no/errors or whatever and I'm not sure what anything means. The funny thing is that at the end, it said that I was "good" and that I can run the make command so I assumed I was set to go with installation. This is why compiling sucks for newbs. Good thing you caught it else I would have waited another week for the RPM! I'll install Python 2.3

dukeinlondon 10-22-2003 11:08 AM

Don't forget to install the development package as well. That where the "*.h" files are.

Micro420 10-22-2003 11:11 AM

so I downloaded the RPM for python 2.3.4 on rpmfind.net.
I went to console and did this as root:

[root@localhost Desktop]# rpm -U python-2.3-4mdk.i586.rpm
error: failed dependencies:
libpython2.3 = 2.3-4mdk is needed by python-2.3-4mdk
python-base = 2.3-4mdk is needed by python-2.3-4mdk
python-base >= 2.3 is needed by python-2.3-4mdk
libdb-4.1.so is needed by python-2.3-4mdk
libpython2.3.so.1.0 is needed by python-2.3-4mdk
tkinter < 2.3 conflicts with python-2.3-4mdk
python = 2.2.2-6mdk is needed by tkinter-2.2.2-6mdk
python = 2.2.2 is needed by xchat-python-2.0.0-1mdk
python = 2.2.2-6mdk is needed by libpython2.2-devel-2.2.2-6mdk



So now what do I do? Mandrake doesn't come with python 2.3.4 so I have no idea how to upgrade my python.


All times are GMT -5. The time now is 07:48 AM.