Strona 3 z 3

: 01 stycznia 2009, 23:09
autor: Shezzy
Configure i Make i skompilowało się jednakże make test przechodzi z błędami.

Kod: Zaznacz cały

TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :   57
Exts tested     :   22
---------------------------------------------------------------------

Number of tests : 5811              4152
Tests skipped   : 1659 ( 28.5%) --------
Tests warned    :    0 (  0.0%) (  0.0%)
Tests failed    :   43 (  0.7%) (  1.0%)
Tests passed    : 4109 ( 70.7%) ( 99.0%)
---------------------------------------------------------------------
Time taken      :  639 seconds

You may have found a problem in PHP... ble ble ble
Nie wiem czy ma to znaczenie, czy jest to zależne od ilości modułów. Mniejsza o to.

Od początku? OK

1. Ustawiam sources.list

Kod: Zaznacz cały

deb [url]http://debian.ludost.net/debian/[/url] testing main contrib non-free 
deb-src [url]http://debian.ludost.net/debian/[/url] testing main contrib non-free 
deb [url]http://ftp.pl.debian.org/debian/[/url] lenny main non-free contrib 
deb-src [url]http://ftp.pl.debian.org/debian/[/url] lenny main non-free contrib 
deb [url]http://security.debian.org/[/url] lenny/updates main contrib non-free 
deb-src [url]http://security.debian.org/[/url] lenny/updates main contrib non-free 
Instalacje i kompilacje składników TDS pominąłem. Nie ma to znaczenia dla kompilacji nawet z czystymi źródłami.

2. Aktualizuje

Kod: Zaznacz cały

apt-get update

Kod: Zaznacz cały

apt-get dist-upgrade
3. Ściągam źródła

Kod: Zaznacz cały

apt-get source php5
4. Instaluję wymagane biblioteki

Kod: Zaznacz cały

apt-get build-dep php5
5. Zamieniam ustawienia w debian/rules, debian/contro i debian/modulelist. Bądź ich nie zmieniam, na czysto też nie działa.

6. Próbuje zbudować paczkę

Kod: Zaznacz cały

dpkg-buildpackage

: 01 stycznia 2009, 23:23
autor: fnmirk
Robisz dokładnie tak jak opisałem wcześniej. Na stronie i forum HowtoForge proponują w taki sposób zbudować pakiety jako rozwiązanie dla tego błędu.
http://www.howtoforge.com/how-to-rebuil ... or-headers

http://www.howtoforge.com/forums/showth ... p?p=162116

Odnośnie Etcha to jest tylko tyle i jest to stare:
http://www.howtoforge.com/php5_mssql_de ... _unix_odbc

: 01 stycznia 2009, 23:46
autor: Shezzy
Tak się składa, że to mój temat.
W najbliższym czasie dam znać jak to z tym wszystkim mi idzie. Mam parę rzeczy do wypróbowania.

: 01 stycznia 2009, 23:53
autor: fnmirk
Shezzy pisze:Tak się składa, że to mój temat.
Jaki ten świat mały?

: 02 stycznia 2009, 00:01
autor: Shezzy
To samo miałem powiedzieć ;)

Edycja:
Ten drugi sposób kończy się efektownie tym samym błędem, a na innej dystrybucji spróbuję już jutro.

: 02 stycznia 2009, 02:14
autor: fnmirk
Może zainstaluj, jak masz wolną partycję Debiana Lenny w wersji podstawowej (netinstall). Skonfiguruj internet i zbuduj tylko środowisko do budowy tych pakietów. Wydaje mi się, że może być szybciej.

Nie instaluj żadnych serwerów i usług tylko to co wynika z zależności do budowy tych pakietów.

: 02 stycznia 2009, 15:49
autor: Shezzy
OK zainstalowałem Lennego i bezproblemowo skompilowałem paczke.
Następnie na serwerze zainstalowałem paczke:

Kod: Zaznacz cały

dkpg -i php5-mssql_5.2.5-3_i386.deb
Krok 11:

Kod: Zaznacz cały

apt-get install php5-sybase
Kończy sie niepowodzeniem, błąd:

Kod: Zaznacz cały

dpkg: błąd przetwarzania /var/cache/apt/archives/php5-sybase_5.2.6-5_i386.deb (--unpack):
 próba nadpisania "/usr/lib/php5/20060613+lfs/mssql.so", który istnieje także w pakiecie php5-mssql
Wystąpiły błędy podczas przetwarzania:
 /var/cache/apt/archives/php5-sybase_5.2.6-5_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Czyli już tam jest mssql.so.
Nadal jeszcze mysql_connect() nie działa.
W tutorialu wspominają coś o wprowadzenia DNS dla FreeTDS.

/etc/freetds/freetds.conf

Kod: Zaznacz cały

#   $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $
#
# This file is installed by FreeTDS if no file by the same 
# name is found in the installation directory.  
#
# For information about the layout of this file and its settings, 
# see the freetds.conf manpage "man freetds.conf".  

# Global settings are overridden by those in a database
# server specific section
[global]
        # TDS protocol version
;	tds version = 4.2

	# Whether to write a TDSDUMP file for diagnostic purposes
	# (setting this to /tmp is insecure on a multi-user system)
;	dump file = /tmp/freetds.log
;	debug flags = 0xffff

	# Command and connection timeouts
;	timeout = 10
;	connect timeout = 10
	
	# If you get out-of-memory errors, it may mean that your client
	# is trying to allocate a huge buffer for a TEXT field.  
	# Try setting 'text size' to a more reasonable limit 
	text size = 64512

# A typical Sybase server
[egServer50]
	host = symachine.domain.com
	port = 5000
	tds version = 5.0

# A typical Microsoft server
[egServer70]
	host = ntmachine.domain.com
	port = 1433
	tds version = 7.0
Nie wiem jak postąpić. Nie wiem po co mu te dane, skoro host podaje jako parametr dla mysql_connect(), port domyślny, a wersja TDS nie wiem co to ma do rzeczy.

: 02 stycznia 2009, 16:24
autor: fnmirk
Shezzy pisze:Nadal jeszcze mysql_connect() nie działa.
Tu musisz poczekać na kogoś bardziej zaznajomionego z tym tematem.

: 02 stycznia 2009, 16:57
autor: Shezzy
Dodałem kod do php.ini ze ścieżką biblioteki.

Kod: Zaznacz cały

extension_dir = "/usr/lib/php5/20060613+lfs/"
extension=mssql.so
Chyba, działa bo mssql_connect() nie wyświetla już błędu ;)
Dzięki wielkie za pomoc. W razie czego jeszcze napisze, ale myśle że już będzie działać.
Nadal mnie zastanawia dlaczego na tym moim etchu nie działa kompilacja, zapewne musiałbym przestudiować cały artykuł o aktualizacji systemu.