Sida 1 av 1

Klantkompilering

Postat: 24 sep 2007, 20:31
av Johnny Rosenberg
Nu har jag haft anledning att försöka kompilera något för första gången, dock inget eget. Det får bli en senare plåga.

Jag laddade ner något som heter libexif 0.6.16 eftersom 0.6.13 som jag har nu tydligen inte klarar att få GIMP att öppna bilder tagna med vår nyinköpta kamera (Olympus E-510, om det säger något).

Någon hade fått det att fungera genom att ladda ner och kompilera den senare versionen, nämnd ovan, och att ha en kamera vars bilder inte går att ladda med GIMP är ju värdelöst, så jag ville ju inte vara sämre...

Laddade ner filen och packade upp den. Läste INSTALL-filen där det stod att den vanliga proceduren bör fungera, men när jag gjorde det blev det så här:

Kod: Markera allt

guraknugen@PB-laptop:~$ cd /home/guraknugen/Tillfälligt/libexif-0.6.16
guraknugen@PB-laptop:~/Tillfälligt/libexif-0.6.16$ ./configure; make; make install
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for POSIX sh $() command substitution... yes
checking for gcc... gcc
checking for C compiler default output file name... 
configure: error: C compiler cannot create executables
See `config.log' for more details.
make: *** Inga mål angavs och ingen makefil hittades.  Stannar.
make: *** Ingen regel för att skapa målet "install".  Stannar.
guraknugen@PB-laptop:~/Tillfälligt/libexif-0.6.16$
Känns som om något saknas på min maskin helt enkelt, men vad och hur rättar jag till det?

Så här ser i alla fall config.log ut, om någon undrar, ursäkta mängden text:

Kod: Markera allt

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by EXIF library configure 0.6.16, which was
generated by GNU Autoconf 2.61.  Invocation command line was

  $ ./configure 

## --------- ##
## Platform. ##
## --------- ##

hostname = PB-laptop
uname -m = i686
uname -r = 2.6.20-16-generic
uname -s = Linux
uname -v = #2 SMP Fri Aug 31 00:55:27 UTC 2007

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = i686
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/games


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2033: checking for a BSD-compatible install
configure:2089: result: /usr/bin/install -c
configure:2100: checking whether build environment is sane
configure:2143: result: yes
configure:2171: checking for a thread-safe mkdir -p
configure:2210: result: /bin/mkdir -p
configure:2223: checking for gawk
configure:2253: result: no
configure:2223: checking for mawk
configure:2239: found /usr/bin/mawk
configure:2250: result: mawk
configure:2261: checking whether make sets $(MAKE)
configure:2282: result: yes
configure:2508: checking for POSIX sh $() command substitution
configure:2512: result: yes
configure:2637: checking for gcc
configure:2653: found /usr/bin/gcc
configure:2664: result: gcc
configure:2902: checking for C compiler version
configure:2909: gcc --version >&5
gcc (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:2912: $? = 0
configure:2919: gcc -v >&5
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
configure:2922: $? = 0
configure:2929: gcc -V >&5
gcc: '-V' option must have argument
configure:2932: $? = 1
configure:2955: checking for C compiler default output file name
configure:2982: gcc    conftest.c  >&5
/usr/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status
configure:2985: $? = 1
configure:3023: result: 
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME "EXIF library"
| #define PACKAGE_TARNAME "libexif"
| #define PACKAGE_VERSION "0.6.16"
| #define PACKAGE_STRING "EXIF library 0.6.16"
| #define PACKAGE_BUGREPORT "libexif-devel@lists.sourceforge.net"
| #define PACKAGE "libexif"
| #define VERSION "0.6.16"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:3030: error: C compiler cannot create executables
See `config.log' for more details.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_F77_set=
ac_cv_env_F77_value=
ac_cv_env_FFLAGS_set=
ac_cv_env_FFLAGS_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_MATHLIBS_set=
ac_cv_env_MATHLIBS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/bin/mkdir
ac_cv_prog_AWK=mawk
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_make_make_set=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /home/guraknugen/Tillfälligt/libexif-0.6.16/missing --run aclocal-1.10'
AMDEPBACKSLASH=''
AMDEP_FALSE=''
AMDEP_TRUE=''
AMTAR='${SHELL} /home/guraknugen/Tillfälligt/libexif-0.6.16/missing --run tar'
AM_CPPFLAGS=''
AM_LDFLAGS=''
AR=''
AUTOCONF='${SHELL} /home/guraknugen/Tillfälligt/libexif-0.6.16/missing --run autoconf'
AUTOHEADER='${SHELL} /home/guraknugen/Tillfälligt/libexif-0.6.16/missing --run autoheader'
AUTOMAKE='${SHELL} /home/guraknugen/Tillfälligt/libexif-0.6.16/missing --run automake-1.10'
AWK='mawk'
BUILD_DOCS_FALSE=''
BUILD_DOCS_TRUE=''
CC='gcc'
CCDEPMODE=''
CFLAGS=''
CPP=''
CPPFLAGS=''
CXX=''
CXXCPP=''
CXXDEPMODE=''
CXXFLAGS=''
CYGPATH_W='echo'
DEFS=''
DEPDIR=''
DOT=''
DOXYGEN=''
DOXYGEN_OUTPUT_DIR=''
ECHO='echo'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
ENABLE_INTERNAL_DOCS_FALSE=''
ENABLE_INTERNAL_DOCS_TRUE=''
EXEEXT=''
F77=''
FFLAGS=''
GETTEXT_PACKAGE=''
GMSGFMT=''
GREP=''
HAVE_DOT=''
HAVE_DOT_FALSE=''
HAVE_DOT_TRUE=''
HAVE_DOXYGEN_FALSE=''
HAVE_DOXYGEN_TRUE=''
HTML_APIDOC_DIR=''
HTML_APIDOC_INTERNALS_DIR=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
INTLLIBS=''
LDFLAGS=''
LIBEXIF_AGE='2'
LIBEXIF_CURRENT='14'
LIBEXIF_CURRENT_MIN='12'
LIBEXIF_REVISION='0'
LIBEXIF_VERSION_INFO='14:0:2'
LIBICONV=''
LIBINTL=''
LIBOBJS=''
LIBS=''
LIBTOOL=''
LN_S=''
LTLIBICONV=''
LTLIBINTL=''
LTLIBOBJS=''
MAKEINFO='${SHELL} /home/guraknugen/Tillfälligt/libexif-0.6.16/missing --run makeinfo'
MATHLIBS=''
MKINSTALLDIRS=''
MSGFMT=''
MSGMERGE=''
OBJEXT=''
PACKAGE='libexif'
PACKAGE_BUGREPORT='libexif-devel@lists.sourceforge.net'
PACKAGE_NAME='EXIF library'
PACKAGE_STRING='EXIF library 0.6.16'
PACKAGE_TARNAME='libexif'
PACKAGE_VERSION='0.6.16'
PATH_SEPARATOR=':'
POSUB=''
RANLIB=''
SED=''
SET_MAKE=''
SHELL='/bin/bash'
SHIP_BINARIES_FALSE=''
SHIP_BINARIES_TRUE=''
STRIP=''
USE_NLS=''
VERSION='0.6.16'
XGETTEXT=''
ac_ct_CC='gcc'
ac_ct_CXX=''
ac_ct_F77=''
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE=''
am__fastdepCXX_TRUE=''
am__include=''
am__isrc=''
am__leading_dot='.'
am__quote=''
am__tar='${AMTAR} chof - "$$tardir"'
am__untar='${AMTAR} xf -'
bindir='${exec_prefix}/bin'
build=''
build_alias=''
build_cpu=''
build_os=''
build_vendor=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
host=''
host_alias=''
host_cpu=''
host_os=''
host_vendor=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='$(SHELL) /home/guraknugen/Tillfälligt/libexif-0.6.16/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='/bin/mkdir -p'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='NONE'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define PACKAGE_NAME "EXIF library"
#define PACKAGE_TARNAME "libexif"
#define PACKAGE_VERSION "0.6.16"
#define PACKAGE_STRING "EXIF library 0.6.16"
#define PACKAGE_BUGREPORT "libexif-devel@lists.sourceforge.net"
#define PACKAGE "libexif"
#define VERSION "0.6.16"

configure: exit 77
Givetvis är det väl ingen som orkar ta sig igenom den här skiten, men om någon mot alla odds skulle göra det och komma med åtgärdsförslag, skulle jag vara tacksam.

Vänliga hälsningar

Johnny Rosenberg

SV: Klantkompilering

Postat: 24 sep 2007, 21:01
av Lars
Börja med att installera build-essential, det är alltid en bra början.

SV: Klantkompilering

Postat: 24 sep 2007, 21:13
av SakJur
Lars skrev: Börja med att installera build-essential, det är alltid en bra början.

Kod: Markera allt

sudo apt-get install build-essential
Om nån undrade hur man gjorde...

SV: Klantkompilering

Postat: 24 sep 2007, 22:19
av Johnny Rosenberg
SakJur skrev:
Lars skrev: Börja med att installera build-essential, det är alltid en bra början.

Kod: Markera allt

sudo apt-get install build-essential
Om nån undrade hur man gjorde...
Okej, nu har jag gjort det.

Kan vara intressant att veta vad detta är för något också. Någon som känner sig manad?


Så gjorde jag då ett nytt försök med följande resultat:

Kod: Markera allt

guraknugen@PB-laptop:~$ cd /home/guraknugen/Tillfälligt/libexif-0.6.16
guraknugen@PB-laptop:~/Tillfälligt/libexif-0.6.16$ ./configure; make; make install
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for POSIX sh $() command substitution... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
och så vidare, måste korta ner för att inte landa över 20000 tecken i detta inlägg... men på slutet ser det ut så här (där tre punkter lodrätt under varandra betyder "en himla massa text", ungefär):

Kod: Markera allt


configure: creating ./config.status
config.status: creating po/Makefile.in
config.status: WARNING:  po/Makefile.in.in seems to ignore the --datarootdir setting
config.status: creating Makefile
config.status: creating libexif.spec
config.status: creating libexif/Makefile
·
·
·
Configuration (libexif 0.6.16):

  Build
    Source code location:          .
    Compiler:                      gcc
    Ship binaries in tarball:      false
    Use translations:              yes

You may run "make" and "make install" now.
make  all-recursive
make[1]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16'
Making all in m4m
make[2]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/m4m'
make[2]: Inget behöver göras för "all".
make[2]: Leaving directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/m4m'
Making all in po
make[2]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/po'
make[2]: Inget behöver göras för "all".
make[2]: Leaving directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/po'
Making all in libexif
make[2]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif'
Making all in canon
make[3]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif/canon'
/bin/bash ../../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../..  -DLOCALEDIR=\"/usr/local/share/locale\" -I../.. -I../.. -g -Wall -Wmissing-declarations -Wmissing-prototypes   -g -O2 -MT exif-mnote-data-canon.lo -MD -MP -MF .deps/exif-mnote-data-canon.Tpo -c -o exif-mnote-data-canon.lo exif-mnote-data-canon.c
 gcc -DHAVE_CONFIG_H -I. -I../.. -DLOCALEDIR=\"/usr/local/share/locale\" -I../.. -I../.. -g -Wall -Wmissing-declarations -Wmissing-prototypes -g -O2 -MT exif-mnote-data-canon.lo -MD -MP -MF .deps/exif-mnote-data-canon.Tpo -c exif-mnote-data-canon.c  -fPIC -DPIC -o .libs/exif-mnote-data-canon.o
·
·
·
Making install in po
make[1]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/po'
/bin/sh .././mkinstalldirs /usr/local/share
mkdir -p -- /usr/local/share/locale/cs/LC_MESSAGES
mkdir: kan inte skapa katalog "/usr/local/share/locale": Åtkomst nekas
/usr/bin/install: kan inte skapa normal fil "/usr/local/share/locale/cs/LC_MESSAGES/libexif-12.mo": Filen eller katalogen finns inte
installing cs.gmo as /usr/local/share/locale/cs/LC_MESSAGES/libexif-12.mo
mkdir -p -- /usr/local/share/locale/de/LC_MESSAGES
mkdir: kan inte skapa katalog "/usr/local/share/locale": Åtkomst nekas
/usr/bin/install: kan inte skapa normal fil "/usr/local/share/locale/de/LC_MESSAGES/libexif-12.mo": Filen eller katalogen finns inte
installing de.gmo as /usr/local/share/locale/de/LC_MESSAGES/libexif-12.mo
mkdir -p -- /usr/local/share/locale/es/LC_MESSAGES
mkdir: kan inte skapa katalog "/usr/local/share/locale": Åtkomst nekas
/usr/bin/install: kan inte skapa normal fil "/usr/local/share/locale/es/LC_MESSAGES/libexif-12.mo": Filen eller katalogen finns inte
installing es.gmo as /usr/local/share/locale/es/LC_MESSAGES/libexif-12.mo
mkdir -p -- /usr/local/share/locale/fr/LC_MESSAGES
mkdir: kan inte skapa katalog "/usr/local/share/locale": Åtkomst nekas
/usr/bin/install: kan inte skapa normal fil "/usr/local/share/locale/fr/LC_MESSAGES/libexif-12.mo": Filen eller katalogen finns inte
installing fr.gmo as /usr/local/share/locale/fr/LC_MESSAGES/libexif-12.mo
mkdir -p -- /usr/local/share/locale/pl/LC_MESSAGES
mkdir: kan inte skapa katalog "/usr/local/share/locale": Åtkomst nekas
/usr/bin/install: kan inte skapa normal fil "/usr/local/share/locale/pl/LC_MESSAGES/libexif-12.mo": Filen eller katalogen finns inte
installing pl.gmo as /usr/local/share/locale/pl/LC_MESSAGES/libexif-12.mo
mkdir -p -- /usr/local/share/locale/ru/LC_MESSAGES
mkdir: kan inte skapa katalog "/usr/local/share/locale": Åtkomst nekas
/usr/bin/install: kan inte skapa normal fil "/usr/local/share/locale/ru/LC_MESSAGES/libexif-12.mo": Filen eller katalogen finns inte
installing ru.gmo as /usr/local/share/locale/ru/LC_MESSAGES/libexif-12.mo
mkdir -p -- /usr/local/share/locale/sk/LC_MESSAGES
mkdir: kan inte skapa katalog "/usr/local/share/locale": Åtkomst nekas
/usr/bin/install: kan inte skapa normal fil "/usr/local/share/locale/sk/LC_MESSAGES/libexif-12.mo": Filen eller katalogen finns inte
installing sk.gmo as /usr/local/share/locale/sk/LC_MESSAGES/libexif-12.mo
mkdir -p -- /usr/local/share/locale/vi/LC_MESSAGES
mkdir: kan inte skapa katalog "/usr/local/share/locale": Åtkomst nekas
/usr/bin/install: kan inte skapa normal fil "/usr/local/share/locale/vi/LC_MESSAGES/libexif-12.mo": Filen eller katalogen finns inte
installing vi.gmo as /usr/local/share/locale/vi/LC_MESSAGES/libexif-12.mo
if test "libexif" = "gettext-tools"; then \
          /bin/sh .././mkinstalldirs /usr/local/share/gettext/po; \
          for file in Makefile.in.in remove-potcdate.sin quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot   Makevars.template; do \
            /usr/bin/install -c -m 644 ./$file \
                            /usr/local/share/gettext/po/$file; \
          done; \
          for file in Makevars; do \
            rm -f /usr/local/share/gettext/po/$file; \
          done; \
        else \
          : ; \
        fi
make[1]: Leaving directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/po'
Making install in libexif
make[1]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif'
Making install in canon
make[2]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif/canon'
make[3]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif/canon'
make[3]: Inget behöver göras för "install-exec-am".
make[3]: Inget behöver göras för "install-data-am".
make[3]: Leaving directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif/canon'
make[2]: Leaving directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif/canon'
Making install in olympus
make[2]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif/olympus'
make[3]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif/olympus'
make[3]: Inget behöver göras för "install-exec-am".
make[3]: Inget behöver göras för "install-data-am".
make[3]: Leaving directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif/olympus'
make[2]: Leaving directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif/olympus'
Making install in pentax
make[2]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif/pentax'
make[3]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif/pentax'
make[3]: Inget behöver göras för "install-exec-am".
make[3]: Inget behöver göras för "install-data-am".
make[3]: Leaving directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif/pentax'
make[2]: Leaving directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif/pentax'
make[2]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif'
make[3]: Entering directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif'
test -z "/usr/local/lib" || /bin/mkdir -p "/usr/local/lib"
 /bin/bash ../libtool --mode=install /usr/bin/install -c  'libexif.la' '/usr/local/lib/libexif.la'
/usr/bin/install -c .libs/libexif.so.12.2.0 /usr/local/lib/libexif.so.12.2.0
/usr/bin/install: cannot create regular file `/usr/local/lib/libexif.so.12.2.0': Permission denied
make[3]: *** [install-libLTLIBRARIES] Fel 1
make[3]: Leaving directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif'
make[2]: *** [install-am] Fel 2
make[2]: Leaving directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif'
make[1]: *** [install-recursive] Fel 1
make[1]: Leaving directory `/home/guraknugen/Tillfälligt/libexif-0.6.16/libexif'
make: *** [install-recursive] Fel 1
guraknugen@PB-laptop:~/Tillfälligt/libexif-0.6.16$ 
Inte så lyckat det heller. Många felmeddelanden, mycket "permission denied" (provade som root också, men det hjälpte inte).

Så vad mer kan tänkas behövas?


Minst lika vänliga hälsningar

Johnny Rosenberg

SV: Klantkompilering

Postat: 24 sep 2007, 22:28
av Hund
sudo make install är det man kör. :)

SV: Klantkompilering

Postat: 24 sep 2007, 22:28
av Lars
Det ser bra ut nu. Om du kör typ "sudo ./configure; make; make install" så kommer endast kommandot ./configure köras som root. Det är bara "make install" som måste köras som root så prova med "sudo make install", det borde fungera.

Men enklast är ju "sudo apt-get install libexif12", fast kanske inte lika kul och lärorikt ;)

SV: Klantkompilering

Postat: 25 sep 2007, 05:41
av Johnny Rosenberg
Lars skrev:Men enklast är ju "sudo apt-get install libexif12", fast kanske inte lika kul och lärorikt ;)
Får jag inte den version jag hittar i Synaptec då, alltså 0.6.13? Den versionen har jag redan och det är den som inte fungerar.

Jo, jag trodde att sudo gällde för hela raden, så något har jag lärt mig nu i alla fall.

Hade det inte fungerat om jag skrivit "./configure; make; sudo make install"?

Okej, nu ska jag i alla fall testa igen.

SV: Klantkompilering

Postat: 25 sep 2007, 05:54
av Johnny Rosenberg
Okej, nu har jag testat. Det såg ut att gå bra denna gången, men jag kan fortfarande inte ladda in bilderna i GIMP, vilket jag tolkar som att GIMP fortfarande använder gamla versionen. Måste jag avinstallera 0.6.13 innan jag kompilerar 0.6.16?

Över huvud taget, hur kan jag vara säker på att det jag installerar hamnar på rätt plats och därmed hittas av de program om använder det?

SV: Klantkompilering

Postat: 25 sep 2007, 08:07
av DeepThought
0.6.16 finns i Gutsys förråd, om du hade tänkt byta när Gutsy kommer (om en knapp månad). Du kanske kan testa att installera det paketet i Feisty, och se om det fungerar?

http://packages.ubuntu.com/gutsy/libs/libexif12

SV: Klantkompilering

Postat: 25 sep 2007, 17:46
av Johnny Rosenberg
DeepThought skrev: 0.6.16 finns i Gutsys förråd, om du hade tänkt byta när Gutsy kommer (om en knapp månad). Du kanske kan testa att installera det paketet i Feisty, och se om det fungerar?

http://packages.ubuntu.com/gutsy/libs/libexif12
Jo, jag får väl ta mig en titt där om inget annat hjälper, men det måste ju gå att utföra en så enkel uppgift som att kompilera något så att det faktiskt fungerar sedan... Försöker ju undvika genvägarna så här i början så att jag lär mig något...

På den gamla goda tiden när man satt på skolans Unix-maskin och kompilerade egna små enkla program var det ju inget problem, men då handlade det ju inte så mycket om att installera saker, bara att skapa en körbar fil som man kunde starta. Det är ju lite mer avancerat idag, men trots det vill man försöka hänga med efter många års frånvaro från Unix-världen.

Så tillbaka till det jag råkar vilja ha att fungera i just detta fallet: Jag såg inga alarmerande varningar eller felmeddelanden när jag kompilerade (eller vad jag nu gjorde), men å andra sidan såg jag en del text jag inte begrep... Min tolkning blev i alla fall att kompileringen lyckades. När jag sedan öppnade den aktuella bilden i GIMP igen (efter att GIMP varit avstängt) misslyckades GIMP återigen, på exakt samma sätt som innan, att ladda bilden.

Därför undrar jag:
Finns den gamla versionen av libexif kvar parallellt med den nya? Hur hollar jag det? Vet ju inte ens vad filerna ska heta...
Måste jag i så fall ändra något i GIMP så att den använder den nya istället?
Hade det hjälpt om jag avinstallerat den gamla versionen först?

Mycket man undrar som hopplös nybörjare...

Johnny Rosenberg

SV: Klantkompilering

Postat: 25 sep 2007, 18:37
av Lars
Normalt när man kör "make install" så installeras programmet under /usr/local, det är därför biblioteket inte hittas. Om du kör "ldd /usr/bin/gimp" så ser du vilka bibliotek som gimp använder sig av, alla ligger i /urs/lib.

En lösning är att köra "./configure --prefix=/usr" så att filerna hamnar i /usr/lib istället. Då skrivs Ubuntus filer över!!!

En snyggare lösning är kanske att mecka lite med LD_LIBRARY_PATH eller /etc/ld.so.conf, se man ld.so och man ldconfig.

SV: Klantkompilering

Postat: 25 sep 2007, 22:41
av Johnny Rosenberg
Lars skrev: Normalt när man kör "make install" så installeras programmet under /usr/local, det är därför biblioteket inte hittas. Om du kör "ldd /usr/bin/gimp" så ser du vilka bibliotek som gimp använder sig av, alla ligger i /urs/lib.

En lösning är att köra "./configure --prefix=/usr" så att filerna hamnar i /usr/lib istället. Då skrivs Ubuntus filer över!!!

En snyggare lösning är kanske att mecka lite med LD_LIBRARY_PATH eller /etc/ld.so.conf, se man ld.so och man ldconfig.
Var hittar jag LD_LIBRARY_PATH? Är det någon sorts miljövariabel?

I alla fall så tittade jag runt lite i mapparna och fann följande:
I /usr/local/lib fanns följande filer:
libexif.la
libexif.so
libexif.so.12
libexif.so.12.2.0

I /usr/lib fanns följande:
libexif.so.12
libexif.so.12.0.1

Så du tycks ha rätt. Inte för att jag tvivlade på det, men ändå...

Om jag nu är så brutal att jag bara kopierar de nyare filerna så kommer inte det att fungera ändå, eller?

J.R.

SV: Klantkompilering

Postat: 25 sep 2007, 23:05
av Lars
Jo, LD_LIBRARY_PATH är en miljövariabel, prova att starta Gimp med:

Kod: Markera allt

LD_LIBRARY_PATH=/usr/local/lib gimp
och se om det fungerar.

SV: Klantkompilering

Postat: 26 sep 2007, 18:02
av Johnny Rosenberg
Lars skrev: Jo, LD_LIBRARY_PATH är en miljövariabel, prova att starta Gimp med:

Kod: Markera allt

LD_LIBRARY_PATH=/usr/local/lib gimp
och se om det fungerar.
Fungerade.

Det roliga är att min fru nyss installerat GIMP 2.4.0 RC3 och där fungerar det TROTS att hon har de gamla libexif-filerna... i alla fall om man går efter filnamnen.

Tack för hjälpen i alla fall, nu tror jag att jag har lite mer pejl på läget.

J.R.