Stircrazy69 / pcsx2

Automatically exported from code.google.com/p/pcsx2
0 stars 0 forks source link

32bit & 64bit ppa for Ubuntu #596

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I think it would be nice to have a ppa available for Ubuntu users interested 
in getting the latest stable SVN of pcsx2.

This would integrate many of the latest changes into their update system and 
help the project overall with testing.

Two notable projects that use this approach are google-chromium and wine.  
For them, it means not getting bug reports for old versions, and less users 
complaining because they somehow got an old version.

It also greatly simplifies setup for most debian-based Linux distributions.

Original issue reported on code.google.com by atrauzzi on 28 Feb 2010 at 2:26

GoogleCodeExporter commented 9 years ago
... I'm not too familiar with how the PPA's work, but at first glance it does 
look 
potentially convenient and useful.  Assigning it to our Linux guys, who might 
already 
know more than me about it, for review.

Arcum / Gregory: let's find out your opinions on PPAs, and whether or not we 
should 
consider using one. :)

Original comment by Jake.Stine on 2 Jun 2010 at 8:05

GoogleCodeExporter commented 9 years ago
They're essentially the "bleeding-edge" package tree's. (i.e. Chromium has a 
ppa 
package tree which gets updated almost as often as a new build of Chromium 
comes out.. 
I believe. If not, it's close enough XD). Thanks for taking this into 
consideration!

Original comment by basniakgm112 on 3 Jun 2010 at 2:01

GoogleCodeExporter commented 9 years ago
Well, before having a bleeding-edge package, we will try to create a package ^^ 

I do not know, how exactly work ppa. However I build pcsx2 like a pcsx2 debian
package, so hopefully it will not be too difficult to use ppa. Unfortunately 
there
are multiple issues to fix it before release a package. The 2 bigger are 
copyright
information (need to do it) and file created in wrong place.

Note: do not know the status of ia32libs on ubuntu, but if it the same as 
debian do
not expect to build pcsx2 under 64bits.

Original comment by gregory....@gmail.com on 3 Jun 2010 at 11:24

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Are you talking about these libs?
https://launchpad.net/ubuntu/lucid/amd64/ia32-libs/

Original comment by lain.halfbit@gmail.com on 3 Jun 2010 at 3:39

GoogleCodeExporter commented 9 years ago
Yes ^^.

To be exact the 32 missing libraries on debian are:
ia32-libs: liba52, libportaudio1.9 (libportaudiocpp0???), libsoundtouch, 
libGLEW,
ia32-libs-gtk: libwxbase2.8-0, libwxgtk2.8-0 (with also include file for 
integer size)

need a special 32bits package due to licence restriction: nvidia-cg-toolkit

Seem to be bigger on Ubuntu. Could an ubuntu user confirm the missing of these
libraries ?

In theory we could put everythings on ppa. But it would be too much hassle, 
probabaly
break others 32bits applications. And we will hit ppa space restriction because
ia32-libs tarball is around ~600 MB (on ubuntu) !!!

Original comment by gregory....@gmail.com on 3 Jun 2010 at 4:16

GoogleCodeExporter commented 9 years ago
Here are libs installed on my system from official repositories: liba52-0.7.4,
libportaudio2, libsoundtouch1c2, libglew1.5, libwxbase2.8-0, libwxgtk2.8-0.
nvidia-cg-toolkit v2.1.0017 exist in repository but not installed.

So, looks like everything are here. Probably you will need to fix compatibility 
with
libportaudio2.

Original comment by lain.halfbit@gmail.com on 3 Jun 2010 at 11:30

GoogleCodeExporter commented 9 years ago
@lain,
* I want to confirm with you that we speak about the same things. 
When I spoke of libGLEW etc... I did not refere of the 32bit package install on 
x86
neither of 64 bits package. But the 32bits compatibility libs that are install 
on
/usr/lib32 (instead of /usr/lib or /usr/lib64). Could you check that libs are 
present
on the /usr/lib32 directory. Tips maybe you can use the command dpkg -L 
ia32-libs and
dpkg -L ia32-libs-gtk.

* In the sametime could you check that you have also the .so file. For example: 
find /usr/lib32 -iname "*soundtouch*"
/usr/lib32/libSoundTouch.so.1 (file load at runtime)
/usr/lib32/libSoundTouch.so.1.0.0 (file load at runtime)
/usr/lib32/libSoundTouch.so (file used to build)

* One more things, there is some special configuration include file for wx. 
Could you
tell me where ubuntu install them. On my system I put the file in the following 
path:
/usr/lib32/wx/include/gtk2-unicode-release-2.8/wx/setup.h

Thanks a lots.

Original comment by gregory....@gmail.com on 4 Jun 2010 at 11:01

GoogleCodeExporter commented 9 years ago
Well I take the time to install a VM with ubuntu 10.04. Short summary, 32bits 
library
on amd64 are the same as debian. So does not wait a 64bits ppa for the moment. 
I do
not know what is the actual status of multiarch specification and 
implementation.

Anyway, first goal will be the 32bits ppa. What it could help pcsx2 is an 
update of
libsoundtouch on both debian&ubuntu. Sadly these distributions have only 1.3, 
and we
need 1.5 on pcsx2.

Original comment by gregory....@gmail.com on 6 Jun 2010 at 12:47

GoogleCodeExporter commented 9 years ago
Ok. I did the 10+ step for the registration process for ppa...

Is there any concerns about the package name (pcsx2 or pcsx2_experimental or 
whatever) ?

Then I will need to understand how it is working...

Original comment by gregory....@gmail.com on 1 Jul 2010 at 5:01

GoogleCodeExporter commented 9 years ago
I propose to use 'pcsx2-trunc' for unstable versions and 'pcsx2' for stable.

Original comment by lain.halfbit@gmail.com on 1 Jul 2010 at 11:38

GoogleCodeExporter commented 9 years ago
Hum, after additional thought, I will go for pcsx2-unstable for unstable 
version which is much more easier to understand that trunk. I need to rename 
lots of things, which it is really cumbersome...

Original comment by gregory....@gmail.com on 2 Jul 2010 at 1:35

GoogleCodeExporter commented 9 years ago
First of all ppa docs really sucks...

I have done the ppa setup. People can check 
https://launchpad.net/~gregory-hainaut/+archive/pcsx2.official.ppa

I try to upload a package. It return success, but it does not appears maybe 
need some times or I send it in another world...

Original comment by gregory....@gmail.com on 2 Jul 2010 at 5:16

GoogleCodeExporter commented 9 years ago
Ok found the issues. The souce package is upload. Now, need to wait the build 
process (and problably fix others errors). Fortunately we make good progress :)

Original comment by gregory....@gmail.com on 2 Jul 2010 at 6:23

GoogleCodeExporter commented 9 years ago
sudo add-apt-repository ppa:gregory-hainaut/pcsx2.official.ppa
[sudo] password for username: 
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring 
--secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg 
--keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg 
--keyserver keyserver.ubuntu.com --recv A36D8D60D79F0F65D2B81421508A982D7A617FF4
gpg: requesting key 7A617FF4 from hkp server keyserver.ubuntu.com
gpgkeys: HTTP fetch error 7: couldn't connect to host
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

I don't know how but you probably need to add your public key to ubuntu's 
keyserver. Probably it will be added automatically after some time but 
currently your PPA isn't accessible.

Original comment by lain.halfbit@gmail.com on 2 Jul 2010 at 6:30

GoogleCodeExporter commented 9 years ago
To allow to use ppa, the keys must be send to ubuntu keyserver. So I 
definitively did it. More over the error is "gpgkeys: HTTP fetch error 7: 
couldn't connect to host" seems more a connection error. Could you try it 
again, when the server is not overload ?

For the moment only the source package is available, binary will probably 
compile in few day.

Original comment by gregory....@gmail.com on 2 Jul 2010 at 8:17

GoogleCodeExporter commented 9 years ago
Yes, you are right. Sorry for that.
Will try to add it later.

Original comment by lain.halfbit@gmail.com on 2 Jul 2010 at 8:23

GoogleCodeExporter commented 9 years ago

Original comment by Jake.Stine on 3 Jul 2010 at 11:40

GoogleCodeExporter commented 9 years ago
Hum, I made some progress. But I have a stange build failure. Can someone 
confirm me that nvidia-cg-toolkit can be install on ubuntu lucid.

Setting up nvidia-cg-toolkit (2.1.0017.deb1+nmu1) ...
Downloading 
http://developer.download.nvidia.com/cg/Cg_2.1/2.1.0017/Cg-2.1_February2009_x86.
tgz on the i386 architecture.
Failed to download NVIDIA Cg Toolkit.
500 Can't connect to developer.download.nvidia.com:80 (Bad hostname 
'developer.download.nvidia.com')

Original comment by gregory....@gmail.com on 5 Jul 2010 at 6:00

GoogleCodeExporter commented 9 years ago
Looks like something with DNS of your ISP. You can try this DNS 
http://www.opendns.com/ or use this mirror http://sharebee.com/dce4f4b0

Original comment by runetmember on 5 Jul 2010 at 6:30

GoogleCodeExporter commented 9 years ago
In fact I spoke about the ubuntu ppa machine. Anyway I found the issue, ppa 
machine can not download file from internet. Unfortunately nvidia-cg-toolkit is 
only a web installer that download the nvidia files...

I need to find a good solutions. The ones I have in mind is
* repackage it, to use file instead of web-dl.
* copy it from another repository
* use directly another repository

Original comment by gregory....@gmail.com on 5 Jul 2010 at 6:40

GoogleCodeExporter commented 9 years ago
> Anyway I found the issue, ppa machine can not download file from internet.
You can add package with download bash-script, like in 
ttf-mscorefonts-installer and flashplugin-installer packages.

Original comment by runetmember on 5 Jul 2010 at 6:50

GoogleCodeExporter commented 9 years ago
> You can add package with download bash-script, like in 
ttf-mscorefonts-installer and flashplugin-installer packages.

How ? nvidia-cg-toolkit is a download perl-script...

Original comment by gregory....@gmail.com on 5 Jul 2010 at 6:57

GoogleCodeExporter commented 9 years ago
Then need to rewrite download part of this script in bash.

Original comment by runetmember on 5 Jul 2010 at 8:10

GoogleCodeExporter commented 9 years ago
Why there any difference between perl & bash ? Have you an example of 
bash-script that is actually working on ppa ? I thinks I'm not totally clear :)

For building the package, ppa build farm will fetch package to resolve 
dependance. In my case it needs the nvidia library (which must be download from 
nvidia). Ttf-mscorefonts-installer and flashplugin-installer are bad example, 
because there are useless for building a package AFAIK.

Original comment by gregory....@gmail.com on 5 Jul 2010 at 8:44

GoogleCodeExporter commented 9 years ago
Anyway, I redid the package. Need to test a little. If I did not find any 
issues, I will upload it at the ppa with pcsx2.

Original comment by gregory....@gmail.com on 5 Jul 2010 at 9:14

GoogleCodeExporter commented 9 years ago
> Why there any difference between perl & bash ?
You can use perl, but then you must add perl package to dependencies of the 
package with download-script.

> Have you an example of bash-script that is actually working on ppa ?
I mean bash script must be in the package.

> For building the package, ppa build farm will fetch package to resolve 
dependance. In my case it needs the nvidia library (which must be download from 
nvidia). 
Maybe create package nvidia-cg-toolkit-installer, add download-script to this 
package, and set this package to dependencies of package what are you trying to 
build, or it's not possible?

Original comment by runetmember on 5 Jul 2010 at 9:20

GoogleCodeExporter commented 9 years ago
Why not to create script which will install necessary packages from another 
source?
Actually it's exactly what runetmember proposing.
Bash/perl/whatever else script will be activated on installation. It isn't 
something on PPA.

Original comment by lain.halfbit@gmail.com on 5 Jul 2010 at 9:26

GoogleCodeExporter commented 9 years ago
> Bash/perl/whatever else script will be activated on installation. It isn't 
something on PPA.
Yes. But package with script can be placed in PPA.

Original comment by runetmember on 5 Jul 2010 at 9:29

GoogleCodeExporter commented 9 years ago
> Maybe create package nvidia-cg-toolkit-installer, add download-script to 
this package, and set this package to dependencies of package what are you 
trying to build, or it's not possible?

Actually it is what the nvidia-cg package doing. My pcsx2 package depends on 
nvidia-cg, nvidia-cg is found by ppa and it is installed. Then the script under 
the nvidia-cg package is run. And then it print the previous error, "can not 
download nvidia files". If I trust an old (2008) bug report on debian, ppa farm 
does not have an internet connection or at least not open to everythings.

Package "installer" can be placed on ppa but it seems not possible to depend on 
it.

Just for information, the current build log of my pcsx2 package:
http://launchpadlibrarian.net/51421173/buildlog_ubuntu-lucid-i386.pcsx2.snapshot
_3396-0ubuntu1_FAILEDTOBUILD.txt.gz

Original comment by gregory....@gmail.com on 5 Jul 2010 at 9:41

GoogleCodeExporter commented 9 years ago
You may contact Soyuz (PPA:s, buildfarm) maintainers in Launchpad at
https://answers.launchpad.net/soyuz/+addquestion .

Original comment by runetmember on 6 Jul 2010 at 5:04

GoogleCodeExporter commented 9 years ago
Thanks for the link, I just found an insteresing sub-link 
https://answers.launchpad.net/soyuz/+faq/167

Original comment by gregory....@gmail.com on 6 Jul 2010 at 8:19

GoogleCodeExporter commented 9 years ago
Ok I repackage nvidia-cg stuff. After countless try, it build successfully.

Note I name it nvidia-cg-toolkit-pcsx2 to avoid the confusion with the official 
version in ubuntu.

If people can check that is installable on both lucid & Maverick, I'm will be 
glad.

Now, I need to do pcsx2 :)

Original comment by gregory....@gmail.com on 6 Jul 2010 at 5:08

GoogleCodeExporter commented 9 years ago
pcsx2 done. 

I build under lucid and copy the binary into maverick, the best is to use the 
lucid one. I do not know how it is handle the various distribution of ubuntu.

Quick reminder, pcsx2 is not supported. However package error are welcome.

Enjoy ;)

Original comment by gregory....@gmail.com on 6 Jul 2010 at 6:07

GoogleCodeExporter commented 9 years ago
Hi, I've tried to install packages from repository.
1. It's possible to install and remove nvidia-cg-toolkit-pscx2.
2. It's possible to install and remove pcsx2-data-unstable but on remove it 
shows warning.
dpkg: warning: while removing pcsx2-data-unstable, directory '/var/games' not 
empty so not removed.
It's true, but I'm not sure it's necessary to show. If folder isn't empty then 
let it be. :)
3. I can't install pcsx2-unstable and pcsx2-data. It shows message "Package 
pcsx2-unstable has no installation candidate". Actually there is pcsx2.shapshot 
package in the PPA but it isn't visible as installable package. Is it because 
of dot in the package name? Don't know why.

BTW. How can I check is nvidia-cg installed properly or not? I have few libGLEW 
1.5 libs in lib32 folder but haven't libsoundtouch mentioned before. Is it part 
of this package?

Original comment by lain.halfbit@gmail.com on 6 Jul 2010 at 11:11

GoogleCodeExporter commented 9 years ago
2-> It is not me that try to delete the directory :) I must understand why it 
want to remove it.
3-> There are only 32 bits package. Amd64 are not possible at this time. ia32 
miss lot of package. I will open a debian bug report, but debian will be frozen 
in 2 months, not sure they accept the additional library. After ubuntu must 
sync the package with debian updates... What we really need is the 
implementation of "multi-arch" specification ( 
http://wiki.debian.org/ReleaseGoals/MultiArch )

FYI, pcsx2.snapshot is the name of the source package ;) The only things you 
can do it to download it (apt-get source pcsx2.snapshot) to build it.

A nice trick to show the content of a package: dpkg -L <package_name> 

Original comment by gregory....@gmail.com on 7 Jul 2010 at 8:24

GoogleCodeExporter commented 9 years ago
Why not to make package with 32-bit version of pcsx2 marked as 64-bit version 
as Google did with their Chrome (because it's hard to port V8 on x86_64)? As I 
understand it will use 32-bit compatibility libs from your nvidia-cg package to 
work on 64-bit system. I will try to install it in forced mode then.

Also I propose to send request for adding library to Ubuntu as well because 
they may accept it even if Debian will not. Debian guys are pretty conservative.

Original comment by lain.halfbit@gmail.com on 7 Jul 2010 at 9:34

GoogleCodeExporter commented 9 years ago
Like I said, a lots of library package does not provide the 32bits 
compatibility layer... But yes the purpose is to build the x86 package on amd64 
(which is what I am doing on my system anyway). The idea was to first make a 
32bits package because it was the easiest. I also need to do it for nvidia 
stuff. I try something but it does not work.

Here the list of libs to add. Note *.so symlink must also be added. Feel free 
to contact people that can improve this situation.
ia32-libs: liba52, libportaudio1.9, libsoundtouch, libGLEW
ia32-libs-gtk: libwxbase2.8-0, libwxgtk2.8-0 (with also include configuration 
file for integer size)
Maybe others I have forgotten :)

Original comment by gregory....@gmail.com on 7 Jul 2010 at 10:08

GoogleCodeExporter commented 9 years ago
For the record, I open a debian bug: 
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=588353

I update the nvidia stuff to support the 32bits on amd64 
(ia32-nvidia-cg-toolkit-pcsx2). It is the only good things of re-packaging this 
crap.

If people can try an install of the pcsx2 package in a 32 bits chroot on amd64 
system. Thanks.

Original comment by gregory....@gmail.com on 8 Jul 2010 at 9:46

GoogleCodeExporter commented 9 years ago
Ok, I've installed everything from your PPA. It was two *nvidia-cg* packages 
and pcsx2-data-unstable. Then I've downloaded pcsx2-unstable and 
pcsx2-plugins-unstable and installed both using next command:
sudo dpkg --force-architecture,depends --install pcsx2-*

I've used 'depends' because these packages depends on each other. ;) Each time 
when I tried to install any of these two packages dpgk told me it depends on 
another one and fails to install.

Ok, now both packages are installed but when I trying to run it I see next:
$ pcsx2
pcsx2: error while loading shared libraries: libwx_baseu-2.8.so.0: cannot open 
shared object file: No such file or directory

Original comment by lain.halfbit@gmail.com on 9 Jul 2010 at 7:29

GoogleCodeExporter commented 9 years ago
What system did you use ? amd64, x86, or x86_chroot in amd64. If you have 
amd64, it will not work, not matter option you used [1]. It is the main reason 
why I do not build the package on amd64.

In othres case, dpkg does not handle dependency, use apt-get or aptitude or 
whatever package manager you love or dpkg -i <package dependency list>.

[1] Well it is maybe possible, if you install the missing 32bits library 
manually in your system (mostly /usr/lib32).

Original comment by gregory....@gmail.com on 9 Jul 2010 at 7:53

GoogleCodeExporter commented 9 years ago
Just a tip: to see the library linked on an elf file, you can use the ldd 
(package libc-bin) utility. "ldd /usr/games/pcsx2" will print you all missing 
libraries.

Original comment by gregory....@gmail.com on 9 Jul 2010 at 8:19

GoogleCodeExporter commented 9 years ago
$ dpkg -I pcsx2-plugins-unstable_3434-1_i386.deb | grep pcsx2-unstable
 Depends: ..., pcsx2-unstable (>= 3434-1), ...
$ dpkg -I pcsx2-unstable_3434-1_i386.deb | grep pcsx2-plugins-unstable
 Depends: ..., pcsx2-data-unstable (>= 3434-1), ...
They definitely depends on each-other.

Yes, I'm using amd64. Ok, I will try to use x86_chroot. I just not familiar 
with this. Never used it before.

Original comment by lain.halfbit@gmail.com on 9 Jul 2010 at 8:25

GoogleCodeExporter commented 9 years ago
Yes, it is normal. It is more or less what I want to do. Technically, it is 
mandatory to install the 3 packages. In the end I will perhaps merge the 3 
packages into only 1 but for the moment I want to keep the possibility of 
multiple packages. There is no point to install only plugins or data anyway, so 
install them all ;). On debian unstable, dpkg -i pcsx2*.deb work and install 
the 3 without complaint.

Unfortunately I could not help you for the the chroot, I neved did it either :)

Original comment by gregory....@gmail.com on 9 Jul 2010 at 9:29

GoogleCodeExporter commented 9 years ago
I've set up chroots a number of times, but I'm on a different distribution, and 
the process is somewhat different for each distribution. (Because you are 
essentially setting up a separate linux install in a folder...)

Here's a how to for ubuntu, though:
http://ubuntuforums.org/showthread.php?t=24575

Original comment by arcum42@gmail.com on 10 Jul 2010 at 1:07

GoogleCodeExporter commented 9 years ago
Heh, I already used exactly this manual.
I've installed lucid_i386, whole ubuntu-desktop and pcsx2.
Now I can run it and it looks and feels right but there is no GS plugins except 
GSnull.
Should I try to install Catalyst in this chrooted ubuntu to make it work 
properly?
Any other ideas?

Original comment by lain.halfbit@gmail.com on 10 Jul 2010 at 6:58

GoogleCodeExporter commented 9 years ago
First could you check this following points.

1/ /usr/lib/games/pcsx2/plugins/libzzogl.so is installed
2/ ldd /usr/lib/games/pcsx2/plugins/libzzogl.so report that all libraries are 
installed (please report missing one)
3/ Check ~/.config/pcsx2/logs/emuLog.txt there is no error about missing symbol

Original comment by gregory....@gmail.com on 10 Jul 2010 at 8:28

GoogleCodeExporter commented 9 years ago
1)# ls /usr/lib/games/pcsx2/plugins/
libCDVDnull.so  libGSnull.so    libUSBnull.so   libonepad.so  libzerospu2.so
libFWnull.so    libSPU2null.so  libdev9null.so  libspu2x.so   libzzogl.so

2)# ldd /usr/lib/games/pcsx2/plugins/libzzogl.so 
...
    libCg.so => not found
    libCgGL.so => not found
...

3)# cat ~/.config/pcsx2/logs/emuLog.txt 
[wx] libCg.so: cannot open shared object file: No such file or directory
File is not a valid dynamic library.
    File/Object: /usr/lib/games/pcsx2/plugins/libzzogl.so
Some kinda plugin failure: /usr/lib/games/pcsx2/plugins/libzzogl.so
Action canceled: Startup aborted: User canceled FirstTime Wizard.

Original comment by lain.halfbit@gmail.com on 11 Jul 2010 at 2:14

GoogleCodeExporter commented 9 years ago
I've resolved this problem by myself. I've installed pcsx2-unstable but 
nvidia-cg wasn't in dependencies. As result it wasn't installed automatically. 
Now it's Ok. I will tell details later.

Original comment by lain.halfbit@gmail.com on 11 Jul 2010 at 2:18

GoogleCodeExporter commented 9 years ago
Yes it is a problem. I need to understand why it is not in the list like others 
packages

Original comment by gregory....@gmail.com on 11 Jul 2010 at 2:34