compilen PHP door "ld" niet mogelijk

Pagina: 1
Acties:
  • 105 views sinds 30-01-2008
  • Reageer

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
Hallo allemaal,

Ik heb het volgende probleem. Ik heb hier een kleine Linux bak als servertje staan. Hier staan een webserver op, bestanddeling voor windows netwerken en nog wat dingen. Nu heb ik laatst een redelijk "kale" PHP geinstalleerd, met alleen support voor MySQL en ROXEN (de webserver).

Dit doet het allemaal zonder problemen. Nu probeer ik echter een wat volledigere versie van PHP te compilen, waarmee het mogelijk is plaatjes te genereren (GD).

ik configure met de volgende opties
./configure --with-roxen=/usr/local/roxen/server --with-mysql --enable-calendar --with-tiff --with-jpeg-dir --with-gd --with-ttf --with-t1lib --with-png

dit gaat allemaal goed, dus ik tik make in en krijg:

BLAHBLAHBLAHBLAHBLAHBLAHBLAHBLAHBLAHBLAHBLAH..

make[2]: Nothing to be done for `all-p'.
make[2]: Leaving directory `/php-4.0.5/regex'
make[1]: Leaving directory `/php-4.0.5/regex'
Making all in .
make[1]: Entering directory `/php-4.0.5'
/bin/sh /php-4.0.5/libtool --silent --mode=link gcc -I. -I/php-4.0.5/ -I/php-4.0.5/main -I/php-4.0.5 -I/usr/local/pike/7.0.332/include/pike -I/php-4.0.5/Zend -I/usr/include/freetype -I/include -I/usr/include/gd -I/php-4.0.5/ext/mysql/libmysql -I/php-4.0.5/ext/xml/expat/xmltok -I/php-4.0.5/ext/xml/expat/xmlparse -I/php-4.0.5/TSRM -DSUPPORT_UTF8 -DXML_BYTE_ORDER=12 -g -O2 -o libphp4.la -rpath /php-4.0.5/libs -avoid-version -L/usr/local/lib -L/lib -R /usr/local/lib -R /lib stub.lo Zend/libZend.la sapi/roxen/libsapi.la main/libmain.la regex/libregex.la ext/calendar/libcalendar.la ext/gd/libgd.la ext/mysql/libmysql.la ext/pcre/libpcre.la ext/posix/libposix.la ext/session/libsession.la ext/standard/libstandard.la ext/xml/libxml.la TSRM/libtsrm.la -lpam -ldl -lt1 -lttf -lz -lpng -lgd -ljpeg -lresolv -lm -ldl -lcrypt -lnsl -lresolv -L/usr/local/lib -ljpeg -L/lib -lt1
/usr/i486-suse-linux/bin/ld: cannot find -lX11
collect2: ld returned 1 exit status
make[1]: *** [libphp4.la] Error 1
make[1]: Leaving directory `/php-4.0.5'
make: *** [all-recursive] Error 1

Nu heb ik het aan een stel computerfreaks gevraagd (zijn erger als ik) en die denken dat het aan een compile optie licht. Ik ben er ook eens naar gaan kijken, volgens mij licht het er aan, dat het programma ld (niet helemaal duidelijk wat het doet) geen entry heeft voor de optie -lX11. ik heb op dit servertje geen X11 draaien, ik heb echter wel een aantal spullen er van op de schijf staan (om afhankelijkheden te voldoen).

Mijn vraag, weet iemand wat er aan de hand is, en hoe ik er voor kan zorgen dat de optie -lX11 wordt gelinked aan hetgeen het moet worden gelinked (een dir of file)

  • Sjonny
  • Registratie: Maart 2001
  • Laatst online: 15:05

Sjonny

Fratser

omdat je support voor die plaatjes formats gebruikt wilt ie waarschijnlijk ook de X11 lib hebben. Hiervoor moet je dus wel X11 ook geinstalled hebben. Mik bij het compile command (of modify het in de Makefile en zet het bij andere -L/lib dingen):

-L/usr/X11R6/lib

en dan weet ie waar die de X11 lib kan vinden.

The problem is in the part of your brain that handles intelligence.


  • Mior
  • Registratie: Maart 2000
  • Laatst online: 15-08 00:58
[wilde gok]

haal --with-t1lib eens uit de configure regel

[/wilde gok]

ik ken de lib niet, heb hem zelf ook niet gebruikt, en gd werkt prima bij mij (jpg, png, bmp en gif support).

Wat ik wel zeker weet is dat je voor gd geen X nodig hebt.

als dit het niet is dan is misschien gd verkeerd gecompiled :?

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
Nu, het wil niet lukken :?
ook niet met

./configure --with-roxen=/usr/local/roxen/server --with-mysql --enable-calendar --with-tiff --with-jpeg-dir --with-gd --with-ttf --with-png

vraag is nog steeds of iemand weet hoe ik ld moet instellen

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
Op woensdag 13 juni 2001 18:45 schreef Phantom_ het volgende:
[wilde gok]

haal --with-t1lib eens uit de configure regel

[/wilde gok]

ik ken de lib niet, heb hem zelf ook niet gebruikt, en gd werkt prima bij mij (jpg, png, bmp en gif support).

Wat ik wel zeker weet is dat je voor gd geen X nodig hebt.

als dit het niet is dan is misschien gd verkeerd gecompiled :?
Als GD verkeerd gecompiled is, waarom compiled hij alles in de submap van GD wel goed? er is echt iets met die ld, ik moet denk ik iets aan zo'n config file toevoegen

Verwijderd

vraag is nog steeds of iemand weet hoe ik ld moet instellen
Je mist -L/usr/X11R6/lib

Doe eens "ls /usr/X11R6/lib/libX11.*"
Als je daar iets krijgt dan doe je:
"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/X11R6/lib" en doe je dat opnieuw (desnoods eerst "make distclean" om van oude ./configure zooi af te komen). Krijg je niks dan installeer je X en doe je hetzelfde.

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
Op woensdag 13 juni 2001 22:27 schreef beelzebubu het volgende:

[..]

Je mist -L/usr/X11R6/lib

Doe eens "ls /usr/X11R6/lib/libX11.*"
Als je daar iets krijgt dan doe je:
"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/X11R6/lib" en doe je dat opnieuw (desnoods eerst "make distclean" om van oude ./configure zooi af te komen). Krijg je niks dan installeer je X en doe je hetzelfde.
Ik heb gedaan wat je zij, dat ls commando geeft gewoon aan dat er wat in de directories ziet (wat ik eerdeer al het gechecked)

"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/X11R6/lib" snap ik niet eerlijk gezegd, ik neem aan dat dit niet iets is voor op de commandline maar voor in een file. Ik moet bekennen dat ik blijkbaar een newbie ben als het om dit LD gaat.

Toen ik bij die computerfreaks was hebben zij via SSH even in mijn systeem zitten kijken. Ze konden op een of andere manier kijken naar allerlei dingen van dat ld (een lijst met dir's ofzo). Als iemand hier wat van weet.

Zijn er andere programma's om dit LD heen die me zouden kunnen helpen? man ld geeft dit niet aan

Verwijderd

dat commando ("export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/X11R6/lib") kun je gewoon op de commando-line intypen - het set een environment variable.

voor LD, edit /etc/ld.so.conf en (als ie er niet staat) voeg "/usr/X11R6/lib" toe en type (in de commando-line) "/sbin/ldconfig" (als root).

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

Op woensdag 13 juni 2001 21:02 schreef Bart B het volgende:

[..]

Als GD verkeerd gecompiled is, waarom compiled hij alles in de submap van GD wel goed? er is echt iets met die ld, ik moet denk ik iets aan zo'n config file toevoegen
Om de simpele reden dat ld de linker is. Pas als ie alle opject files samenvoegt komt ld er achter dat ie dingen mist.

De reden is waarschijnlijk dat gd met X11 libs gecompiled is. Je hebt dan wel de X11 libs op je bak staan, maar niet de X11-libs devel package.

(rpm -qa XFree86-libs op een RH bak)

Je kan met ldd checken of gd idd met X11 is gecompiled :

ldd /usr/lib/libgd.so

geeft ie iets in de trend van :

libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xblabla)

dan is het foute boel ;)


Igmar

Igmar

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

Op woensdag 13 juni 2001 16:06 schreef Sjonny het volgende:
omdat je support voor die plaatjes formats gebruikt wilt ie waarschijnlijk ook de X11 lib hebben. Hiervoor moet je dus wel X11 ook geinstalled hebben. Mik bij het compile command (of modify het in de Makefile en zet het bij andere -L/lib dingen):

-L/usr/X11R6/lib

en dan weet ie waar die de X11 lib kan vinden.
/usr/X11R6/lib staat hier standaard in het linker path. Ik denk gewoon dat ie XFree86-libs-devel mist. (de static library dus). libtool is helaas niet al te intelligent :(

Igmar

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
Op woensdag 13 juni 2001 23:15 schreef beelzebubu het volgende:
dat commando ("export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/X11R6/lib") kun je gewoon op de commando-line intypen - het set een environment variable.

voor LD, edit /etc/ld.so.conf en (als ie er niet staat) voeg "/usr/X11R6/lib" toe en type (in de commando-line) "/sbin/ldconfig" (als root).
De regel stond al in dat bestand, in ieder geval bedankt

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
Op woensdag 13 juni 2001 23:23 schreef igmar het volgende:

[..]

Om de simpele reden dat ld de linker is. Pas als ie alle opject files samenvoegt komt ld er achter dat ie dingen mist.
dus ik moet iets installeren :'(
De reden is waarschijnlijk dat gd met X11 libs gecompiled is. Je hebt dan wel de X11 libs op je bak staan, maar niet de X11-libs devel package.
Ik heb even geprobeerd een aantal regels waar X11 dirs vermeld worden te verwijderen in de makefile. Geen succes, het zelfde probleem.
(rpm -qa XFree86-libs op een RH bak)
Zal ik eens proberen
Je kan met ldd checken of gd idd met X11 is gecompiled :

ldd /usr/lib/libgd.so

geeft ie iets in de trend van :

libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xblabla)
Dit krijg ik niet, ik "no such file of directory"
Igmar

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
Op woensdag 13 juni 2001 23:26 schreef igmar het volgende:

[..]

/usr/X11R6/lib staat hier standaard in het linker path. Ik denk gewoon dat ie XFree86-libs-devel mist. (de static library dus). libtool is helaas niet al te intelligent :(

Igmar
eindconclusie, ik moet die development shit installeren (het is vroeg ;) )

  • igmar
  • Registratie: April 2000
  • Laatst online: 29-06 18:56

igmar

ISO20022

Dit krijg ik niet, ik "no such file of directory"
wat zegt :

ls -l /usr/lib/libgd*

en

ls -l /lib/libgd*

?

Igmar

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
root@beumer:/usrbmr/bart > ls -l /usr/lib/libgd*
-rw-r--r-- 1 root root 187678 Aug 15 2000 /usr/lib/libgd.a
-rw-r--r-- 1 root root 50498 Aug 15 2000 /usr/lib/libgdbm.a
lrwxrwxrwx 1 root root 16 May 30 22:50 /usr/lib/libgdbm.so -> libgdbm.so.2.0.0
lrwxrwxrwx 1 root root 16 May 30 22:50 /usr/lib/libgdbm.so.1 -> libgdbm.so.1.7.3
-rwxr-xr-x 1 root root 74612 Aug 15 2000 /usr/lib/libgdbm.so.1.7.3
lrwxrwxrwx 1 root root 16 May 30 22:50 /usr/lib/libgdbm.so.2 -> libgdbm.so.2.0.0
-rwxr-xr-x 1 root root 29361 Aug 15 2000 /usr/lib/libgdbm.so.2.0.0
lrwxrwxrwx 1 root root 19 May 30 22:57 /usr/lib/libgdk-1.2.so.0 -> libgdk-1.2.so.0.5.3
-rwxr-xr-x 1 root root 874835 Aug 15 2000 /usr/lib/libgdk-1.2.so.0.5.3
lrwxrwxrwx 1 root root 21 May 30 22:57 /usr/lib/libgdk_imlib.so.1 -> libgdk_imlib.so.1.9.8
-rwxr-xr-x 1 root root 158329 Aug 16 2000 /usr/lib/libgdk_imlib.so.1.9.8

Dit ziet er dan nog redelijk vol uit

in /lib zit echter niet met de naam "libgd*" zou dat het kunnen zijn?

Verwijderd

in /lib zit echter niet met de naam "libgd*" zou dat het kunnen zijn?
Persoonlijk vind ik een enkele copy van een library vaak wel genoeg. Het zou erg lullig zijn als we in elke directory een copy van elke library zouden moeten hebben, ook voor de vrije HD ruimte.

Dat is het dus niet ;)

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
^^^^^^^^
Ik moet nog steeds weten hoe ik er voor kan zorgen dat ld bij -lX11 het goede teruggeeft :)

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
^^^^^^^^^^^^^^^^^
Is deze vraag zo moeilijk te beantwoorden :?

  • Sjonny
  • Registratie: Maart 2001
  • Laatst online: 15:05

Sjonny

Fratser

Nee dat issie niet ...
is dit forum zo moeilijk te lezen?!
1) check /etc/ld.so.conf (oid) voor de dir /usr/X11R6/lib (deze moet er instaan)
2) check of je libX11.so hebt (ls -l /usr/X11R6/lib/libX11.so*)
3) edit de makefile en edit een lijn waar -lX11 invoorkomt en zet er -L/usr/X11R6/lib bij

The problem is in the part of your brain that handles intelligence.


  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
probeer eens php4.0.4pl1

kans dat die niet zeurt,
ik ben nl al een paar vreemde dingen met 4.0.5 tegengekomen.

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
Misschien dat ik dat laatste eens ge proberen. Ik kom net terug uit lLimburg en ben moe, dus later.....

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
ok, ik heb geprobeerd om met php4.0.4pl1 te compilen, dan kan hij niet -lX11 maar -lt1 niet vinden.

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
Ok, ik heb nu ook geinstalleerd:
xshared-4.0.2-7.i386.rpm
xdevel-4.0.2-7.i386.rpm

zijn er nog meer pakketten die ik moet installeren?

FTP van SuSE:
ftp://ftp.suse.com/pub/suse/i386/X/XFree86/XFree86-4.0.2-SuSE/suse70/

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
^^^^^^^^^^^^^^^^^^^^

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
niemand? :'(

  • Sjonny
  • Registratie: Maart 2001
  • Laatst online: 15:05

Sjonny

Fratser

bij mandrake zit ie in het libt1 package, probeer zoiets maar van suse te zoeken dan ..

The problem is in the part of your brain that handles intelligence.


  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 06-04 17:55
Da's een idee.

TNX :)
Pagina: 1