Tuesday, December 25, 2012

Windows Update does not work

Simple:

  1. Click "start", "cmd",
  2. Right click "Run as administrator"
  3. Type "net stop wuauserv"
  4. Type "ren %windir%\softwaredistribution sd.old"
  5. Type "net start wuauserv"
  6. Reboot
  7. Now you can use windows update again


Monday, December 17, 2012

gdcm and submodule gdcmData


During migration, the tool simply copy/pasted the old submodule URL, which lead to inconsistencies such:

$ git clone --recursive git://git.code.sf.net/p/gdcm/gdcm
Cloning into 'gdcm'...
remote: Counting objects: 65664, done.
remote: Compressing objects: 100% (13537/13537), done.
remote: Total 65664 (delta 51934), reused 65658 (delta 51930)
Receiving objects: 100% (65664/65664), 20.31 MiB | 2.32 MiB/s, done.
Resolving deltas: 100% (51934/51934), done.
Submodule 'Testing/Data' (git://gdcm.git.sourceforge.net/gitroot/gdcm/gdcmData) registered for path 'Testing/Data'
Cloning into 'Testing/Data'...
remote: Counting objects: 438, done.
remote: Compressing objects: 100% (303/303), done.
remote: Total 438 (delta 134), reused 428 (delta 131)
Receiving objects: 100% (438/438), 160.33 MiB | 7.25 MiB/s, done.
Resolving deltas: 100% (134/134), done.
Submodule path 'Testing/Data': checked out 'ebd3260d5dd315dd99dae78c783c2fc1beb18f01'
Well, this is not really an issue, we will just delete the old submodule and point to the new one.

Seems easy ? Well not quite, the new Allura does not cope with Upper case in name for mount point, so gdcmData needs to be gdcmdata now ...

Update: the following page explains how to delete (rm) submodule:
http://chrisjean.com/2009/04/20/git-submodules-adding-using-removing-and-updating/

GDCM Git migration in sf.net

Migration of GDCM to new sf.net/allura system did not work quite as I expected. I really like the shell based control I used to have.

So here is what I discover to copy/over the old setup to the new one:

Login to your shell space:
$ ssh -t malat,gdcm@shell.sf.net create
As 17/12/2012, the sf-help command is not really helpful since it only returns path to my old git directory:

% sf-help
[...]
Your project DSCM repositories are here (use adminrepo for CVS and SVN):
/home/scm_git/g/gd/gdcm

Anyway I discover this is right here:

$ cd /home/git/p/gdcm
The new system is not as flexible, you cannot easily create new directory:

[malat@shell-22006]/home/git/p/gdcm% touch bla.git
touch: cannot touch `bla.git': Permission denied
Instead you have to go back to the web interface, go 'Admin', then 'Tools', then click 'Git'. It will ask for a Label and a Mount Point, in my case I wanted Code/code to become Gdcm/gdcm. Fill accordingly to your project. Click ok.

Now if you go back to

$ cd /home/git/p/gdcm
You'll be pleasantly surprised... that nothing happened. Even if you log off, and log back in, no gdcm.git has been created...well technically yes. Simply type:

[malat@shell-22006]/home/git/p/gdcm% shutdown
and then log back in:

$ ssh -t malat,gdcm@shell.sf.net create
$ cd /home/git/p/gdcm
And now, you can edit in place file as you want

[malat@shell-22006]/home/git/p/gdcm% echo "super" > gdcm.git/description 
Now all is left to do is copy code.git over to gdcm.git:

$ git clone --mirror git://git.code.sf.net/p/gdcm/code
$ cd code.git
$ git push --mirror --all ssh://malat@git.code.sf.net/p/gdcm/gdcm
You can even use diff to your old rep:

[malat@shell-22006]/home/git/p/gdcm% diff -ru gdcm.git /home/scm_git/g/gd/gdcm/gdcm
Of course, when you are done, go back to Allura web interface, go to Admin/Tools and select select Git/Code and click 'Delete'.
Hope this help !

Update: Only after struggling with this did I discover the path was actually documented here:

https://sourceforge.net/p/forge/documentation/Git/#accessing-the-repository-via-the-shell

Tuesday, December 11, 2012

ninja on debian/squeeze

ninja has recently been uploaded to debian sid:

http://packages.qa.debian.org/n/ninja-build.html

However it needs a recent gtest to build. Here is an easy workaround:

$ apt-get source ninja-build
$ cd ninja-build-1.0.0/
$ vim debian/rules

replace :

./bootstrap.py -- --with-gtest=/usr/src/gtest/
with:
./bootstrap.py

$ export DEB_BUILD_OPTIONS=nocheck
$ dpkg-buildpackage -rfakeroot -us -uc -d

Et voilà !

Tuesday, November 20, 2012

Migrating GDCM wiki

I am following instructions from sf.net admins to move gdcm wiki to new platform, however it failed with:
ref:
https://sourceforge.net/p/forge/community-docs/Migrating%20MediaWiki%20from%20Hosted%20Apps/

Saturday, November 3, 2012

pdebuild and experimental

One thing I keep forgetting about is how to setup my pbuilder env when I need a package I just build. Say you want to upload package foobar2 to experimental which depends on foobar1. So you need first to upload foobar1 to experimental and then foobar2... yes but how do you locally build foobar2 ?

Simple:
$ sudo pbuilder --login --save-after-login --inputfile $HOME/build-area/foobar1.deb

Wednesday, October 10, 2012

OVH is sending scam ?

I did not understand why it took so long to get my root password to my new kimsufi box...until I contacted the support. They told me the mail with root password was sent yesterday. I went back to my gmail mailbox, search with the proper hostname...and discover the mail was marked as scam !

I do not know whose fault is this, but I am having a hard time understanding how OVH could ever be considered as sending scam...
Be careful with this message. Many people marked similar messages as phishing scams, so this might contain unsafe content.  Learn more

Sunday, September 16, 2012

Un cancéreux pirate son dossier médical pour demander l’aide du Web

On parle de DICOM dans un site grand public [1]. Le titre est très accrocheur:
Un cancéreux pirate son dossier médical pour demander l’aide du Web
Après des années de travail sur GDCM (Grassroots DICOM), après avoir fait du reverse engineering sur des modes de compression privés utilisés par certains vendeurs et référencés sur le fameux "hall of shame" [2]. Je me suis dit "wow", j'ai peut-être trouvé la solution au dernier codec non-supporté dans GDCM, le fameux LOSSLESS ELSCINCT que je n'ai jamais pu utiliser !

Je continue donc l'article, qui devient de plus en plus intéressant:
Il décide donc de le « craquer » et de le publier sur son site pour demander de l'aide aux internautes.
Ça y est, on parle de crackage, c'est même plus un gentil hacker, Laconesi est carrément un crackeur ! Le héros des temps moderne, le John Draper des compressions d'images !

La suite de l'article devient beaucoup moins drôle, on parle de "format fermé et propriétaire", et un peu plus loin de "Dicom", j'imagine que l'auteur voulait parler de "DICOM", jusqu'à ce que l'académie française accepte le mot (radar, laser...), ça reste un acronyme, donc en majuscule.

La suite est encore pire "difficilement accessible". C'est là que j'ai arrêté la lecture et j'ai téléchargé ses données:
Je regarde le premier tarball:

$ gdcminfo TAC_CD_20120827_130200/DICOM/00000000 MediaStorage is 1.2.840.10008.5.1.4.1.1.2 [CT Image Storage]
TransferSyntax is 1.2.840.10008.1.2.4.90 [JPEG 2000 Image Compression (Lossless Only)]
[...]


Alors là je comprends ce qu'il s'est passé. Laconesi a pris la première implémentation DICOM qu'il a trouvée sur sf.net et/ou code.google.com et évidement le codec JP2 n'était pas disponible...d'où sa démarche. Pour le coup JP2 est une norme ISO dont l'accès à la norme est payant, alors que DICOM n'est pas une norme ISO et l'accès au standard (fichiers PDFs) est complètement et entièrement gratuit.

Je rejoins l'article dans le sens où il y a beaucoup d’implémentations DICOM, mais elles ne sont pas toutes équivalentes. Mais c'est un autre débat, et des groupes comme debian-med ont par exemple rassemblé sous une seule organisation les meilleurs softs open-source pour le domaine médical, dans notre cas le sous-groupe debian-med est celui-ci:
On y retrouve quelques implémentations DICOM, dont GDCM qui elle implémente le codec JP2. Le problème est que plusieurs d'entres elles ne le supportent pas du tout. Ou alors le supportent mais utilisent Jasper (une implémentation JP2 invalide pour DICOM), comme expliqué lors de ma présentation à RMLL/2011 (et 2012 d'ailleurs):
Le titre de l'article est très accrocheur mais, à mon sens, il rate vraiment le principal :
  1. meilleur support de JPEG 2000 dans le monde opensource (vous pouvez me rejoindre @openjpeg)
  2. interface simplifiée pour relire les images (ginkgocadx est bien dans cette approche mais utilise DCMTK pour lire les fichiers DICOM, et DCMTK a décidé de ne pas distribuer gratuitement son module JPEG 2000 [3].
Sinon la fin de l'article évoque un problème intéressant: l’accès à des images numériques médicales. Là je suis entièrement d'accord avec l'auteur, cela devrait être simplifié. Mais comme l’Europe et l’Amérique du Nord ont des conditions très dures pour la diffusion des informations patient (Protected Health Information[4]), le plus simple c'est de ne pas diffuser du tout les informations patient.

Ce côté me rassure, car je ne serais pas du tout heureux d’apprendre que mon dossier médical traîne sur des réseaux sociaux. C'est pour cela que la démarche émane forcement du patient lui-même, et j'invite donc notre "apprenti craqueur" à transmettre ses données directement à Patient Contributed Image Repository (PCIR) [5] de façon à contribuer à une meilleure connaissance de DICOM par le grand public.

Si vous êtes arrivés jusque-là, merci de votre lecture et comme je le dis souvent, ramenez vos CD (écho, radio, IRM...) à votre domicile et vérifiez par vous-même que vous avez accès à vos propres données via un soft open source !

Thursday, June 28, 2012

$ winetricks psdkwin7

Can't seems to install psdkwin7 anymore using wine 1.5.7...
Executing w_do_call psdkwin7
Executing load_psdkwin7
Executing w_do_call dotnet20
Executing load_dotnet20
Executing w_do_call fontfix
Executing load_fontfix
Setting Windows version to win2k
Executing winetricks_early_wine regedit C:\windows\Temp\_dotnet20\set-winver.reg
Executing mkdir -p /home/mathieu/.cache/winetricks/dotnet20
Executing unzip -o -q -d /home/mathieu/.local/share/wineprefixes/psdkwin7/dosdevices/c:/windows/system32 l_intl.zip
fixme:storage:create_storagefile Storage share mode not implemented.
Executing mkdir -p /home/mathieu/.cache/winetricks/dotnet20
Executing wine dotnetfx.exe
fixme:advapi:DecryptFileA "C:\\users\\mathieu\\Temp\\IXP000.TMP\\" 00000000
fixme:advapi:LsaOpenPolicy ((null),0x33f31c,0x00000001,0x33f344) stub
fixme:advapi:LsaClose (0xcafe) stub
fixme:storage:create_storagefile Storage share mode not implemented.
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
fixme:msi:ITERATE_DuplicateFiles We should track these duplicate files as well
fixme:msi:ITERATE_DuplicateFiles We should track these duplicate files as well
fixme:msi:ITERATE_DuplicateFiles We should track these duplicate files as well
fixme:msi:ITERATE_DuplicateFiles We should track these duplicate files as well
fixme:msi:ITERATE_DuplicateFiles We should track these duplicate files as well
fixme:msi:ITERATE_DuplicateFiles We should track these duplicate files as well
fixme:msi:ITERATE_DuplicateFiles We should track these duplicate files as well
fixme:imagehlp:BindImageEx (0, "C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\cscomp.dll", "C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\", (null), (nil)): stub
fixme:imagehlp:BindImageEx (0, "C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\mscorsn.dll", "C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\", (null), (nil)): stub
fixme:imagehlp:BindImageEx (0, "C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\mscorwks.dll", "C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\", (null), (nil)): stub
fixme:imagehlp:BindImageEx (0, "C:\\windows\\system32\\mscoree.dll", "C:\\windows\\system32\\", (null), (nil)): stub
fixme:imagehlp:BindImageEx (0, "C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\mscorjit.dll", "C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\", (null), (nil)): stub
fixme:imagehlp:BindImageEx (0, "C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\mscorpe.dll", "C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\", (null), (nil)): stub
fixme:imagehlp:BindImageEx (0, "C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\vbc.exe", "C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\", (null), (nil)): stub
fixme:imagehlp:BindImageEx (0, "C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\diasymreader.dll", "C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\", (null), (nil)): stub
fixme:mofcomp:wmain stub
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
err:ole:create_server class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {a9e69610-b80d-11d0-b9b9-00a0c922e750} could be created for context 0x17
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
err:ole:create_server class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {a9e69610-b80d-11d0-b9b9-00a0c922e750} could be created for context 0x17
fixme:advapi:RegisterEventSourceW ((null),L"ASP.NET 2.0.50727.0"): stub
fixme:advapi:ReportEventW (0xcafe4242,0x0004,0x0001,0x400003f9,(nil),0x0002,0x00000000,0x33ecec,(nil)): stub
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
fixme:loadperf:UnloadPerfCounterTextStringsW (L"u \"ASP.NET_2.0.50727\"", 1): stub
err:rpc:I_RpcGetBuffer no binding
err:rpc:I_RpcGetBuffer no binding
err:rpc:I_RpcGetBuffer no binding
err:rpc:I_RpcGetBuffer no binding
err:rpc:I_RpcGetBuffer no binding
err:rpc:I_RpcGetBuffer no binding
err:rpc:I_RpcGetBuffer no binding
err:rpc:I_RpcGetBuffer no binding
fixme:thread:SetThreadStackGuarantee (0x33fc78): stub
fixme:shell:URL_ParseUrl failed to parse L"System.EnterpriseServices"
fixme:shell:URL_ParseUrl failed to parse L"System"
err:ole:CoGetClassObject class {ecabb0c8-7f19-11d2-978e-0000f8757e2a} not registered
err:ole:CoGetClassObject no class object {ecabb0c8-7f19-11d2-978e-0000f8757e2a} could be created for context 0x1
err:ole:CoGetClassObject class {6eb22881-8a19-11d0-81b6-00a0c9231c29} not registered
err:ole:create_server class {6eb22881-8a19-11d0-81b6-00a0c9231c29} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {6eb22881-8a19-11d0-81b6-00a0c9231c29} could be created for context 0x15
fixme:process:FlushProcessWriteBuffers : stub
err:ole:CoGetClassObject class {4e14fba2-2e22-11d1-9964-00c04fbbb345} not registered
err:ole:create_server class {4e14fba2-2e22-11d1-9964-00c04fbbb345} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {4e14fba2-2e22-11d1-9964-00c04fbbb345} could be created for context 0x15
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd88)

Lead to:




And then:
err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned 1603
err:rpc:I_RpcGetBuffer no binding
err:rpc:I_RpcGetBuffer no binding
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
err:ole:create_server class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {a9e69610-b80d-11d0-b9b9-00a0c922e750} could be created for context 0x17
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
err:ole:create_server class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {a9e69610-b80d-11d0-b9b9-00a0c922e750} could be created for context 0x17
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0x130dd80)
fixme:mscoree:GetRealProcAddress ("InitializeFusion", 0xfedd80)
fixme:thread:SetThreadStackGuarantee (0x33fc78): stub
fixme:shell:URL_ParseUrl failed to parse L"System.EnterpriseServices"
fixme:shell:URL_ParseUrl failed to parse L"System"
err:ole:CoGetClassObject class {ecabb0c8-7f19-11d2-978e-0000f8757e2a} not registered
err:ole:CoGetClassObject no class object {ecabb0c8-7f19-11d2-978e-0000f8757e2a} could be created for context 0x1
err:ole:CoGetClassObject class {6eb22881-8a19-11d0-81b6-00a0c9231c29} not registered
err:ole:create_server class {6eb22881-8a19-11d0-81b6-00a0c9231c29} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {6eb22881-8a19-11d0-81b6-00a0c9231c29} could be created for context 0x15
fixme:process:FlushProcessWriteBuffers : stub
err:rpc:I_RpcGetBuffer no binding
err:rpc:I_RpcGetBuffer no binding
fixme:imm:ImmDisableIME (-1): stub
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub
fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub
err:ole:CoUninitialize Mismatched CoUninitialize
err:ole:CoUninitialize Mismatched CoUninitialize
------------------------------------------------------
Note: command 'wine dotnetfx.exe' returned status 67.  Aborting.
------------------------------------------------------

Wednesday, June 27, 2012

wine-unstable on debian stable ?

I got stuck trying to backport wine-unstable on debian/stable today:

$ apt-get source wine-unstable
$ dpkg-buildpackage -rfakeroot -us -uc
dpkg-buildpackage: source package wine-unstable
dpkg-buildpackage: source version 1.5.0-1
dpkg-buildpackage: source changed by Michael Gilbert <mgilbert@debian.org>
dpkg-buildpackage: host architecture amd64
 dpkg-source --before-build wine-unstable-1.5.0
 fakeroot debian/rules clean
DEB_HOST_MULTIARCH is not a supported variable name at /usr/bin/dpkg-architecture line 226.
DEB_HOST_MULTIARCH is not a supported variable name at /usr/bin/dpkg-architecture line 226.
DEB_HOST_MULTIARCH is not a supported variable name at /usr/bin/dpkg-architecture line 226.
sed -e 's/\(wine[a-z0-9_-]*\)/\1-unstable/g' \
   -e 's/\(gecko[a-z0-9_-]*\)-unstable/\1/' \
   -e 's/wine-doc-unstable/wine-doc/g' debian/control.in > debian/control
touch control-stamp
dh_testdir
dh_testdir
rm -f install-arch64-stamp build-arch64-stamp configure-arch64-stamp
rm -f install-arch32-stamp build-arch32-stamp configure-arch32-stamp
rm -rf build64
rm -rf build32
dh_testdir
bash debian/clean-install.sh "-unstable"
rm -f install-arch-stamp build-indep-stamp configure-ia32-stamp control-stamp
rm -rf lib32 debian/libwine-unstable
dh_clean
# can't rm debian/control here because it'd break dpkg-buildpackage.
 dpkg-source -b wine-unstable-1.5.0
dpkg-source: warning: no source format specified in debian/source/format, see dpkg-source(1)
dpkg-source: info: using source format `1.0'
dpkg-source: info: building wine-unstable using existing wine-unstable_1.5.0.orig.tar.gz
dpkg-source: info: building wine-unstable in wine-unstable_1.5.0-1.diff.gz
dpkg-source: warning: the diff modifies the following upstream files:
 Make.vars.in
 dlls/Makedll.rules.in
 dlls/wineps.drv/Makefile.in
 dlls/winex11.drv/xfont.c
 libs/wine/Makefile.in
 loader/wine.man.in
 tools/Makefile.in
 tools/winedump/Makefile.in
 tools/winedump/search.c
dpkg-source: info: use the '3.0 (quilt)' format to have separate and documented changes to upstream files, see dpkg-source(1)
dpkg-source: info: building wine-unstable in wine-unstable_1.5.0-1.dsc
 debian/rules build
DEB_HOST_MULTIARCH is not a supported variable name at /usr/bin/dpkg-architecture line 226.
DEB_HOST_MULTIARCH is not a supported variable name at /usr/bin/dpkg-architecture line 226.
DEB_HOST_MULTIARCH is not a supported variable name at /usr/bin/dpkg-architecture line 226.
sed -e 's/\(wine[a-z0-9_-]*\)/\1-unstable/g' \
   -e 's/\(gecko[a-z0-9_-]*\)-unstable/\1/' \
   -e 's/wine-doc-unstable/wine-doc/g' debian/control.in > debian/control
touch control-stamp
dh_testdir
touch build-indep-stamp
 fakeroot debian/rules binary
DEB_HOST_MULTIARCH is not a supported variable name at /usr/bin/dpkg-architecture line 226.
DEB_HOST_MULTIARCH is not a supported variable name at /usr/bin/dpkg-architecture line 226.
DEB_HOST_MULTIARCH is not a supported variable name at /usr/bin/dpkg-architecture line 226.
# Create transitional packages
dh_testdir
dh_testdir
dh_testroot
dh_testroot
dh_installdirs -i
# create installation directories
dh_installdirs -s
dh_installdirs: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_testdir
bash debian/doclink.sh libwine-unstable
dh_installdocs -plibwine-unstable
dh_testroot
dh_installdocs -i
dh_installchangelogs -plibwine-unstable
dh_installdocs: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_installchangelogs -i
dh_installchangelogs: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_compress -i
dh_compress: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_fixperms -i
dh_fixperms: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_installdeb -i
dh_installdeb: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_gencontrol -i
dh_gencontrol: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_md5sums -i
dh_compress -s
dh_md5sums: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_builddeb -i
dh_builddeb: You asked that all arch in(dep) packages be built, but there are none of that type.
dh_fixperms -s
dh_installdeb -s
dh_gencontrol -s
dh_md5sums -s
dh_builddeb -s
dpkg-deb: warning: 'debian/wine-unstable/DEBIAN/control' contains user-defined field 'Multi-Arch'
dpkg-deb: building package `wine-unstable' in `../wine-unstable_1.5.0-1_amd64.deb'.
dpkg-deb: warning: ignoring 1 warning about the control file(s)

 dpkg-genchanges  >../wine-unstable_1.5.0-1_amd64.changes
dpkg-genchanges: including full source code in upload
 dpkg-source --after-build wine-unstable-1.5.0
dpkg-buildpackage: full upload (original source is included)

solution:

$ dget -u http://dev.carbon-project.org/debian/wine-unstable/wine-unstable_1.5.5-0.1.dsc   

And then simply fix gcc-4.5 -> gcc-4.5 if building on amd64 :)

wine toolchain on debian

I have always wanted to get the whole wine toolchain working for building gdcm directly from my linux box (how awsome is that!). It seems the binaries produced are working from the build machine but not outside.

ref:
http://www.winehq.org/pipermail/wine-users/2012-June/106933.html

Even following recommendations from:



I still cannot get it working...

Monday, June 18, 2012

Dur dur d'ajouter une redirection de port sur freebox v4

En essayant la nouvelle interface, je me rends compte qu'on ne peux plus ajouter une nouvelle redirection de port:
 
Ca entraine:
   
Seule solution connue en attendant une réponse éventuelle du webmaster: utiliser une existante et cliquer sur mettre à jour...

Monday, June 4, 2012

Wednesday, May 23, 2012

E: Method rred has died unexpectedly!

I was stuck with the following message:

$ sudo pbuilder --update
...

Get:10 http://ftp.fr.debian.org sid/main 2012-05-19-0215.05.pdiff [2934 B]
E: Method rred has died unexpectedly!
E: Sub-process rred received a segmentation fault.

Easy work around:
$ sudo pbuilder login --save-after-login
# echo "Acquire::Pdiffs { "false"; };" > /etc/apt/apt.conf.d/nopdiff
that's all !

Wednesday, May 2, 2012

Pushing large git rep

I was getting an endless git issue:


$ git push origin master
Counting objects: 189, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (179/179), done.
Write failed: Broken pipe/189), 2.93 MiB | 19 KiB/s  
fatal: The remote end hung up unexpectedly
error: pack-objects died of signal 13
error: failed to push some refs to 'ssh://malat@jpeg.git.sourceforge.net/gitroot/jpeg/J2KP4files'

So I had to split this large commit into smaller ones and then do:

$ git rev-list --reverse master | xargs -I{} git push origin {}:refs/heads/master
Counting objects: 18, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (17/17), done.
Writing objects: 100% (18/18), 12.67 MiB | 6 KiB/s, done.
Total 18 (delta 1), reused 0 (delta 0)
To ssh://malat@jpeg.git.sourceforge.net/gitroot/jpeg/J2KP4files
 * [new branch]      f9c67eb084015bcfac5c05d807b22cefbecb2008 -> master
[...]
Counting objects: 5, done.Delta compression using up to 8 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 1.64 KiB, done.
Total 4 (delta 1), reused 0 (delta 0)
To ssh://malat@jpeg.git.sourceforge.net/gitroot/jpeg/J2KP4files
   61b0752..b87df01  b87df014adaacd7a2286ee9b4471b4c10a77f091 -> master

woohoo !

Wednesday, April 25, 2012

Set From: in mail headers

I could not figure out how one could change the From: in the mail header until some good soul pointed out the following trick

$ mail -a 'From: "My Name" <me@example.org>' da

ref: http://lists.debian.org/debian-user/2012/04/msg00993.html

Saturday, March 17, 2012

GDCM accepted as GSoC mentoring organization !

I have the immense pleasure to tell you that GDCM has been accepted as one of the organizations participating in GSoC 2012:

http://www.google-melange.com/gsoc/program/accepted_orgs/google/gsoc2012


This is a fantastic piece of news and a great followup after GSoC 2011. The new idea page is at:

http://sourceforge.net/apps/mediawiki/gdcm/index.php?title=GDCM_Summer_of_Code_2012

Tuesday, February 28, 2012

Converting to A4 PDF

I had to resize some PDF file from an odd size to A4. I finally found out the right script:
convert -density 300 input.pdf input.ps
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=a4 -sOutputFile=output.pdf input.ps

Sunday, February 26, 2012

Nature article on open computer programs


"Our view is that we have reached the point that, with some exceptions, anything less than release of actual source code is an indefensible approach for any scientific results that depend on computation, because not releasing such code raises needless, and needlessly confusing, roadblocks to reproducibility."


Ref:
http://www.nature.com/nature/journal/v482/n7386/full/nature10836.html

Time zone database suit withdrawn

It's a fundamental principle of copyright law that facts are not
copyrightable, and Astrolabe should have known that,"



ref: https://www.eff.org/press/releases/eff-wins-protection-time-zone-database

Wednesday, February 1, 2012

Thursday, January 26, 2012

Friday, January 20, 2012

Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.

Thanks to Mark Longair, I was able to make some progress on ITP #623244. However upon inspection I found the following license found within the source code:
/* * TreeTableModel.java * * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved. * * This software is the confidential and proprietary information of Sun * Microsystems, Inc. ("Confidential Information"). You shall not * disclose such Confidential Information and shall use it only in * accordance with the terms of the license agreement you entered into * with Sun. * * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING * THIS SOFTWARE OR ITS DERIVATIVES. * */
Ref: * http://www.unidata.ucar.edu/mailing_lists/archives/netcdf-java/2012/msg00002.html I need to clear this before moving ahead. * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641447

Saturday, January 7, 2012

Tuesday, January 3, 2012

Optimus technology

After ditching my toshiba laptop I decided to switch to a DELL laptop. Tough luck, this comes with one of those hybrid cards "Optimus technology".

As per instructions:
- http://linux-hybrid-graphics.blogspot.com/
I filled mine:
- https://bugs.launchpad.net/lpbugreporter/+bug/752542/comments/451
now let's try to get bumblebee to compile on my debian box:
- https://github.com/Bumblebee-Project/
Reference:
-http://nouveau.freedesktop.org/wiki/Optimus